Re: "fs/namei.c: keep track of nd->root refcount status" causes boot panic

From: Christoph Hellwig
Date: Tue Sep 03 2019 - 09:05:01 EST


On Tue, Sep 03, 2019 at 01:37:19PM +0100, Al Viro wrote:
> On Tue, Sep 03, 2019 at 12:21:36AM -0400, Qian Cai wrote:
> > The linux-next commit "fs/namei.c: keep track of nd->root refcount statusâ [1] causes boot panic on all
> > architectures here on todayâs linux-next (0902). Reverted it will fix the issue.
>
> <swearing>
>
> OK, I see what's going on. Incremental to be folded in:
>
> diff --git a/include/linux/namei.h b/include/linux/namei.h
> index 20ce2f917ef4..2ed0942a67f8 100644
> --- a/include/linux/namei.h
> +++ b/include/linux/namei.h
> @@ -20,8 +20,8 @@ enum {LAST_NORM, LAST_ROOT, LAST_DOT, LAST_DOTDOT, LAST_BIND};
> #define LOOKUP_FOLLOW 0x0001 /* follow links at the end */
> #define LOOKUP_DIRECTORY 0x0002 /* require a directory */
> #define LOOKUP_AUTOMOUNT 0x0004 /* force terminal automount */
> -#define LOOKUP_EMPTY 0x4000 /* accept empty path [user_... only] */
> -#define LOOKUP_DOWN 0x8000 /* follow mounts in the starting point */
> +#define LOOKUP_EMPTY 0x8000 /* accept empty path [user_... only] */
> +#define LOOKUP_DOWN 0x10000 /* follow mounts in the starting point */
>
> #define LOOKUP_REVAL 0x0020 /* tell ->d_revalidate() to trust no cache */
> #define LOOKUP_RCU 0x0040 /* RCU pathwalk mode; semi-internal */

Any chance to keep these ordered numerically to avoid someone else
introdcing this kind of bug again later on?