All of lore.kernel.org
 help / color / mirror / Atom feed
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 --]

  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.