Re: kern_path() returns error in kernel 4.4

From: Al Viro
Date: Mon Jun 13 2016 - 11:40:57 EST


On Mon, Jun 13, 2016 at 05:12:27PM +0800, dongke di wrote:
> struct path path;
> int r = kern_path( "/tmp/abc.txt", LOOKUP_FOLLOW | LOOKUP_PARENT, &path );
>
> The file abc.txt does not exist.
>
> On Ubuntu 14.04 ( kernel 3.13 ), r is zero (succed).
> On Ubuntu 16.04 ( kernel 4.4 ), r is -2 ( fail).
>
> Is it a bug or other else ?

It is - in the code that passes LOOKUP_PARENT to kern_path(). What are
is it trying to do there? Need more context...