| From c45e3e4c5b134b081e8af362109905427967eb19 Mon Sep 17 00:00:00 2001 |
| From: Johan Hovold <johan@kernel.org> |
| Date: Sun, 9 Jul 2017 13:08:58 +0200 |
| Subject: NFC: fix device-allocation error return |
| |
| From: Johan Hovold <johan@kernel.org> |
| |
| commit c45e3e4c5b134b081e8af362109905427967eb19 upstream. |
| |
| A recent change fixing NFC device allocation itself introduced an |
| error-handling bug by returning an error pointer in case device-id |
| allocation failed. This is clearly broken as the callers still expected |
| NULL to be returned on errors as detected by Dan's static checker. |
| |
| Fix this up by returning NULL in the event that we've run out of memory |
| when allocating a new device id. |
| |
| Note that the offending commit is marked for stable (3.8) so this fix |
| needs to be backported along with it. |
| |
| Fixes: 20777bc57c34 ("NFC: fix broken device allocation") |
| Reported-by: Dan Carpenter <dan.carpenter@oracle.com> |
| Signed-off-by: Johan Hovold <johan@kernel.org> |
| Signed-off-by: Samuel Ortiz <sameo@linux.intel.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| net/nfc/core.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/net/nfc/core.c |
| +++ b/net/nfc/core.c |
| @@ -1074,7 +1074,7 @@ struct nfc_dev *nfc_allocate_device(stru |
| err_free_dev: |
| kfree(dev); |
| |
| - return ERR_PTR(rc); |
| + return NULL; |
| } |
| EXPORT_SYMBOL(nfc_allocate_device); |
| |