Thread (1 message) 1 message, 1 author, 2017-09-24

Re: [RESEND] Re: usb/net/p54: trying to register non-static key in p54_unregister_leds

From: Johannes Berg <johannes@sipsolutions.net>
Date: 2017-09-24 14:13:42
Also in: linux-wireless, lkml

On Sat, 2017-09-23 at 21:37 +0200, Christian Lamparter wrote:
But this also begs the question: Is this really working then?
From what I can tell, if CONFIG_LOCKDEP is not set then there's no
BUG no WARN, no other splat or any other odd system behaviour. Does
[cancel | flush]_[delayed_]work[_sync] really "just work" by
*accident*, as long the delayed_work | work_struct is zeroed out? 
It looks like it does, but I'm not sure it's not more or less by
accident. Look at get_work_pool() for example, it might actually return
non-NULL in this case, and then in start_flush_work() you'll probably
fall into one of the few "already_gone" cases.
And should it work in the future as well?
I guess it's not really guaranteed, the API doesn't state anything to
that effect. Not that I'm looking forward to a new workqueue rewrite ;)

johannes
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help