Re: [PATCH net v2 00/21] net: avoid to remove module when its debugfs is being used

From
Johannes Berg <johannes@sipsolutions.net>
Date
2020-11-10 08:33:13
Also in
ath11k, linux-bluetooth, linux-wireless
Reply to
Jakub Kicinski, 2020-11-07
On Sat, 2020-11-07 at 11:05 -0800, Jakub Kicinski wrote:
On Sat,  7 Nov 2020 17:21:31 +0000 Taehee Yoo wrote:
quoted
When debugfs file is opened, its module should not be removed until
it's closed.
Because debugfs internally uses the module's data.
So, it could access freed memory.

In order to avoid panic, it just sets .owner to THIS_MODULE.
So that all modules will be held when its debugfs file is opened.
Hm, looks like some of the patches need to be revised because
.owner is already set in the ops, and a warning gets generated.

Also it'd be good to mention why Johannes's approach was abandoned.
Well, I had two.

One was awful, and worked in all cases.

The other was less awful, and didn't work in all cases.

I think both gave Al Viro hives ;-)
Patch 1 needs to be split in two. Patches 2 and 3 would go via Johannes.
FWIW, I'm happy for you to take patches 2 and 3 as well, but I guess if
patch 1 needs to be split there's a resend coming anyway, so then I'll
be happy to take the patches 2/3 from a separate set.

johannes

Thread (27 messages) 27 messages, 4 authors, last reply 2020-11-10
Keyboard shortcuts
hback out one level
jnext message in thread / next series-diff position
kprevious message in thread / previous series-diff position
ldrill in
Escclose help / fold thread tree
?toggle this help