Re: [DEBUG INFO]IPv6: sleeping function called from invalid context.
From: Thomas Graf <tgraf@suug.ch>
Date: 2005-11-19 21:03:52
Also in:
lkml
From: Thomas Graf <tgraf@suug.ch>
Date: 2005-11-19 21:03:52
Also in:
lkml
* Herbert Xu [off-list ref] 2005-11-19 22:48
Thomas Graf [off-list ref] wrote:quoted
I did. I think it was right, why would an allocation be necessary on the second call to inet6_dump_fib()? The walker allocated in process context on the first call should be reused from cb->args[0].Continued dumps are always called under spin lock (see netlink_dump). So we need to use GFP_ATOMIC in dumpers.
The continued dumps wouldn't be the problem, the walker is allocated on the initial dump call. It was a mistake though, nlk->cb_lock spin lock is always held for cb->dump() even though it should only be required during the nlk->cb != NULL check. netlink_dump_start() guarantees to only allow one dumper per socket at a time.