From: "Toke Høiland-Jørgensen" <toke@toke.dk>
To: Arend van Spriel <arend.vanspriel@broadcom.com>,
linux-wireless@vger.kernel.org
Cc: Ben Greear <greearb@candelatech.com>
Subject: Re: [PATCH] mac80211: Run TXQ teardown code before de-registering interfaces
Date: Mon, 13 Aug 2018 20:41:27 +0200 [thread overview]
Message-ID: <87tvnycdns.fsf@toke.dk> (raw)
In-Reply-To: <5B71CD33.7020700@broadcom.com>
Arend van Spriel <arend.vanspriel@broadcom.com> writes:
> On 8/13/2018 2:16 PM, Toke H=C3=B8iland-J=C3=B8rgensen wrote:
>> The TXQ teardown code can reference the vif data structures that are
>> stored in the netdev private memory area if there are still packets on
>> the queue when it is being freed. Since the TXQ teardown code is run
>> after the netdevs are freed, this can lead to a use-after-free. Fix this
>> by moving the TXQ teardown code to earlier in ieee80211_unregister_hw().
>
> Just off the bat, but from reading the above I am wondering whether
> the use-after-free could also happen upon removing an interface?
Hmm, there doesn't appear to be *any* teardown of TXQs when an interface
is removed...? So I guess that if an interface is removed while it still
has frames on the multicast TXQ, that those packets would be left
hanging there? I don't think there would be an explicit use-after-free,
because they will never get dequeued, so they would just constitute a
memory leak?
Am I missing some automatic mechanism that always empties out queues
before an interface is brought down?
-Toke
prev parent reply other threads:[~2018-08-13 21:24 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-08-13 12:16 [PATCH] mac80211: Run TXQ teardown code before de-registering interfaces Toke Høiland-Jørgensen
2018-08-13 18:25 ` Arend van Spriel
2018-08-13 18:31 ` Ben Greear
2018-08-13 18:41 ` Toke Høiland-Jørgensen [this message]
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=87tvnycdns.fsf@toke.dk \
--to=toke@toke.dk \
--cc=arend.vanspriel@broadcom.com \
--cc=greearb@candelatech.com \
--cc=linux-wireless@vger.kernel.org \
/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.