Messages in this thread | | | Subject | Re: [PATCH] ipc: don't allocate with GFP_KERNEL inside rcu read lock | From | Davidlohr Bueso <> | Date | Mon, 10 Jun 2013 10:23:49 -0700 |
| |
On Mon, 2013-06-10 at 12:14 -0400, Sasha Levin wrote: > ipc_addid() is protected by a rcu read lock, which means we can't allocate > using GFP_KERNEL inside it. > > Signed-off-by: Sasha Levin <sasha.levin@oracle.com> > --- > > Another option would be to call idr_preload from outside the read lock, > but that complicates the code much more than this fix. If that's the > preferred method to fix it I can resend that solution instead. >
This issue was reported last week by Fengguang (http://www.spinics.net/lists/kernel/msg1545633.html#.UbYI9qqdmV8)
Your fix looks the simplest approach, but I'm not sure if doing the atomic allocation would trigger some other problem, as a side effect. Andrew?
A third option would be to simply revert the offending commit, leaving the rcu locking as it originally was.
Thanks, Davidlohr
| |