Skip to contentSkip to conversation

NFC: fix device-allocation error return

PATCH Applied Johan Hovold 2 participants 4 messages Jul 9, 2017 – Nov 5, 2017

Subsystems (4)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 NFC: fix device-allocation error return

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 <[email protected]> # 3.8
---
 net/nfc/core.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
net/nfc/core.c +1 -1
index 5cf33df888c3..c699d64a0753 100644
@@ -1106,7 +1106,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);
 
Signature · 1 line
2.13.2
#1 lore raw
Quoted 8 lines · Johan Hovold

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.

Quoted 7 lines

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 <[email protected]> # 3.8

Samuel or David,

Could you apply this follow-up fix so that it can be backported along with the offending commit (which was just added to the stable queues)?

We would only hit this error path if an ida allocation fails due to OOM; so while this is not critical, it would still be nice to get it fixed.

Thanks,
Johan

#2 lore raw

Samuel or David,

Quoted 17 lines · Johan Hovold
Quoted 8 lines · Johan Hovold

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.

Quoted 7 lines

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 <[email protected]> # 3.8
Quoted 5 lines

Could you apply this follow-up fix so that it can be backported along with the offending commit (which was just added to the stable queues)?

We would only hit this error path if an ida allocation fails due to OOM; so while this is not critical, it would still be nice to get it fixed.

Another reminder about this one; can you apply it so we can get it into 4.14-rc1?

Note that the offending commit has now been backported to the stable trees and we really want this trivial follow-up fix to be backported as well.

Let me know if you want me to resend the patch.

Thanks,
Johan

Applied
#3 lore raw
In reply to Johan Hovold

Hi Johan,

Quoted 11 lines · Johan Hovold

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.

Quoted 7 lines
Fixes 20777bc57c34 ("NFC: fix broken device allocation")
Cc stable <[email protected]> # 3.8
---
 net/nfc/core.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Applied, thanks for the fix.

Cheers,
Samuel.