From: kbuild test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: Re: [PATCH v3 1/2] open: introduce openat2(2) syscall
Date: Sun, 19 Jan 2020 15:20:03 +0800 [thread overview]
Message-ID: <202001191508.84b73Xyn%lkp@intel.com> (raw)
In-Reply-To: <20200118120800.16358-2-cyphar@cyphar.com>
[-- Attachment #1: Type: text/plain, Size: 6302 bytes --]
Hi Aleksa,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on kselftest/next]
[also build test ERROR on arm64/for-next/core tip/x86/asm linus/master v5.5-rc6]
[cannot apply to next-20200117]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/Aleksa-Sarai/openat2-minor-uapi-cleanups/20200118-201055
base: https://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest.git next
config: openrisc-or1ksim_defconfig (attached as .config)
compiler: or1k-linux-gcc (GCC) 9.2.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
GCC_VERSION=9.2.0 make.cross ARCH=openrisc
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
fs/open.c: In function 'build_open_flags':
fs/open.c:1063:19: error: 'LOOKUP_NO_XDEV' undeclared (first use in this function); did you mean 'LOOKUP_NO_REVAL'?
1063 | lookup_flags |= LOOKUP_NO_XDEV;
| ^~~~~~~~~~~~~~
| LOOKUP_NO_REVAL
fs/open.c:1063:19: note: each undeclared identifier is reported only once for each function it appears in
fs/open.c:1065:19: error: 'LOOKUP_NO_MAGICLINKS' undeclared (first use in this function); did you mean 'RESOLVE_NO_MAGICLINKS'?
1065 | lookup_flags |= LOOKUP_NO_MAGICLINKS;
| ^~~~~~~~~~~~~~~~~~~~
| RESOLVE_NO_MAGICLINKS
>> fs/open.c:1067:19: error: 'LOOKUP_NO_SYMLINKS' undeclared (first use in this function); did you mean 'RESOLVE_NO_SYMLINKS'?
1067 | lookup_flags |= LOOKUP_NO_SYMLINKS;
| ^~~~~~~~~~~~~~~~~~
| RESOLVE_NO_SYMLINKS
fs/open.c:1069:19: error: 'LOOKUP_BENEATH' undeclared (first use in this function); did you mean 'LOOKUP_CREATE'?
1069 | lookup_flags |= LOOKUP_BENEATH;
| ^~~~~~~~~~~~~~
| LOOKUP_CREATE
fs/open.c:1071:19: error: 'LOOKUP_IN_ROOT' undeclared (first use in this function); did you mean 'LOOKUP_ROOT'?
1071 | lookup_flags |= LOOKUP_IN_ROOT;
| ^~~~~~~~~~~~~~
| LOOKUP_ROOT
vim +1067 fs/open.c
976
977 static inline int build_open_flags(const struct open_how *how,
978 struct open_flags *op)
979 {
980 int flags = how->flags;
981 int lookup_flags = 0;
982 int acc_mode = ACC_MODE(flags);
983
984 /* Must never be set by userspace */
985 flags &= ~(FMODE_NONOTIFY | O_CLOEXEC);
986
987 /*
988 * Older syscalls implicitly clear all of the invalid flags or argument
989 * values before calling build_open_flags(), but openat2(2) checks all
990 * of its arguments.
991 */
992 if (flags & ~VALID_OPEN_FLAGS)
993 return -EINVAL;
994 if (how->resolve & ~VALID_RESOLVE_FLAGS)
995 return -EINVAL;
996
997 /* Deal with the mode. */
998 if (WILL_CREATE(flags)) {
999 if (how->mode & ~S_IALLUGO)
1000 return -EINVAL;
1001 op->mode = how->mode | S_IFREG;
1002 } else {
1003 if (how->mode != 0)
1004 return -EINVAL;
1005 op->mode = 0;
1006 }
1007
1008 /*
1009 * In order to ensure programs get explicit errors when trying to use
1010 * O_TMPFILE on old kernels, O_TMPFILE is implemented such that it
1011 * looks like (O_DIRECTORY|O_RDWR & ~O_CREAT) to old kernels. But we
1012 * have to require userspace to explicitly set it.
1013 */
1014 if (flags & __O_TMPFILE) {
1015 if ((flags & O_TMPFILE_MASK) != O_TMPFILE)
1016 return -EINVAL;
1017 if (!(acc_mode & MAY_WRITE))
1018 return -EINVAL;
1019 }
1020 if (flags & O_PATH) {
1021 /* O_PATH only permits certain other flags to be set. */
1022 if (flags & ~O_PATH_FLAGS)
1023 return -EINVAL;
1024 acc_mode = 0;
1025 }
1026
1027 /*
1028 * O_SYNC is implemented as __O_SYNC|O_DSYNC. As many places only
1029 * check for O_DSYNC if the need any syncing at all we enforce it's
1030 * always set instead of having to deal with possibly weird behaviour
1031 * for malicious applications setting only __O_SYNC.
1032 */
1033 if (flags & __O_SYNC)
1034 flags |= O_DSYNC;
1035
1036 op->open_flag = flags;
1037
1038 /* O_TRUNC implies we need access checks for write permissions */
1039 if (flags & O_TRUNC)
1040 acc_mode |= MAY_WRITE;
1041
1042 /* Allow the LSM permission hook to distinguish append
1043 access from general write access. */
1044 if (flags & O_APPEND)
1045 acc_mode |= MAY_APPEND;
1046
1047 op->acc_mode = acc_mode;
1048
1049 op->intent = flags & O_PATH ? 0 : LOOKUP_OPEN;
1050
1051 if (flags & O_CREAT) {
1052 op->intent |= LOOKUP_CREATE;
1053 if (flags & O_EXCL)
1054 op->intent |= LOOKUP_EXCL;
1055 }
1056
1057 if (flags & O_DIRECTORY)
1058 lookup_flags |= LOOKUP_DIRECTORY;
1059 if (!(flags & O_NOFOLLOW))
1060 lookup_flags |= LOOKUP_FOLLOW;
1061
1062 if (how->resolve & RESOLVE_NO_XDEV)
> 1063 lookup_flags |= LOOKUP_NO_XDEV;
1064 if (how->resolve & RESOLVE_NO_MAGICLINKS)
1065 lookup_flags |= LOOKUP_NO_MAGICLINKS;
1066 if (how->resolve & RESOLVE_NO_SYMLINKS)
> 1067 lookup_flags |= LOOKUP_NO_SYMLINKS;
1068 if (how->resolve & RESOLVE_BENEATH)
1069 lookup_flags |= LOOKUP_BENEATH;
1070 if (how->resolve & RESOLVE_IN_ROOT)
1071 lookup_flags |= LOOKUP_IN_ROOT;
1072
1073 op->lookup_flags = lookup_flags;
1074 return 0;
1075 }
1076
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org Intel Corporation
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 8086 bytes --]
next prev parent reply other threads:[~2020-01-19 7:20 UTC|newest]
Thread overview: 104+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-12-30 5:20 [PATCH RFC 0/1] mount: universally disallow mounting over symlinks Aleksa Sarai
2019-12-30 5:20 ` [PATCH RFC 1/1] " Aleksa Sarai
2019-12-30 5:20 ` Aleksa Sarai
2019-12-30 7:34 ` Linus Torvalds
2019-12-30 8:28 ` Aleksa Sarai
2020-01-08 4:39 ` Andy Lutomirski
2019-12-30 5:44 ` [PATCH RFC 0/1] " Al Viro
2019-12-30 5:49 ` Aleksa Sarai
2019-12-30 7:29 ` Aleksa Sarai
2019-12-30 7:53 ` Linus Torvalds
2019-12-30 8:32 ` Aleksa Sarai
2020-01-02 8:58 ` David Laight
2020-01-02 9:09 ` Aleksa Sarai
2020-01-01 0:43 ` Al Viro
2020-01-01 0:54 ` Al Viro
2020-01-01 3:08 ` Al Viro
2020-01-01 14:44 ` Aleksa Sarai
2020-01-01 23:40 ` Al Viro
2020-01-02 3:59 ` Aleksa Sarai
2020-01-03 1:49 ` Al Viro
2020-01-04 4:46 ` Ian Kent
2020-01-08 3:13 ` Al Viro
2020-01-08 3:54 ` Linus Torvalds
2020-01-08 21:34 ` Al Viro
2020-01-10 0:08 ` Linus Torvalds
2020-01-10 4:15 ` Al Viro
2020-01-10 5:03 ` Linus Torvalds
2020-01-10 6:20 ` Ian Kent
[not found] ` <979cf680b0fbdce515293a3449d564690cde6a3f.camel-PKsaG3nR2I+sTnJN9+BGXg@public.gmane.org>
2020-01-12 21:33 ` Al Viro
2020-01-12 21:33 ` Al Viro
2020-01-13 2:59 ` Ian Kent
2020-01-14 0:25 ` Ian Kent
2020-01-14 4:39 ` Al Viro
2020-01-14 5:01 ` Ian Kent
[not found] ` <d6cad1552171da1eb38c55d1d7b1ff45902b101f.camel-PKsaG3nR2I+sTnJN9+BGXg@public.gmane.org>
2020-01-14 5:59 ` Ian Kent
2020-01-14 5:59 ` Ian Kent
2020-01-10 21:07 ` Aleksa Sarai
2020-01-14 4:57 ` Al Viro
2020-01-14 5:12 ` Al Viro
[not found] ` <20200114045733.GW8904-3bDd1+5oDREiFSDQTTA3OLVCufUGDwFn@public.gmane.org>
2020-01-14 20:01 ` Aleksa Sarai
2020-01-14 20:01 ` Aleksa Sarai
2020-01-15 14:25 ` Al Viro
2020-01-15 14:29 ` Aleksa Sarai
2020-01-15 14:34 ` Aleksa Sarai
2020-01-15 14:48 ` Al Viro
2020-01-15 14:48 ` Al Viro
[not found] ` <20200115144831.GJ8904-3bDd1+5oDREiFSDQTTA3OLVCufUGDwFn@public.gmane.org>
2020-01-18 12:07 ` [PATCH v3 0/2] openat2: minor uapi cleanups Aleksa Sarai
2020-01-18 12:07 ` Aleksa Sarai
2020-01-18 12:07 ` [PATCH v3 1/2] open: introduce openat2(2) syscall Aleksa Sarai
2020-01-19 7:20 ` kbuild test robot [this message]
[not found] ` <20200118120800.16358-1-cyphar-gVpy/LI/lHzQT0dZR+AlfA@public.gmane.org>
2020-01-18 12:08 ` [PATCH v3 2/2] selftests: add openat2(2) selftests Aleksa Sarai
2020-01-18 12:08 ` Aleksa Sarai
2020-01-18 15:28 ` [PATCH v3 0/2] openat2: minor uapi cleanups Al Viro
[not found] ` <20200118152833.GS8904-3bDd1+5oDREiFSDQTTA3OLVCufUGDwFn@public.gmane.org>
2020-01-18 18:09 ` Al Viro
2020-01-18 18:09 ` Al Viro
[not found] ` <20200118180941.GT8904-3bDd1+5oDREiFSDQTTA3OLVCufUGDwFn@public.gmane.org>
2020-01-18 23:03 ` Aleksa Sarai
2020-01-18 23:03 ` Aleksa Sarai
2020-01-19 1:12 ` Al Viro
2020-01-15 13:57 ` [PATCH RFC 0/1] mount: universally disallow mounting over symlinks Aleksa Sarai
2020-01-19 3:14 ` [RFC][PATCHSET][CFT] pathwalk cleanups and fixes Al Viro
2020-01-19 3:14 ` Al Viro
2020-01-19 3:17 ` [PATCH 01/17] do_add_mount(): lift lock_mount/unlock_mount into callers Al Viro
2020-01-19 3:17 ` [PATCH 02/17] fix automount/automount race properly Al Viro
2020-01-30 14:34 ` Christian Brauner
2020-01-19 3:17 ` [PATCH 03/17] follow_automount(): get rid of dead^Wstillborn code Al Viro
2020-01-30 14:38 ` Christian Brauner
2020-01-19 3:17 ` [PATCH 04/17] follow_automount() doesn't need the entire nameidata Al Viro
2020-01-30 14:45 ` Christian Brauner
2020-01-30 15:38 ` Al Viro
2020-01-30 15:55 ` Al Viro
2020-01-19 3:17 ` [PATCH 05/17] make build_open_flags() treat O_CREAT | O_EXCL as implying O_NOFOLLOW Al Viro
2020-01-19 3:17 ` [PATCH 06/17] handle_mounts(): start building a sane wrapper for follow_managed() Al Viro
2020-01-19 3:17 ` [PATCH 07/17] atomic_open(): saner calling conventions (return dentry on success) Al Viro
2020-01-19 3:17 ` [PATCH 08/17] lookup_open(): " Al Viro
2020-01-19 3:17 ` [PATCH 09/17] do_last(): collapse the call of path_to_nameidata() Al Viro
2020-01-19 3:17 ` [PATCH 10/17] handle_mounts(): pass dentry in, turn path into a pure out argument Al Viro
2020-01-19 3:17 ` [PATCH 11/17] lookup_fast(): consolidate the RCU success case Al Viro
2020-01-19 3:17 ` [PATCH 12/17] teach handle_mounts() to handle RCU mode Al Viro
2020-01-19 3:17 ` [PATCH 13/17] lookup_fast(): take mount traversal into callers Al Viro
2020-01-19 3:17 ` [PATCH 14/17] new step_into() flag: WALK_NOFOLLOW Al Viro
2020-01-19 3:17 ` [PATCH 15/17] fold handle_mounts() into step_into() Al Viro
2020-01-19 3:17 ` [PATCH 16/17] LOOKUP_MOUNTPOINT: fold path_mountpointat() into path_lookupat() Al Viro
2020-01-19 3:17 ` [PATCH 17/17] expand the only remaining call of path_lookup_conditional() Al Viro
2020-01-19 3:17 ` [PATCH 1/9] merging pick_link() with get_link(), part 1 Al Viro
2020-01-19 3:17 ` [PATCH 2/9] merging pick_link() with get_link(), part 2 Al Viro
2020-01-19 3:17 ` [PATCH 3/9] merging pick_link() with get_link(), part 3 Al Viro
2020-01-19 3:17 ` [PATCH 4/9] merging pick_link() with get_link(), part 4 Al Viro
2020-01-19 3:17 ` [PATCH 5/9] merging pick_link() with get_link(), part 5 Al Viro
2020-01-19 3:17 ` [PATCH 6/9] merging pick_link() with get_link(), part 6 Al Viro
2020-01-19 3:17 ` [PATCH 7/9] finally fold get_link() into pick_link() Al Viro
2020-01-19 3:17 ` [PATCH 8/9] massage __follow_mount_rcu() a bit Al Viro
2020-01-19 3:17 ` [PATCH 9/9] new helper: traverse_mounts() Al Viro
2020-01-30 14:13 ` [PATCH 01/17] do_add_mount(): lift lock_mount/unlock_mount into callers Christian Brauner
2020-01-19 14:33 ` [RFC][PATCHSET][CFT] pathwalk cleanups and fixes Ian Kent
2020-01-10 23:19 ` [PATCH RFC 0/1] mount: universally disallow mounting over symlinks Al Viro
2020-01-13 1:48 ` Ian Kent
2020-01-13 3:54 ` Al Viro
2020-01-13 6:00 ` Ian Kent
2020-01-13 6:03 ` Ian Kent
2020-01-13 13:30 ` Al Viro
[not found] ` <20200113133047.GR8904-3bDd1+5oDREiFSDQTTA3OLVCufUGDwFn@public.gmane.org>
2020-01-14 7:25 ` Ian Kent
2020-01-14 7:25 ` Ian Kent
2020-01-14 12:17 ` Ian Kent
2020-01-04 5:52 ` Andy Lutomirski
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202001191508.84b73Xyn%lkp@intel.com \
--to=lkp@intel.com \
--cc=kbuild-all@lists.01.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.