diff mbox

[RFC] NFC: st21nfcb: Avoid use of skb after free

Message ID 1421317857-1713-1-git-send-email-anda-maria.nicolae@intel.com (mailing list archive)
State Not Applicable
Headers show

Commit Message

Anda-Maria Nicolae Jan. 15, 2015, 10:30 a.m. UTC
Do not insert in send queue the skb that contains unknown Packet Control Byte

Signed-off-by: Anda-Maria Nicolae <anda-maria.nicolae@intel.com>
---
Only compile tested, please have a look

 drivers/nfc/st21nfcb/ndlc.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Christophe Ricard Jan. 15, 2015, 9:33 p.m. UTC | #1
Hi Anda-Maria,

I agree with your fix. I have built and tested it successfully.
I will include it in a new patch series with a:
Acked-by: Christophe Ricard <christophe-h.ricard@st.com>

Thanks a lot.
Christophe
On 15/01/2015 11:30, Anda-Maria Nicolae wrote:
> Do not insert in send queue the skb that contains unknown Packet Control Byte
>
> Signed-off-by: Anda-Maria Nicolae <anda-maria.nicolae@intel.com>
> ---
> Only compile tested, please have a look
>
>   drivers/nfc/st21nfcb/ndlc.c |    2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/nfc/st21nfcb/ndlc.c b/drivers/nfc/st21nfcb/ndlc.c
> index bac50e8..72659a3 100644
> --- a/drivers/nfc/st21nfcb/ndlc.c
> +++ b/drivers/nfc/st21nfcb/ndlc.c
> @@ -138,7 +138,7 @@ static void llt_ndlc_requeue_data_pending(struct llt_ndlc *ndlc)
>   		default:
>   			pr_err("UNKNOWN Packet Control Byte=%d\n", pcb);
>   			kfree_skb(skb);
> -			break;
> +			continue;
>   		}
>   		skb_queue_head(&ndlc->send_q, skb);
>   	}

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/nfc/st21nfcb/ndlc.c b/drivers/nfc/st21nfcb/ndlc.c
index bac50e8..72659a3 100644
--- a/drivers/nfc/st21nfcb/ndlc.c
+++ b/drivers/nfc/st21nfcb/ndlc.c
@@ -138,7 +138,7 @@  static void llt_ndlc_requeue_data_pending(struct llt_ndlc *ndlc)
 		default:
 			pr_err("UNKNOWN Packet Control Byte=%d\n", pcb);
 			kfree_skb(skb);
-			break;
+			continue;
 		}
 		skb_queue_head(&ndlc->send_q, skb);
 	}