[PATCH 1/2] nfc: st21nfca: Check for devm_kzalloc() failure

Subsystems: nfc subsystem, the rest

STALE2991d

4 messages, 2 authors, 2018-06-04 · open the first message on its own page

[PATCH 1/2] nfc: st21nfca: Check for devm_kzalloc() failure

From: Fabio Estevam <festevam@gmail.com>
Date: 2018-03-24 13:45:10

From: Fabio Estevam <redacted>

devm_kzalloc() may fail, so we should better check for error and
propagate the error in the case of allocation failure.

This avoids a potential NULL pointer dereference later on.

Signed-off-by: Fabio Estevam <redacted>
---
 drivers/nfc/st21nfca/se.c | 2 ++
 1 file changed, 2 insertions(+)
diff --git a/drivers/nfc/st21nfca/se.c b/drivers/nfc/st21nfca/se.c
index 4bed9e84..fd967a3 100644
--- a/drivers/nfc/st21nfca/se.c
+++ b/drivers/nfc/st21nfca/se.c
@@ -328,6 +328,8 @@ int st21nfca_connectivity_event_received(struct nfc_hci_dev *hdev, u8 host,
 
 		transaction = (struct nfc_evt_transaction *)devm_kzalloc(dev,
 						   skb->len - 2, GFP_KERNEL);
+		if (!transaction)
+			return -ENOMEM;
 
 		transaction->aid_len = skb->data[1];
 		memcpy(transaction->aid, &skb->data[2],
-- 
2.7.4

[PATCH 2/2] nfc: st21nfca: Remove unnecessary devm_kzalloc() cast

From: Fabio Estevam <festevam@gmail.com>
Date: 2018-03-24 13:45:13

From: Fabio Estevam <redacted>

There is no need to use cast for the returned value
from memory allocation functions, so remove the unnecessary cast.

Detected via Coccinelle script:
scripts/coccinelle/api/alloc/alloc_cast.cocci.

Signed-off-by: Fabio Estevam <redacted>
---
 drivers/nfc/st21nfca/se.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/nfc/st21nfca/se.c b/drivers/nfc/st21nfca/se.c
index fd967a3..5b63549 100644
--- a/drivers/nfc/st21nfca/se.c
+++ b/drivers/nfc/st21nfca/se.c
@@ -326,8 +326,7 @@ int st21nfca_connectivity_event_received(struct nfc_hci_dev *hdev, u8 host,
 		    skb->data[0] != NFC_EVT_TRANSACTION_AID_TAG)
 			return -EPROTO;
 
-		transaction = (struct nfc_evt_transaction *)devm_kzalloc(dev,
-						   skb->len - 2, GFP_KERNEL);
+		transaction = devm_kzalloc(dev, skb->len - 2, GFP_KERNEL);
 		if (!transaction)
 			return -ENOMEM;
 
-- 
2.7.4

Re: [PATCH 1/2] nfc: st21nfca: Check for devm_kzalloc() failure

From: Fabio Estevam <festevam@gmail.com>
Date: 2018-04-23 11:50:05

Hi Samuel,

Maybe this patch series got forgotten?



On Sat, Mar 24, 2018 at 10:44 AM, Fabio Estevam [off-list ref] wrote:
quoted hunk
From: Fabio Estevam <redacted>

devm_kzalloc() may fail, so we should better check for error and
propagate the error in the case of allocation failure.

This avoids a potential NULL pointer dereference later on.

Signed-off-by: Fabio Estevam <redacted>
---
 drivers/nfc/st21nfca/se.c | 2 ++
 1 file changed, 2 insertions(+)
diff --git a/drivers/nfc/st21nfca/se.c b/drivers/nfc/st21nfca/se.c
index 4bed9e84..fd967a3 100644
--- a/drivers/nfc/st21nfca/se.c
+++ b/drivers/nfc/st21nfca/se.c
@@ -328,6 +328,8 @@ int st21nfca_connectivity_event_received(struct nfc_hci_dev *hdev, u8 host,

                transaction = (struct nfc_evt_transaction *)devm_kzalloc(dev,
                                                   skb->len - 2, GFP_KERNEL);
+               if (!transaction)
+                       return -ENOMEM;

                transaction->aid_len = skb->data[1];
                memcpy(transaction->aid, &skb->data[2],
--
2.7.4

Re: [PATCH 1/2] nfc: st21nfca: Check for devm_kzalloc() failure

From: Samuel Ortiz <hidden>
Date: 2018-06-04 04:26:25

Hi Fabio,

On Mon, Apr 23, 2018 at 08:50:04AM -0300, Fabio Estevam wrote:
Hi Samuel,

Maybe this patch series got forgotten?
Both patches applied to nfc-next, sorry for the lag.

Cheers,
Samuel.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help