Message ID | 20200103045016.12459-1-wgong@codeaurora.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v2] net: qrtr: fix len of skb_put_padto in qrtr_node_enqueue | expand |
From: Wen Gong <wgong@codeaurora.org> Date: Fri, 3 Jan 2020 12:50:16 +0800 > The len used for skb_put_padto is wrong, it need to add len of hdr. Thanks, applied. There is another bug here, skb_put_padto() returns an error and frees the SKB when the put fails. There really needs to be a check here, because currently the code right now will keep using the freed up skb in that situation. Thanks.
On 2020-01-06 06:47, David Miller wrote: > From: Wen Gong <wgong@codeaurora.org> > Date: Fri, 3 Jan 2020 12:50:16 +0800 > >> The len used for skb_put_padto is wrong, it need to add len of hdr. > > Thanks, applied. > > There is another bug here, skb_put_padto() returns an error and frees > the SKB when the put fails. There really needs to be a check here, > because currently the code right now will keep using the freed up > skb in that situation. > Thanks David. Yes, __skb_put_padto will return -ENOMEM if __skb_pad fail. I think it can return the same error immediately and do not do the next steps in qrtr_node_enqueue. > Thanks.
Hi, On Sun, Jan 5, 2020 at 2:47 PM David Miller <davem@davemloft.net> wrote: > > From: Wen Gong <wgong@codeaurora.org> > Date: Fri, 3 Jan 2020 12:50:16 +0800 > > > The len used for skb_put_padto is wrong, it need to add len of hdr. > > Thanks, applied. I noticed this patch is in mainline now as: ce57785bf91b net: qrtr: fix len of skb_put_padto in qrtr_node_enqueue Though I'm not an expert on the code, it feels like a stable candidate unless someone objects. -Doug
From: Doug Anderson <dianders@chromium.org> Date: Tue, 25 Feb 2020 14:52:24 -0800 > I noticed this patch is in mainline now as: > > ce57785bf91b net: qrtr: fix len of skb_put_padto in qrtr_node_enqueue > > Though I'm not an expert on the code, it feels like a stable candidate > unless someone objects. Ok, queued up, thanks.
On Tue, Feb 25, 2020 at 02:52:24PM -0800, Doug Anderson wrote: > Hi, > > > On Sun, Jan 5, 2020 at 2:47 PM David Miller <davem@davemloft.net> wrote: > > > > From: Wen Gong <wgong@codeaurora.org> > > Date: Fri, 3 Jan 2020 12:50:16 +0800 > > > > > The len used for skb_put_padto is wrong, it need to add len of hdr. > > > > Thanks, applied. > > I noticed this patch is in mainline now as: > > ce57785bf91b net: qrtr: fix len of skb_put_padto in qrtr_node_enqueue > > Though I'm not an expert on the code, it feels like a stable candidate > unless someone objects. Stable candidate for what tree(s)? thanks, greg k-h
Hi, On Tue, Mar 17, 2020 at 3:26 AM Greg KH <greg@kroah.com> wrote: > > On Tue, Feb 25, 2020 at 02:52:24PM -0800, Doug Anderson wrote: > > Hi, > > > > > > On Sun, Jan 5, 2020 at 2:47 PM David Miller <davem@davemloft.net> wrote: > > > > > > From: Wen Gong <wgong@codeaurora.org> > > > Date: Fri, 3 Jan 2020 12:50:16 +0800 > > > > > > > The len used for skb_put_padto is wrong, it need to add len of hdr. > > > > > > Thanks, applied. > > > > I noticed this patch is in mainline now as: > > > > ce57785bf91b net: qrtr: fix len of skb_put_padto in qrtr_node_enqueue > > > > Though I'm not an expert on the code, it feels like a stable candidate > > unless someone objects. > > Stable candidate for what tree(s)? I noticed that it was lacking and applied cleanly on 5.4. As of 5.4.25 it's still not stable there. I only noticed it because I was comparing all the patches in mainline in "net/qrtr" with what we had in our tree and stumbled upon this one. Looking at it a little more carefully, I guess you could say: Fixes: e7044482c8ac ("net: qrtr: Pass source and destination to enqueue functions") ...though it will be trickier to apply past commit 194ccc88297a ("net: qrtr: Support decoding incoming v2 packets") just because the math changed. -Doug
On Tue, Mar 17, 2020 at 08:45:09AM -0700, Doug Anderson wrote: > Hi, > > On Tue, Mar 17, 2020 at 3:26 AM Greg KH <greg@kroah.com> wrote: > > > > On Tue, Feb 25, 2020 at 02:52:24PM -0800, Doug Anderson wrote: > > > Hi, > > > > > > > > > On Sun, Jan 5, 2020 at 2:47 PM David Miller <davem@davemloft.net> wrote: > > > > > > > > From: Wen Gong <wgong@codeaurora.org> > > > > Date: Fri, 3 Jan 2020 12:50:16 +0800 > > > > > > > > > The len used for skb_put_padto is wrong, it need to add len of hdr. > > > > > > > > Thanks, applied. > > > > > > I noticed this patch is in mainline now as: > > > > > > ce57785bf91b net: qrtr: fix len of skb_put_padto in qrtr_node_enqueue > > > > > > Though I'm not an expert on the code, it feels like a stable candidate > > > unless someone objects. > > > > Stable candidate for what tree(s)? > > I noticed that it was lacking and applied cleanly on 5.4. As of > 5.4.25 it's still not stable there. I only noticed it because I was > comparing all the patches in mainline in "net/qrtr" with what we had > in our tree and stumbled upon this one. > > Looking at it a little more carefully, I guess you could say: > > Fixes: e7044482c8ac ("net: qrtr: Pass source and destination to > enqueue functions") > > ...though it will be trickier to apply past commit 194ccc88297a ("net: > qrtr: Support decoding incoming v2 packets") just because the math > changed. Given that both of those commits showed up in 4.15, it doesn't matter much :) I've queued this up for 5.4.y and 4.19.y now, thanks. greg k-h
diff --git a/net/qrtr/qrtr.c b/net/qrtr/qrtr.c index 88f98f27ad88..3d24d45be5f4 100644 --- a/net/qrtr/qrtr.c +++ b/net/qrtr/qrtr.c @@ -196,7 +196,7 @@ static int qrtr_node_enqueue(struct qrtr_node *node, struct sk_buff *skb, hdr->size = cpu_to_le32(len); hdr->confirm_rx = 0; - skb_put_padto(skb, ALIGN(len, 4)); + skb_put_padto(skb, ALIGN(len, 4) + sizeof(*hdr)); mutex_lock(&node->ep_lock); if (node->ep)