Messages in this thread | | | Date | Fri, 22 Feb 2008 14:41:53 -0800 | From | Max Krasnyanskiy <> | Subject | Re: Module loading/unloading and "The Stop Machine" |
| |
Hi Andi,
> Max Krasnyanskiy <maxk@qualcomm.com> writes: >> static struct module *load_module(void __user *umod, >> unsigned long len, >> const char __user *uargs) >> { >> ... >> >> /* Now sew it into the lists so we can get lockdep and oops >> * info during argument parsing. Noone should access us, since >> * strong_try_module_get() will fail. */ >> stop_machine_run(__link_module, mod, NR_CPUS); >> ... >> } > > Wow you found some really bad code. I bet it wouldn't be that > difficult to fix the code to allow oops safe list insertion > without using the big stop machine overkill hammer. Let me know if you have something in mind. When I get a chance I'll stare some more at that code and try to come up with an alternative solution.
Thanx Max
| |