소스 검색

atomic_open(): be paranoid about may_open() return value

It should never return positives; however, with Linux S&M crowd
involved, no bogosity is impossible.  Results would be unpleasant...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro 9 년 전
부모
커밋
b3d58eaffb
1개의 변경된 파일2개의 추가작업 그리고 0개의 파일을 삭제
  1. 2 0
      fs/namei.c

+ 2 - 0
fs/namei.c

@@ -2920,6 +2920,8 @@ static int atomic_open(struct nameidata *nd, struct dentry *dentry,
 		acc_mode = 0;
 	}
 	error = may_open(&file->f_path, acc_mode, open_flag);
+	if (WARN_ON(error > 0))
+		error = -EINVAL;
 out:
 	dput(dentry);
 	return error;