From: Adrian Bunk Compiling 2.6.15-rc5-mm2 with CONFIG_NFSD_V4=n and CONFIG_NFSD_V2_ACL=y or CONFIG_NFSD_V3_ACL=y results due to add-vfs_-helpers-for-xattr-operations.patch in the following: <-- snip --> ... CC [M] fs/nfsd/vfs.o fs/nfsd/vfs.c: In function 'nfsd_getxattr': fs/nfsd/vfs.c:376: warning: implicit declaration of function 'vfs_getxattr' fs/nfsd/vfs.c: In function 'nfsd_set_posix_acl': fs/nfsd/vfs.c:1931: warning: implicit declaration of function 'vfs_setxattr' fs/nfsd/vfs.c:1936: warning: implicit declaration of function 'vfs_removexattr' ... <-- snip --> The possible stack corruption if gcc guessed the types of the parameters of any of these functions wrong is obvious. Given the -Werror-implicit-function-declaration flag, gcc would abort compilation in such cases: <-- snip --> ... CC [M] fs/nfsd/vfs.o fs/nfsd/vfs.c: In function 'nfsd_getxattr': fs/nfsd/vfs.c:376: error: implicit declaration of function 'vfs_getxattr' fs/nfsd/vfs.c: In function 'nfsd_set_posix_acl': fs/nfsd/vfs.c:1931: error: implicit declaration of function 'vfs_setxattr' fs/nfsd/vfs.c:1936: error: implicit declaration of function 'vfs_removexattr' make[2]: *** [fs/nfsd/vfs.o] Error 1 <-- snip --> Signed-off-by: Adrian Bunk Cc: Christoph Hellwig Cc: Neil Brown Signed-off-by: Andrew Morton --- dev/null | 0 fs/nfsd/vfs.c | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff -puN fs/nfsd/vfs.c~add-vfs_-helpers-for-xattr-operations-fix fs/nfsd/vfs.c --- devel/fs/nfsd/vfs.c~add-vfs_-helpers-for-xattr-operations-fix 2005-12-13 15:29:33.000000000 -0800 +++ devel-akpm/fs/nfsd/vfs.c 2005-12-13 15:29:33.000000000 -0800 @@ -48,8 +48,8 @@ #include #include #include -#ifdef CONFIG_NFSD_V4 #include +#ifdef CONFIG_NFSD_V4 #include #include #include diff -L fs/nfsd/vfs.c.old -puN /dev/null /dev/null _