On 01/21/2015 10:29 AM, Al Viro wrote:
On Wed, Jan 21, 2015 at 05:32:13AM -0800, Guenter Roeck wrote:
> Another data point (though I have no idea if it is useful or what it means):
>
> In the working case, path_init sets nd->flags to 0x50 or 0x51.
> In the non-working case (ie for all files with a '/' in the name),
> it sets nd->flags to 0x10 or 0x11, even though it is always called
> with the LOOKUP_RCU bit set in flags.
Umm... Are those path_init() succeeding or failing? Note that path_init()
includes "walk everything except for the last component", so your non-working
case is "have it walk anything at all". What's failing there?
path_init()
or handling the remaining component?
path_init() returns -2. Guess that explains the unexpected flags ;-).
The failuere is from
link_path_walk()
walk_component()
Guenter