From 9a920a5554bd06f52b13738774d4edf2185c50d9 Mon Sep 17 00:00:00 2001 From: Peng Tao Date: Tue, 18 Sep 2012 18:57:53 +0800 Subject: [PATCH] LU-1337 llite: ll_inode_permission should check RCU walk For >3.1 kernels, RCU flag is folded into mask field. Signed-off-by: Peng Tao Change-Id: Icc6751493e7359646cb6bd84b3ac05de167e4d88 Reviewed-on: http://review.whamcloud.com/4039 Tested-by: Hudson Tested-by: Maloo Reviewed-by: Fan Yong Reviewed-by: Liu Xuezhao Reviewed-by: Oleg Drokin --- lustre/llite/file.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lustre/llite/file.c b/lustre/llite/file.c index e988c81..e43dfb5 100644 --- a/lustre/llite/file.c +++ b/lustre/llite/file.c @@ -2597,7 +2597,10 @@ int ll_inode_permission(struct inode *inode, int mask, struct nameidata *nd) int rc = 0; ENTRY; -#ifdef HAVE_GENERIC_PERMISSION_4ARGS +#ifdef MAY_NOT_BLOCK + if (mask & MAY_NOT_BLOCK) + return -ECHILD; +#elif defined(HAVE_GENERIC_PERMISSION_4ARGS) if (flags & IPERM_FLAG_RCU) return -ECHILD; #endif -- 1.8.3.1