2018-03-24 13:45:10

by Fabio Estevam

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

From: Fabio Estevam <[email protected]>

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


2018-03-24 13:45:13

by Fabio Estevam

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

From: Fabio Estevam <[email protected]>

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

2018-04-23 11:50:05

by Fabio Estevam

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

Hi Samuel,

Maybe this patch series got forgotten?



On Sat, Mar 24, 2018 at 10:44 AM, Fabio Estevam <[email protected]> wrote:
> From: Fabio Estevam <[email protected]>
>
> 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 <[email protected]>
> ---
> 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
>

2018-06-04 04:26:25

by Samuel Ortiz

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

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.