All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alexander Aring <alex.aring@gmail.com>
To: Miquel Raynal <miquel.raynal@bootlin.com>
Cc: Stefan Schmidt <stefan@datenfreihafen.org>,
	linux-wpan - ML <linux-wpan@vger.kernel.org>,
	"David S. Miller" <davem@davemloft.net>,
	Jakub Kicinski <kuba@kernel.org>,
	"open list:NETWORKING [GENERAL]" <netdev@vger.kernel.org>,
	Xue Liu <liuxuenetmail@gmail.com>,
	Marcel Holtmann <marcel@holtmann.org>,
	Harry Morris <harrymorris12@gmail.com>,
	David Girault <david.girault@qorvo.com>,
	Romuald Despres <romuald.despres@qorvo.com>,
	Frederic Blain <frederic.blain@qorvo.com>,
	Nicolas Schodet <nico@ni.fr.eu.org>,
	Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Subject: Re: [wpan-next v2 4/9] net: ieee802154: at86rf230: Stop leaking skb's
Date: Sun, 23 Jan 2022 18:14:12 -0500	[thread overview]
Message-ID: <CAB_54W6GLqY69D=kmjiGCaVHh1+vjKp8OtdS77Nu-bZRqELjNw@mail.gmail.com> (raw)
In-Reply-To: <CAB_54W4qLJQhPYY1h-88VK7n554SdtY9CLF3U5HLR6QS4i4tNA@mail.gmail.com>

Hi,

On Sun, 23 Jan 2022 at 17:41, Alexander Aring <alex.aring@gmail.com> wrote:
>
> Hi,
>
> On Sun, 23 Jan 2022 at 15:43, Alexander Aring <alex.aring@gmail.com> wrote:
> >
> > Hi,
> >
> > On Thu, 20 Jan 2022 at 06:21, Miquel Raynal <miquel.raynal@bootlin.com> wrote:
> > >
> > > Upon error the ieee802154_xmit_complete() helper is not called. Only
> > > ieee802154_wake_queue() is called manually. We then leak the skb
> > > structure.
> > >
> > > Free the skb structure upon error before returning.
> > >
> > > There is no Fixes tag applying here, many changes have been made on this
> > > area and the issue kind of always existed.
> > >
> > > Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
> > > ---
> > >  drivers/net/ieee802154/at86rf230.c | 1 +
> > >  1 file changed, 1 insertion(+)
> > >
> > > diff --git a/drivers/net/ieee802154/at86rf230.c b/drivers/net/ieee802154/at86rf230.c
> > > index 7d67f41387f5..0746150f78cf 100644
> > > --- a/drivers/net/ieee802154/at86rf230.c
> > > +++ b/drivers/net/ieee802154/at86rf230.c
> > > @@ -344,6 +344,7 @@ at86rf230_async_error_recover_complete(void *context)
> > >                 kfree(ctx);
> > >
> > >         ieee802154_wake_queue(lp->hw);
> > > +       dev_kfree_skb_any(lp->tx_skb);
> >
> > as I said in other mails there is more broken, we need a:
> >
> > if (lp->is_tx) {
> >         ieee802154_wake_queue(lp->hw);
> >         dev_kfree_skb_any(lp->tx_skb);
> >         lp->is_tx = 0;
> > }
> >
> > in at86rf230_async_error_recover().
> >
> s/at86rf230_async_error_recover/at86rf230_async_error_recover_complete/
>
> move the is_tx = 0 out of at86rf230_async_error_recover().

Sorry, still seeing an issue here.

We cannot move is_tx = 0 out of at86rf230_async_error_recover()
because switching to RX_AACK_ON races with a new interrupt and is_tx
is not correct anymore. We need something new like "was_tx" to
remember that it was a tx case for the error handling in
at86rf230_async_error_recover_complete().

- Alex

  reply	other threads:[~2022-01-23 23:14 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-20 11:21 [wpan-next v2 0/9] ieee802154: A bunch of fixes Miquel Raynal
2022-01-20 11:21 ` [wpan-next v2 1/9] net: ieee802154: hwsim: Ensure proper channel selection at probe time Miquel Raynal
2022-01-23  7:29   ` [net] 98ccce2328: WARNING:suspicious_RCU_usage kernel test robot
2022-01-23  7:29     ` kernel test robot
2022-01-23 20:34   ` [wpan-next v2 1/9] net: ieee802154: hwsim: Ensure proper channel selection at probe time Alexander Aring
2022-01-25 10:40     ` Miquel Raynal
2022-01-20 11:21 ` [wpan-next v2 2/9] net: ieee802154: hwsim: Ensure frame checksum are valid Miquel Raynal
2022-01-20 11:21 ` [wpan-next v2 3/9] net: ieee802154: mcr20a: Fix lifs/sifs periods Miquel Raynal
2022-01-21 16:01   ` Stefan Schmidt
2022-01-20 11:21 ` [wpan-next v2 4/9] net: ieee802154: at86rf230: Stop leaking skb's Miquel Raynal
2022-01-23 20:43   ` Alexander Aring
2022-01-23 20:59     ` Alexander Aring
2022-01-23 22:41     ` Alexander Aring
2022-01-23 23:14       ` Alexander Aring [this message]
2022-01-25 10:58         ` Miquel Raynal
2022-01-20 11:21 ` [wpan-next v2 5/9] net: ieee802154: ca8210: " Miquel Raynal
2022-01-23 21:00   ` Alexander Aring
2022-01-20 11:21 ` [wpan-next v2 6/9] net: ieee802154: Use the IEEE802154_MAX_PAGE define when relevant Miquel Raynal
2022-01-21 16:00   ` Stefan Schmidt
2022-01-23 20:44   ` Alexander Aring
2022-01-24  8:06     ` Stefan Schmidt
2022-01-25 11:10       ` Miquel Raynal
2022-01-20 11:21 ` [wpan-next v2 7/9] net: ieee802154: Return meaningful error codes from the netlink helpers Miquel Raynal
2022-01-20 11:21 ` [wpan-next v2 8/9] net: mac802154: Explain the use of ieee802154_wake/stop_queue() Miquel Raynal
2022-01-23 20:56   ` Alexander Aring
2022-01-25 11:32     ` Miquel Raynal
2022-01-20 11:21 ` [wpan-next v2 9/9] MAINTAINERS: Remove Harry Morris bouncing address Miquel Raynal
2022-01-20 22:52 ` [wpan-next v2 0/9] ieee802154: A bunch of fixes Alexander Aring
2022-01-20 23:07   ` Alexander Aring
2022-01-21  8:27   ` Miquel Raynal
2022-01-21 12:48     ` Stefan Schmidt
2022-01-25  9:51       ` Miquel Raynal
2022-01-21 16:09 ` Stefan Schmidt

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAB_54W6GLqY69D=kmjiGCaVHh1+vjKp8OtdS77Nu-bZRqELjNw@mail.gmail.com' \
    --to=alex.aring@gmail.com \
    --cc=davem@davemloft.net \
    --cc=david.girault@qorvo.com \
    --cc=frederic.blain@qorvo.com \
    --cc=harrymorris12@gmail.com \
    --cc=kuba@kernel.org \
    --cc=linux-wpan@vger.kernel.org \
    --cc=liuxuenetmail@gmail.com \
    --cc=marcel@holtmann.org \
    --cc=miquel.raynal@bootlin.com \
    --cc=netdev@vger.kernel.org \
    --cc=nico@ni.fr.eu.org \
    --cc=romuald.despres@qorvo.com \
    --cc=stefan@datenfreihafen.org \
    --cc=thomas.petazzoni@bootlin.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.