lkml.org 
[lkml]   [2024]   [May]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH net v4] nfc: nci: Fix uninit-value in nci_rx_work
On Sat, 11 May 2024 20:02:28 +0900 Ryosuke Yasuoka wrote:
> Sorry I don't get it. Do you mean I just insert
> BUILD_BUG_ON(NCI_CTRL_HDR_SIZE != NCI_DATA_HDR_SIZE) or insert this and
> clean up the code duplication like this? (It is just a draft. I just
> share what I mean.) I can avoid to call nci_valid_size() repeatedly
> inside the switch statement.
>
> static void nci_rx_work(struct work_struct *work)
> {
> ...
> if (!skb->len) {
> kfree_skb(skb);
> kcov_remote_stop();
> break;
> }
>
> BUILD_BUG_ON(NCI_CTRL_HDR_SIZE != NCI_DATA_HDR_SIZE);
> unsigned int hdr_size = NCI_CTRL_HDR_SIZE;
>
> if (!nci_valid_size(skb, hdr_size)) {
> kfree_skb(skb);
> continue;
> }
>
> /* Process frame */
> switch (nci_mt(skb->data)) {
> case NCI_MT_RSP_PKT:
> nci_rsp_packet(ndev, skb);
> break;
>
> case NCI_MT_NTF_PKT:
> nci_ntf_packet(ndev, skb);
> break;

Yes, that's what I meant. I'd probably merge the nci_valid_size()
check with the !skb->len check, too.

\
 
 \ /
  Last update: 2024-05-27 18:25    [W:0.067 / U:0.032 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site