NFC: fix device-allocation error return
authorJohan Hovold <johan@kernel.org>
Sun, 9 Jul 2017 11:08:58 +0000 (13:08 +0200)
committerSamuel Ortiz <sameo@linux.intel.com>
Sun, 5 Nov 2017 23:53:39 +0000 (00:53 +0100)
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")
Cc: stable <stable@vger.kernel.org> # 3.8
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>
net/nfc/core.c

index e5e23c2cbe74417359ca20d56c4d8289df25caa8..2c7c9b357e7004c77028d6fc6758c5e1dce9649b 100644 (file)
@@ -1105,7 +1105,7 @@ struct nfc_dev *nfc_allocate_device(struct nfc_ops *ops,
 err_free_dev:
        kfree(dev);
 
-       return ERR_PTR(rc);
+       return NULL;
 }
 EXPORT_SYMBOL(nfc_allocate_device);