Messages in this thread | | | Date | Fri, 30 Aug 2013 15:30:14 -0700 | Subject | Re: [PATCH v7 1/4] spinlock: A new lockref structure for lockless update of refcount | From | Linus Torvalds <> |
| |
On Fri, Aug 30, 2013 at 2:44 PM, Al Viro <viro@zeniv.linux.org.uk> wrote: > > Point... Actually, I wonder if _that_ could be a solution for ->d_name.name > printk races as well. Remember that story? You objected against taking > spinlocks in printk, no matter how specialized and how narrow the area > over which those are taken, but rcu_read_lock/rcu_read_unlock should be > OK... Something like %pd expecting dentry pointer and producing dentry > name. Sure, we still get garbage if we race with d_move(), but at least > it's a contained garbage that way...
Yes, that sounds quite reasonable. For printk, we'd probably want to limit the max size and depth to something fairly small (32 bytes, max four deep or something), and we cannot take cwd/root into account since it can happen from interrupts, but other than that it doesn't sound horrible.
Linus
| |