From nobody Thu Apr 2 12:20:49 2026 Received: from mail-pj1-f41.google.com (mail-pj1-f41.google.com [209.85.216.41]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2619B33DEF7 for ; Sat, 28 Mar 2026 17:23:56 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.41 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774718638; cv=none; b=ZDBkHO/mCLOE8iS3r9uvIvhf4wAB/R0F5ycONDwxGXIqKm3ziF62KARYA4GKTODLLoO8aDv2xNFtck7U5Umy4TR8aEhH1IFDsVTXiG4OQdCil3ZvQ+0AdmfawxnSCSSZb9Ujq2P3ciVRYhq//Uwd1TYDUV6XvNns8mLbQtYGZK4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774718638; c=relaxed/simple; bh=uOVzfWG1cEqPUu6ILHQ5GnAuA4A8tWSLFbiZYE0vCEI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=hIGuHYVe+NATNyoSjD1i6AgjRtheJZKW06Ov8RrWWdTa0+TeyyUTVMM8FNVEfTtjJHeolfinrrhtm0UtCQp1ead2YOlKGY6+HPy0IjHumIwBNs2KywwnHnGNlxwjUz07SBmIMGP1FTk0j605R0oRd5BsC0xY1iCo6FGtcefxZ8E= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=D5WtCyMH; arc=none smtp.client-ip=209.85.216.41 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="D5WtCyMH" Received: by mail-pj1-f41.google.com with SMTP id 98e67ed59e1d1-356337f058aso1806559a91.2 for ; Sat, 28 Mar 2026 10:23:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1774718635; x=1775323435; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=zbnvXfR2LaRdidXXHDujD9nIDm40TWJH2LHLfYsO5m4=; b=D5WtCyMHiOUwJ/1EQUM0mTQ7muTam9ZHjv5jlgzW4sQx+kYd0dgFyxYI6F6wnIndMI 2OoIT5zVXOVOBXkdGg1gbKzoSKPYHBUIQdcMp8PlGNAYMMTqNYQDL2QKizxwHu5vjbZq 9qIsoc7pGUFK4IyK10lB8xzqcGrUjantkwM17lnwQDe83RRIBGyNrx+GFUCsConYk6Dp B39nxBaE8+0lGxbuOVItBmL42cO/5elBpRJPrWcC6M6O1EGDKH3h21Mrd3YS6suKfrvb PXeviOhvsrX+Dpbd0jsXWgDUrW+PJizPBIk0Ha8HbPJRH8u0yGxCL8udoowBEzxRekmO 26/Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774718635; x=1775323435; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=zbnvXfR2LaRdidXXHDujD9nIDm40TWJH2LHLfYsO5m4=; b=aletlSnt6GVF4SIz5WSsgfYAxAv7QKvERXDpWHPCmgH4S1WjVsDZF7PKlme/7CtUPH RI5IhEKsdyL1TkUYy85PiAHqBItmDU6T5s+wiLuEvP1rniwGPtE2YEfAGomKS/QoDODv quQaK5EZhc/QF/+RyfxmPAKU4qt5wglO9yM+h8q+Fb6X9KIxGsVyvBlNaI5r3fyN0yJ3 nZaUJQLWpZAevnNwVGbQv5HGz36tAHwlKZrfGPYyKNxheawpFokC0U542yjWCRh3aLDh air5rDypxTuzD1Y51zTko1ezZg62zroCesdZvpiXl3hSoXx8Pr+3enDCOzLH2MPCAe7n KKBw== X-Gm-Message-State: AOJu0YxMtT64/UIDOjaRMR9CXlw2HSfZISkaIxJ/y8c9j6mN/IcjKejP FZGcDWdmNpRDU6lWO+P6A0/G5rsLhaTRiL21KpTaeiVJ+BerjpkWsjTIlNlRMNAA X-Gm-Gg: ATEYQzy3KZ7HzgZXyj/SQ4wCWVybnop+KTXvG5pA29wNGWneLS+zr2t/f3bHlmzuwjC fC2Lke/Kd4CyvTrB9k0qthJPZFRkQ6BMmP7LU/7YXVSQaiSmVAe+m3Seq33fmNRVMUzuZ4oumD4 SuR+WuMQca6aMwTDgRbgEYxuSKfYKYPA4FJKaW6EpmewYPyu0amJzv91wko+0O8B4qNI3VP/Y3Y oO4Fa3tmUe7GXDeMsTouueqPUOjbj8A4/xZbysf+j7fx3298i6IMEAAcOvwJ67uVU6ILpKKY8GU vdEq1obEB4hPB9mMebLRcVCADJdJ/R4lvbda6SnTLbLDNldNIJQgS3s8zQQpBkPDugeu2TPos7M nMf4hR7HSxI8OOw0YbLFt9ImWAZ6/EAcCR/iJPn8FgzmQGc0s/kO/n3oQVp8dDbB2+4+bconaHe YHoaxhPjn9OdIYH/S2f3YAz+EQhQhc+CpA1Z0lTK1p5QWm64rOLVoRo6Y= X-Received: by 2002:a17:90b:2787:b0:35b:e4d5:dc71 with SMTP id 98e67ed59e1d1-35c2ffa9e40mr6824533a91.14.1774718635343; Sat, 28 Mar 2026 10:23:55 -0700 (PDT) Received: from toolbx ([103.103.35.11]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-35c22a5570esm10513773a91.3.2026.03.28.10.23.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 28 Mar 2026 10:23:55 -0700 (PDT) From: Dorjoy Chowdhury To: linux-fsdevel@vger.kernel.org Cc: linux-kernel@vger.kernel.org, linux-api@vger.kernel.org, ceph-devel@vger.kernel.org, gfs2@lists.linux.dev, linux-nfs@vger.kernel.org, linux-cifs@vger.kernel.org, v9fs@lists.linux.dev, linux-kselftest@vger.kernel.org, viro@zeniv.linux.org.uk, brauner@kernel.org, jack@suse.cz, jlayton@kernel.org, chuck.lever@oracle.com, alex.aring@gmail.com, arnd@arndb.de, adilger@dilger.ca, mjguzik@gmail.com, smfrench@gmail.com, richard.henderson@linaro.org, mattst88@gmail.com, linmag7@gmail.com, tsbogend@alpha.franken.de, James.Bottomley@HansenPartnership.com, deller@gmx.de, davem@davemloft.net, andreas@gaisler.com, idryomov@gmail.com, amarkuze@redhat.com, slava@dubeyko.com, agruenba@redhat.com, trondmy@kernel.org, anna@kernel.org, sfrench@samba.org, pc@manguebit.org, ronniesahlberg@gmail.com, sprasad@microsoft.com, tom@talpey.com, bharathsm@microsoft.com, shuah@kernel.org, miklos@szeredi.hu, hansg@kernel.org Subject: [PATCH v6 1/4] openat2: new OPENAT2_REGULAR flag support Date: Sat, 28 Mar 2026 23:22:22 +0600 Message-ID: <20260328172314.45807-2-dorjoychy111@gmail.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260328172314.45807-1-dorjoychy111@gmail.com> References: <20260328172314.45807-1-dorjoychy111@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" This flag indicates the path should be opened if it's a regular file. This is useful to write secure programs that want to avoid being tricked into opening device nodes with special semantics while thinking they operate on regular files. This is a requested feature from the uapi-group[1]. A corresponding error code EFTYPE has been introduced. For example, if openat2 is called on path /dev/null with OPENAT2_REGULAR in the flag param, it will return -EFTYPE. EFTYPE is already used in BSD systems like FreeBSD, macOS. When used in combination with O_CREAT, either the regular file is created, or if the path already exists, it is opened if it's a regular file. Otherwise, -EFTYPE is returned. When OPENAT2_REGULAR is combined with O_DIRECTORY, -EINVAL is returned as it doesn't make sense to open a path that is both a directory and a regular file. [1]: https://uapi-group.org/kernel-features/#ability-to-only-open-regular-f= iles Signed-off-by: Dorjoy Chowdhury Reviewed-by: Jeff Layton --- arch/alpha/include/uapi/asm/errno.h | 2 ++ arch/alpha/include/uapi/asm/fcntl.h | 1 + arch/mips/include/uapi/asm/errno.h | 2 ++ arch/parisc/include/uapi/asm/errno.h | 2 ++ arch/parisc/include/uapi/asm/fcntl.h | 1 + arch/sparc/include/uapi/asm/errno.h | 2 ++ arch/sparc/include/uapi/asm/fcntl.h | 1 + fs/ceph/file.c | 4 ++++ fs/fcntl.c | 4 ++-- fs/gfs2/inode.c | 6 ++++++ fs/namei.c | 4 ++++ fs/nfs/dir.c | 4 ++++ fs/open.c | 8 +++++--- fs/smb/client/dir.c | 14 +++++++++++++- include/linux/fcntl.h | 2 ++ include/uapi/asm-generic/errno.h | 2 ++ include/uapi/asm-generic/fcntl.h | 4 ++++ tools/arch/alpha/include/uapi/asm/errno.h | 2 ++ tools/arch/mips/include/uapi/asm/errno.h | 2 ++ tools/arch/parisc/include/uapi/asm/errno.h | 2 ++ tools/arch/sparc/include/uapi/asm/errno.h | 2 ++ tools/include/uapi/asm-generic/errno.h | 2 ++ 22 files changed, 67 insertions(+), 6 deletions(-) diff --git a/arch/alpha/include/uapi/asm/errno.h b/arch/alpha/include/uapi/= asm/errno.h index 6791f6508632..1a99f38813c7 100644 --- a/arch/alpha/include/uapi/asm/errno.h +++ b/arch/alpha/include/uapi/asm/errno.h @@ -127,4 +127,6 @@ =20 #define EHWPOISON 139 /* Memory page has hardware error */ =20 +#define EFTYPE 140 /* Wrong file type for the intended operation */ + #endif diff --git a/arch/alpha/include/uapi/asm/fcntl.h b/arch/alpha/include/uapi/= asm/fcntl.h index 50bdc8e8a271..fe488bf7c18e 100644 --- a/arch/alpha/include/uapi/asm/fcntl.h +++ b/arch/alpha/include/uapi/asm/fcntl.h @@ -34,6 +34,7 @@ =20 #define O_PATH 040000000 #define __O_TMPFILE 0100000000 +#define OPENAT2_REGULAR 0200000000 =20 #define F_GETLK 7 #define F_SETLK 8 diff --git a/arch/mips/include/uapi/asm/errno.h b/arch/mips/include/uapi/as= m/errno.h index c01ed91b1ef4..1835a50b69ce 100644 --- a/arch/mips/include/uapi/asm/errno.h +++ b/arch/mips/include/uapi/asm/errno.h @@ -126,6 +126,8 @@ =20 #define EHWPOISON 168 /* Memory page has hardware error */ =20 +#define EFTYPE 169 /* Wrong file type for the intended operation */ + #define EDQUOT 1133 /* Quota exceeded */ =20 =20 diff --git a/arch/parisc/include/uapi/asm/errno.h b/arch/parisc/include/uap= i/asm/errno.h index 8cbc07c1903e..93194fbb0a80 100644 --- a/arch/parisc/include/uapi/asm/errno.h +++ b/arch/parisc/include/uapi/asm/errno.h @@ -124,4 +124,6 @@ =20 #define EHWPOISON 257 /* Memory page has hardware error */ =20 +#define EFTYPE 258 /* Wrong file type for the intended operation */ + #endif diff --git a/arch/parisc/include/uapi/asm/fcntl.h b/arch/parisc/include/uap= i/asm/fcntl.h index 03dee816cb13..d46812f2f0f4 100644 --- a/arch/parisc/include/uapi/asm/fcntl.h +++ b/arch/parisc/include/uapi/asm/fcntl.h @@ -19,6 +19,7 @@ =20 #define O_PATH 020000000 #define __O_TMPFILE 040000000 +#define OPENAT2_REGULAR 0100000000 =20 #define F_GETLK64 8 #define F_SETLK64 9 diff --git a/arch/sparc/include/uapi/asm/errno.h b/arch/sparc/include/uapi/= asm/errno.h index 4a41e7835fd5..71940ec9130b 100644 --- a/arch/sparc/include/uapi/asm/errno.h +++ b/arch/sparc/include/uapi/asm/errno.h @@ -117,4 +117,6 @@ =20 #define EHWPOISON 135 /* Memory page has hardware error */ =20 +#define EFTYPE 136 /* Wrong file type for the intended operation */ + #endif diff --git a/arch/sparc/include/uapi/asm/fcntl.h b/arch/sparc/include/uapi/= asm/fcntl.h index 67dae75e5274..bb6e9fa94bc9 100644 --- a/arch/sparc/include/uapi/asm/fcntl.h +++ b/arch/sparc/include/uapi/asm/fcntl.h @@ -37,6 +37,7 @@ =20 #define O_PATH 0x1000000 #define __O_TMPFILE 0x2000000 +#define OPENAT2_REGULAR 0x4000000 =20 #define F_GETOWN 5 /* for sockets. */ #define F_SETOWN 6 /* for sockets. */ diff --git a/fs/ceph/file.c b/fs/ceph/file.c index 66bbf6d517a9..6d8d4c7765e6 100644 --- a/fs/ceph/file.c +++ b/fs/ceph/file.c @@ -977,6 +977,10 @@ int ceph_atomic_open(struct inode *dir, struct dentry = *dentry, ceph_init_inode_acls(newino, &as_ctx); file->f_mode |=3D FMODE_CREATED; } + if ((flags & OPENAT2_REGULAR) && !d_is_reg(dentry)) { + err =3D -EFTYPE; + goto out_req; + } err =3D finish_open(file, dentry, ceph_open); } out_req: diff --git a/fs/fcntl.c b/fs/fcntl.c index beab8080badf..240bb511557a 100644 --- a/fs/fcntl.c +++ b/fs/fcntl.c @@ -1169,9 +1169,9 @@ static int __init fcntl_init(void) * Exceptions: O_NONBLOCK is a two bit define on parisc; O_NDELAY * is defined as O_NONBLOCK on some platforms and not on others. */ - BUILD_BUG_ON(20 - 1 /* for O_RDONLY being 0 */ !=3D + BUILD_BUG_ON(21 - 1 /* for O_RDONLY being 0 */ !=3D HWEIGHT32( - (VALID_OPEN_FLAGS & ~(O_NONBLOCK | O_NDELAY)) | + (VALID_OPENAT2_FLAGS & ~(O_NONBLOCK | O_NDELAY)) | __FMODE_EXEC)); =20 fasync_cache =3D kmem_cache_create("fasync_cache", diff --git a/fs/gfs2/inode.c b/fs/gfs2/inode.c index 8344040ecaf7..4604e2e8a9cc 100644 --- a/fs/gfs2/inode.c +++ b/fs/gfs2/inode.c @@ -738,6 +738,12 @@ static int gfs2_create_inode(struct inode *dir, struct= dentry *dentry, inode =3D gfs2_dir_search(dir, &dentry->d_name, !S_ISREG(mode) || excl); error =3D PTR_ERR(inode); if (!IS_ERR(inode)) { + if (file && (file->f_flags & OPENAT2_REGULAR) && !S_ISREG(inode->i_mode)= ) { + iput(inode); + inode =3D NULL; + error =3D -EFTYPE; + goto fail_gunlock; + } if (S_ISDIR(inode->i_mode)) { iput(inode); inode =3D NULL; diff --git a/fs/namei.c b/fs/namei.c index 2113958c3b7a..e557c538c238 100644 --- a/fs/namei.c +++ b/fs/namei.c @@ -4679,6 +4679,10 @@ static int do_open(struct nameidata *nd, if (unlikely(error)) return error; } + + if ((open_flag & OPENAT2_REGULAR) && !d_is_reg(nd->path.dentry)) + return -EFTYPE; + if ((nd->flags & LOOKUP_DIRECTORY) && !d_can_lookup(nd->path.dentry)) return -ENOTDIR; =20 diff --git a/fs/nfs/dir.c b/fs/nfs/dir.c index ddc3789363a5..bfe9470327c8 100644 --- a/fs/nfs/dir.c +++ b/fs/nfs/dir.c @@ -2195,6 +2195,10 @@ int nfs_atomic_open(struct inode *dir, struct dentry= *dentry, break; case -EISDIR: case -ENOTDIR: + if (open_flags & OPENAT2_REGULAR) { + err =3D -EFTYPE; + break; + } goto no_open; case -ELOOP: if (!(open_flags & O_NOFOLLOW)) diff --git a/fs/open.c b/fs/open.c index 681d405bc61e..a6f445f72181 100644 --- a/fs/open.c +++ b/fs/open.c @@ -960,7 +960,7 @@ static int do_dentry_open(struct file *f, if (f->f_mapping->a_ops && f->f_mapping->a_ops->direct_IO) f->f_mode |=3D FMODE_CAN_ODIRECT; =20 - f->f_flags &=3D ~(O_CREAT | O_EXCL | O_NOCTTY | O_TRUNC); + f->f_flags &=3D ~(O_CREAT | O_EXCL | O_NOCTTY | O_TRUNC | OPENAT2_REGULAR= ); f->f_iocb_flags =3D iocb_flags(f); =20 file_ra_state_init(&f->f_ra, f->f_mapping->host->i_mapping); @@ -1183,7 +1183,7 @@ inline int build_open_flags(const struct open_how *ho= w, struct open_flags *op) int lookup_flags =3D 0; int acc_mode =3D ACC_MODE(flags); =20 - BUILD_BUG_ON_MSG(upper_32_bits(VALID_OPEN_FLAGS), + BUILD_BUG_ON_MSG(upper_32_bits(VALID_OPENAT2_FLAGS), "struct open_flags doesn't yet handle flags > 32 bits"); =20 /* @@ -1196,7 +1196,7 @@ inline int build_open_flags(const struct open_how *ho= w, struct open_flags *op) * values before calling build_open_flags(), but openat2(2) checks all * of its arguments. */ - if (flags & ~VALID_OPEN_FLAGS) + if (flags & ~VALID_OPENAT2_FLAGS) return -EINVAL; if (how->resolve & ~VALID_RESOLVE_FLAGS) return -EINVAL; @@ -1235,6 +1235,8 @@ inline int build_open_flags(const struct open_how *ho= w, struct open_flags *op) return -EINVAL; if (!(acc_mode & MAY_WRITE)) return -EINVAL; + } else if ((flags & O_DIRECTORY) && (flags & OPENAT2_REGULAR)) { + return -EINVAL; } if (flags & O_PATH) { /* O_PATH only permits certain other flags to be set. */ diff --git a/fs/smb/client/dir.c b/fs/smb/client/dir.c index 953f1fee8cb8..355681ebacf1 100644 --- a/fs/smb/client/dir.c +++ b/fs/smb/client/dir.c @@ -222,6 +222,13 @@ static int cifs_do_create(struct inode *inode, struct = dentry *direntry, unsigned goto cifs_create_get_file_info; } =20 + if ((oflags & OPENAT2_REGULAR) && !S_ISREG(newinode->i_mode)) { + CIFSSMBClose(xid, tcon, fid->netfid); + iput(newinode); + rc =3D -EFTYPE; + goto out; + } + if (S_ISDIR(newinode->i_mode)) { CIFSSMBClose(xid, tcon, fid->netfid); iput(newinode); @@ -436,11 +443,16 @@ static int cifs_do_create(struct inode *inode, struct= dentry *direntry, unsigned goto out_err; } =20 - if (newinode) + if (newinode) { + if ((oflags & OPENAT2_REGULAR) && !S_ISREG(newinode->i_mode)) { + rc =3D -EFTYPE; + goto out_err; + } if (S_ISDIR(newinode->i_mode)) { rc =3D -EISDIR; goto out_err; } + } =20 d_drop(direntry); d_add(direntry, newinode); diff --git a/include/linux/fcntl.h b/include/linux/fcntl.h index a332e79b3207..a80026718217 100644 --- a/include/linux/fcntl.h +++ b/include/linux/fcntl.h @@ -12,6 +12,8 @@ FASYNC | O_DIRECT | O_LARGEFILE | O_DIRECTORY | O_NOFOLLOW | \ O_NOATIME | O_CLOEXEC | O_PATH | __O_TMPFILE) =20 +#define VALID_OPENAT2_FLAGS (VALID_OPEN_FLAGS | OPENAT2_REGULAR) + /* List of all valid flags for the how->resolve argument: */ #define VALID_RESOLVE_FLAGS \ (RESOLVE_NO_XDEV | RESOLVE_NO_MAGICLINKS | RESOLVE_NO_SYMLINKS | \ diff --git a/include/uapi/asm-generic/errno.h b/include/uapi/asm-generic/er= rno.h index 92e7ae493ee3..bd78e69e0a43 100644 --- a/include/uapi/asm-generic/errno.h +++ b/include/uapi/asm-generic/errno.h @@ -122,4 +122,6 @@ =20 #define EHWPOISON 133 /* Memory page has hardware error */ =20 +#define EFTYPE 134 /* Wrong file type for the intended operation */ + #endif diff --git a/include/uapi/asm-generic/fcntl.h b/include/uapi/asm-generic/fc= ntl.h index 613475285643..b2c2ddd0edc0 100644 --- a/include/uapi/asm-generic/fcntl.h +++ b/include/uapi/asm-generic/fcntl.h @@ -88,6 +88,10 @@ #define __O_TMPFILE 020000000 #endif =20 +#ifndef OPENAT2_REGULAR +#define OPENAT2_REGULAR 040000000 +#endif + /* a horrid kludge trying to make sure that this will fail on old kernels = */ #define O_TMPFILE (__O_TMPFILE | O_DIRECTORY) =20 diff --git a/tools/arch/alpha/include/uapi/asm/errno.h b/tools/arch/alpha/i= nclude/uapi/asm/errno.h index 6791f6508632..1a99f38813c7 100644 --- a/tools/arch/alpha/include/uapi/asm/errno.h +++ b/tools/arch/alpha/include/uapi/asm/errno.h @@ -127,4 +127,6 @@ =20 #define EHWPOISON 139 /* Memory page has hardware error */ =20 +#define EFTYPE 140 /* Wrong file type for the intended operation */ + #endif diff --git a/tools/arch/mips/include/uapi/asm/errno.h b/tools/arch/mips/inc= lude/uapi/asm/errno.h index c01ed91b1ef4..1835a50b69ce 100644 --- a/tools/arch/mips/include/uapi/asm/errno.h +++ b/tools/arch/mips/include/uapi/asm/errno.h @@ -126,6 +126,8 @@ =20 #define EHWPOISON 168 /* Memory page has hardware error */ =20 +#define EFTYPE 169 /* Wrong file type for the intended operation */ + #define EDQUOT 1133 /* Quota exceeded */ =20 =20 diff --git a/tools/arch/parisc/include/uapi/asm/errno.h b/tools/arch/parisc= /include/uapi/asm/errno.h index 8cbc07c1903e..93194fbb0a80 100644 --- a/tools/arch/parisc/include/uapi/asm/errno.h +++ b/tools/arch/parisc/include/uapi/asm/errno.h @@ -124,4 +124,6 @@ =20 #define EHWPOISON 257 /* Memory page has hardware error */ =20 +#define EFTYPE 258 /* Wrong file type for the intended operation */ + #endif diff --git a/tools/arch/sparc/include/uapi/asm/errno.h b/tools/arch/sparc/i= nclude/uapi/asm/errno.h index 4a41e7835fd5..71940ec9130b 100644 --- a/tools/arch/sparc/include/uapi/asm/errno.h +++ b/tools/arch/sparc/include/uapi/asm/errno.h @@ -117,4 +117,6 @@ =20 #define EHWPOISON 135 /* Memory page has hardware error */ =20 +#define EFTYPE 136 /* Wrong file type for the intended operation */ + #endif diff --git a/tools/include/uapi/asm-generic/errno.h b/tools/include/uapi/as= m-generic/errno.h index 92e7ae493ee3..bd78e69e0a43 100644 --- a/tools/include/uapi/asm-generic/errno.h +++ b/tools/include/uapi/asm-generic/errno.h @@ -122,4 +122,6 @@ =20 #define EHWPOISON 133 /* Memory page has hardware error */ =20 +#define EFTYPE 134 /* Wrong file type for the intended operation */ + #endif --=20 2.53.0 From nobody Thu Apr 2 12:20:49 2026 Received: from mail-pj1-f48.google.com (mail-pj1-f48.google.com [209.85.216.48]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9D5AE23C4E9 for ; Sat, 28 Mar 2026 17:24:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.48 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774718652; cv=none; b=DLcii8gB+DFBjvklKIC9PiPUt/8u1BxsDhyoK42E69WV3iVoBElysOtTDBVTYRYek3XfieirS50sWnA1zbCv4O3orjcGwloJswLfMQPRih71UII/MaDgOSivbcVVERQETuPMUclcvOxcgROFMJmelBviHhMmeET5kCDtGzdA4u4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774718652; c=relaxed/simple; bh=QvKBTacd5z2P43CbYauz1u/x08KHhA7f2Nkz0BaL8og=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=NR10s+JUui0kKIa5xh8Weo4GvkpzDpM5gP9J1A9TsZ8vZgRqiKTgigzvojyX3dh2KvXse49YwIF0I+4xadnlhznjVUNq3Tn44H0B57phfh4Ut0Wn6eXFrP1qqN+kp//Xvwew0B23/gVidWQfs95BugM35VhUzLARqdaPF7vTPyY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=lnk5RSPO; arc=none smtp.client-ip=209.85.216.48 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="lnk5RSPO" Received: by mail-pj1-f48.google.com with SMTP id 98e67ed59e1d1-358ed696623so1476314a91.0 for ; Sat, 28 Mar 2026 10:24:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1774718650; x=1775323450; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=/Vj99fOR8e2nvanig9cWTi+niKOe1ygt4TyyqPTa8nU=; b=lnk5RSPO5uaZzdvoYplj50n4Pdtn+IjdotyTh0EqRdl95MlH9XHvqx40Q/bH7sXudC m/87dqBHYnZMw8YXKzWk9pIvZkucoFMsFUgueCgMWoF6JQteXbdUudF5qj4JQBi27/RR OAjcQGQJ9/dINc8bZ263JhPxPxZJX5y/UofCbwEybJ7ma4Sgtz51okm3POF4gNkgNgEm /42sOkx4X5LBDAUb1nbwbXfMloVd7i9IdURNwKPk/oiSqEMvfbvlv6QEHEFqMjVntep6 T2vGonEWlWtxfXjEGKsjnrLZQMBM2yxBhMfdi8Pr2EX7UL4lM/ELJHByPdWR7MIIFY2a /7EA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774718650; x=1775323450; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=/Vj99fOR8e2nvanig9cWTi+niKOe1ygt4TyyqPTa8nU=; b=DF5l25rFzFYSBbG7T5pyA66w0f88vS6PI16rrVtS35ksJwdRBH57bLYc9RKUSD3H5U B58R91lZteiz9iUlYPeIN0TRG7NQWPFxTuFcLkHDARTH7ojcelwN8OPKFnLDrVXnTQaD F6rqa5eUh9lfNhPKyWcUuN+pSaPkibd6B6X2/dc8uUKCtYR7b5ajWULM1mMhIMsVjkDB Xv+BGgakh3DQXSTC7/jHLZMN1pD8dk9pUiCdGi+E1wCF/H115OxRnKB5roG4YJFL/5cl 8kyfZjaki/n9cDvaYw/OR40gtZEGLYHnTYyc17H5D9sHlXNoIwXgjuJrn9tVylUr9DV+ ebDw== X-Gm-Message-State: AOJu0Ywtev7V6rqjp71ahi2vcODK/KM3+6U/U2nP8CNVxemv5CvWEZp3 VlUCElYMhG9j+uKDxqnps9TpGaUcwQYvODp/sCMy7xGSOdMzHFh+Dcvt X-Gm-Gg: ATEYQzx4hlytOas/LDUlOCyUVra3nr0cJXlt37ID+ipVP9LdEf8H+0g04/rkM1CQcLQ y5jefE9xJYCrOBJKJj5EXhuCrvjl/sPhwgCVkLc9g9ybTjw/cveTcLYIbPnzJdD60E2DVEpQpS7 xxzggo3gGaiUjP7+whFKKmIA0MlR6TCggfW9S4zkiknz9qSp/EAzcGB4RjapuAejmvjUr0jeuLf JANTo9/fQj3cg2Pq2S0wKAitJRUqXavJlOXsFpQW1CHf1N7CdOiSyi+cljNOPjGfEitEUBAGhc8 B3xcoHj+XuQoSKjSaXRdlqYH2IrfaRunmlee85mlGf48XzP/wVsFPmX5JPIW4GatfO68Mq1QF0I doika4pJL9s1++Ttg/nNixQW5SnuoSjTmpn3zKrfpEYo8U5HrHJeEMKfiPlwEQRIl0KI717z2kp t9ZckPtBxH8kwdM61lXz3mvHCT71SfAsFeKPDqNCw1jZws92tyKtpy9pw= X-Received: by 2002:a17:90b:164a:b0:359:f2e1:5906 with SMTP id 98e67ed59e1d1-35c2ffb6610mr6349220a91.4.1774718649869; Sat, 28 Mar 2026 10:24:09 -0700 (PDT) Received: from toolbx ([103.103.35.11]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-35c22a5570esm10513773a91.3.2026.03.28.10.23.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 28 Mar 2026 10:24:09 -0700 (PDT) From: Dorjoy Chowdhury To: linux-fsdevel@vger.kernel.org Cc: linux-kernel@vger.kernel.org, linux-api@vger.kernel.org, ceph-devel@vger.kernel.org, gfs2@lists.linux.dev, linux-nfs@vger.kernel.org, linux-cifs@vger.kernel.org, v9fs@lists.linux.dev, linux-kselftest@vger.kernel.org, viro@zeniv.linux.org.uk, brauner@kernel.org, jack@suse.cz, jlayton@kernel.org, chuck.lever@oracle.com, alex.aring@gmail.com, arnd@arndb.de, adilger@dilger.ca, mjguzik@gmail.com, smfrench@gmail.com, richard.henderson@linaro.org, mattst88@gmail.com, linmag7@gmail.com, tsbogend@alpha.franken.de, James.Bottomley@HansenPartnership.com, deller@gmx.de, davem@davemloft.net, andreas@gaisler.com, idryomov@gmail.com, amarkuze@redhat.com, slava@dubeyko.com, agruenba@redhat.com, trondmy@kernel.org, anna@kernel.org, sfrench@samba.org, pc@manguebit.org, ronniesahlberg@gmail.com, sprasad@microsoft.com, tom@talpey.com, bharathsm@microsoft.com, shuah@kernel.org, miklos@szeredi.hu, hansg@kernel.org Subject: [PATCH v6 2/4] kselftest/openat2: test for OPENAT2_REGULAR flag Date: Sat, 28 Mar 2026 23:22:23 +0600 Message-ID: <20260328172314.45807-3-dorjoychy111@gmail.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260328172314.45807-1-dorjoychy111@gmail.com> References: <20260328172314.45807-1-dorjoychy111@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Just a happy path test. Signed-off-by: Dorjoy Chowdhury --- .../testing/selftests/openat2/openat2_test.c | 37 ++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) diff --git a/tools/testing/selftests/openat2/openat2_test.c b/tools/testing= /selftests/openat2/openat2_test.c index 0e161ef9e9e4..e8847f7d416c 100644 --- a/tools/testing/selftests/openat2/openat2_test.c +++ b/tools/testing/selftests/openat2/openat2_test.c @@ -320,8 +320,42 @@ void test_openat2_flags(void) } } =20 +#ifndef OPENAT2_REGULAR +#define OPENAT2_REGULAR 040000000 +#endif + +#ifndef EFTYPE +#define EFTYPE 134 +#endif + +void test_openat2_regular_flag(void) +{ + if (!openat2_supported) { + ksft_test_result_skip("Skipping %s as openat2 is not supported\n", __fun= c__); + return; + } + + struct open_how how =3D { + .flags =3D OPENAT2_REGULAR | O_RDONLY + }; + + int fd =3D sys_openat2(AT_FDCWD, "/dev/null", &how); + + if (fd =3D=3D -ENOENT) { + ksft_test_result_skip("Skipping %s as there is no /dev/null\n", __func__= ); + return; + } + + if (fd !=3D -EFTYPE) { + ksft_test_result_fail("openat2 should return EFTYPE\n"); + return; + } + + ksft_test_result_pass("%s succeeded\n", __func__); +} + #define NUM_TESTS (NUM_OPENAT2_STRUCT_VARIATIONS * NUM_OPENAT2_STRUCT_TEST= S + \ - NUM_OPENAT2_FLAG_TESTS) + NUM_OPENAT2_FLAG_TESTS + 1) =20 int main(int argc, char **argv) { @@ -330,6 +364,7 @@ int main(int argc, char **argv) =20 test_openat2_struct(); test_openat2_flags(); + test_openat2_regular_flag(); =20 if (ksft_get_fail_cnt() + ksft_get_error_cnt() > 0) ksft_exit_fail(); --=20 2.53.0 From nobody Thu Apr 2 12:20:49 2026 Received: from mail-pj1-f49.google.com (mail-pj1-f49.google.com [209.85.216.49]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4BB9A33F5BE for ; Sat, 28 Mar 2026 17:24:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.49 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774718666; cv=none; b=fazh5mWxoiliLb/45jqvXP35eLlY1r3e94vxV/QVOaKTONg/5Iye5Bwxyv4riDuG2IsAfugYnQ5pWrHZlZh7gM0iE8KM4evPfk+5UeLjTMFhaCNTz5JFNUOm5Lq5JIUXn4KjRsrz52EtkJ/KDO3zf1jQUDx8oa8l97VAI0GRSRI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774718666; c=relaxed/simple; bh=Q9dm8LTnk+DFIEJAAB7tpFWixf8EizWYmak8EK7I1tg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=rKlpF8USs/JjgGEcqvnZXEIqUiBj3lJcW1fZ8XjbgUUogvQ6pIZfaJ1okv2b+9Rq1PZ3BzmNSnr1rWYcWgkXOsLA+r60BZAwEWgI6KoHuk/0h+21mvbfdOHwWCT7QchZs2e7SwfRHnckzNxHLXjkTbJ20ktOELGWqWJaJxsYaN0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=fUHC39t5; arc=none smtp.client-ip=209.85.216.49 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="fUHC39t5" Received: by mail-pj1-f49.google.com with SMTP id 98e67ed59e1d1-35d9f68d011so27296a91.2 for ; Sat, 28 Mar 2026 10:24:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1774718665; x=1775323465; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Q4HfR25bhfBsIe8RbNyIL8PstGgybd8nsB9r91rb4k4=; b=fUHC39t5SVFYPhzjdVkydSn6kkxLe/mQ3HnNYH/M5q3wq6Eoem2pwd7OqgnlJpwO+I p/mg53wMg9CJ2i8ZMMAWJuGt9mbPfa3mspXRaSxC7dEBgKRsM5EWJW1Umw8805nuLH1x kUvZWoYQ7QEleQ9S6i5L/U2m47KXH+m2Ld9THKApeMdTTV1A6THnMVIXevNDPgCzaPMv rBj672km8OsufCBY/xztP1co6wDvqD15FyUDMEPp15Xz5cnxylowDbInB/mSxjDP5kiT RgAHkTDt2k9W+GGrPwix3NpyxqfQaRE2k9rmYWyaNIBMT0YIRSDvd+t3q7qICRlLSVQO IPSA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774718665; x=1775323465; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=Q4HfR25bhfBsIe8RbNyIL8PstGgybd8nsB9r91rb4k4=; b=L8Lbyw+3zqlebdyS9oUaBuvZflEQnuy67MmBiHYHQxXmcXF9rpAR6xRVKXx3lKBdek wNOkpBux2+MrZqex9PIetDSODnA/3l47Yh5jwBxJ6EKxnYOXnLtt+l0VsRMlN9oQ/53m ++tVrxZB5HUCQRBj6v7DndNZ9JoL6rWQsmIJzSQmiy3MNdRqI8mxFLClnEbVfZ8G6U97 aXGF/11dsdXsRa2CCCyPuY6I3hBs5+RT8+9VHJwGq/UyMfn6buc1pDP+db74e3N7/10c IoBRTtRdS8qAWFudEWwJV+mdUpHQfCNQyOjyLzyGB+rMLA21VL+6JBiXxfP4QHRWru08 +Agw== X-Gm-Message-State: AOJu0YyOTCJ3BbBuVDVpeBGpOYDflZtUs7t0NZNJ0e1PP354Uz6zYCeD 9gb68/6TIUUCaU/x4Ivc/NqC8cX63Zi7/EwcFCtztw+wlTrj8UVmWs4t X-Gm-Gg: ATEYQzzQASVq5jMEjNbmTfBwNdUkJwiKMvc8Bz5bspSc7EHAcQWEDSIcxc4+O8uug4J 0BPA4NXrgZtTeUa165dlEetbwFs2mEY1wNdIVY0DCmYGmLWgGSpoDzabeJby+htQwwmLlRmH2YE xErTSv15QDrWWmACFw8wTOLIOpJWKDIBvY0ts9cjOevM/i+Hh1iiNOBXdiAX/sL+9TPGor8Rzl+ raF/0bFCFd77/ZJI0HSSb4ZFW3IBpNScqXkSvkWAhQHxrFmlS/2BW9A+qk+jPNzeK7gjgRa4kUE CbdSp2bxicUkbiDafbmE4QCRMA5onysUeSVSUrHLD6uEV9Sl64yf/vNRP8OL8DVkE2H6VExQ0wl 5O8VDAYMc4bfkWXDZrAAx9xukLS5VRj/UdynsHMIup7PSylMiZdrP2qVAsUHT2gRVA6rzyD5jTt lZmgRwTZUr/tnpTwY8C2u0HVkWyDS7lAT8Zvo0apVgqZT6F+LXVbGtF+A= X-Received: by 2002:a17:90b:3ec6:b0:35b:9397:7073 with SMTP id 98e67ed59e1d1-35c30126798mr6566152a91.30.1774718664565; Sat, 28 Mar 2026 10:24:24 -0700 (PDT) Received: from toolbx ([103.103.35.11]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-35c22a5570esm10513773a91.3.2026.03.28.10.24.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 28 Mar 2026 10:24:24 -0700 (PDT) From: Dorjoy Chowdhury To: linux-fsdevel@vger.kernel.org Cc: linux-kernel@vger.kernel.org, linux-api@vger.kernel.org, ceph-devel@vger.kernel.org, gfs2@lists.linux.dev, linux-nfs@vger.kernel.org, linux-cifs@vger.kernel.org, v9fs@lists.linux.dev, linux-kselftest@vger.kernel.org, viro@zeniv.linux.org.uk, brauner@kernel.org, jack@suse.cz, jlayton@kernel.org, chuck.lever@oracle.com, alex.aring@gmail.com, arnd@arndb.de, adilger@dilger.ca, mjguzik@gmail.com, smfrench@gmail.com, richard.henderson@linaro.org, mattst88@gmail.com, linmag7@gmail.com, tsbogend@alpha.franken.de, James.Bottomley@HansenPartnership.com, deller@gmx.de, davem@davemloft.net, andreas@gaisler.com, idryomov@gmail.com, amarkuze@redhat.com, slava@dubeyko.com, agruenba@redhat.com, trondmy@kernel.org, anna@kernel.org, sfrench@samba.org, pc@manguebit.org, ronniesahlberg@gmail.com, sprasad@microsoft.com, tom@talpey.com, bharathsm@microsoft.com, shuah@kernel.org, miklos@szeredi.hu, hansg@kernel.org Subject: [PATCH v6 3/4] sparc/fcntl.h: convert O_* flag macros from hex to octal Date: Sat, 28 Mar 2026 23:22:24 +0600 Message-ID: <20260328172314.45807-4-dorjoychy111@gmail.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260328172314.45807-1-dorjoychy111@gmail.com> References: <20260328172314.45807-1-dorjoychy111@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Following the convention in include/uapi/asm-generic/fcntl.h and other architecture specific arch/*/include/uapi/asm/fcntl.h files. Signed-off-by: Dorjoy Chowdhury --- arch/sparc/include/uapi/asm/fcntl.h | 36 ++++++++++++++--------------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/arch/sparc/include/uapi/asm/fcntl.h b/arch/sparc/include/uapi/= asm/fcntl.h index bb6e9fa94bc9..33ce58ec57f6 100644 --- a/arch/sparc/include/uapi/asm/fcntl.h +++ b/arch/sparc/include/uapi/asm/fcntl.h @@ -2,23 +2,23 @@ #ifndef _SPARC_FCNTL_H #define _SPARC_FCNTL_H =20 -#define O_APPEND 0x0008 -#define FASYNC 0x0040 /* fcntl, for BSD compatibility */ -#define O_CREAT 0x0200 /* not fcntl */ -#define O_TRUNC 0x0400 /* not fcntl */ -#define O_EXCL 0x0800 /* not fcntl */ -#define O_DSYNC 0x2000 /* used to be O_SYNC, see below */ -#define O_NONBLOCK 0x4000 +#define O_APPEND 0000000010 +#define FASYNC 0000000100 /* fcntl, for BSD compatibility */ +#define O_CREAT 0000001000 /* not fcntl */ +#define O_TRUNC 0000002000 /* not fcntl */ +#define O_EXCL 0000004000 /* not fcntl */ +#define O_DSYNC 0000020000 /* used to be O_SYNC, see below */ +#define O_NONBLOCK 0000040000 #if defined(__sparc__) && defined(__arch64__) -#define O_NDELAY 0x0004 +#define O_NDELAY 0000000004 #else -#define O_NDELAY (0x0004 | O_NONBLOCK) +#define O_NDELAY (0000000004 | O_NONBLOCK) #endif -#define O_NOCTTY 0x8000 /* not fcntl */ -#define O_LARGEFILE 0x40000 -#define O_DIRECT 0x100000 /* direct disk access hint */ -#define O_NOATIME 0x200000 -#define O_CLOEXEC 0x400000 +#define O_NOCTTY 0000100000 /* not fcntl */ +#define O_LARGEFILE 0001000000 +#define O_DIRECT 0004000000 /* direct disk access hint */ +#define O_NOATIME 0010000000 +#define O_CLOEXEC 0020000000 /* * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value @@ -32,12 +32,12 @@ * * Note: __O_SYNC must never be used directly. */ -#define __O_SYNC 0x800000 +#define __O_SYNC 0040000000 #define O_SYNC (__O_SYNC|O_DSYNC) =20 -#define O_PATH 0x1000000 -#define __O_TMPFILE 0x2000000 -#define OPENAT2_REGULAR 0x4000000 +#define O_PATH 0100000000 +#define __O_TMPFILE 0200000000 +#define OPENAT2_REGULAR 0400000000 =20 #define F_GETOWN 5 /* for sockets. */ #define F_SETOWN 6 /* for sockets. */ --=20 2.53.0 From nobody Thu Apr 2 12:20:49 2026 Received: from mail-pj1-f44.google.com (mail-pj1-f44.google.com [209.85.216.44]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C1470359714 for ; Sat, 28 Mar 2026 17:24:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774718681; cv=none; b=tXwlqc1x5MPyHMN075YXLdE1WQViaeQWbhRyIj90pYFvNWVhzNIQ6kJxF/lN7lckQCCjshGAqPETclSPHrvLGCL70KbJLZqprbwa/Cf2yGSEfOZNcb12Ugg7v+CYd1jKhekwtRCsrSgK5s6AdDpmanc+ODeAUm+i3chFDBxaoAI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774718681; c=relaxed/simple; bh=EKC+gjybz5QCo3/A2SoLkAdJ9dHzP8glwvLLU31BmCA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=SbZUoO+XTI2AeRtYfdsQ4iz1n1o3NE7mqcrMu3lruIDldoYo8rr/qjlTTXc8uY3LtLsZsf/v6A6VHzSf5uILpTyH7g1nlWs+oulRZPkKNMqG5+AG88hJPJgMqMGeoLRuXhhIMXt/2NhkBAiz6FzxMtgIuIlBIL7wF1F2u0cLNGM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=Sy39ev+Y; arc=none smtp.client-ip=209.85.216.44 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Sy39ev+Y" Received: by mail-pj1-f44.google.com with SMTP id 98e67ed59e1d1-35c16db1b53so1717015a91.1 for ; Sat, 28 Mar 2026 10:24:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1774718679; x=1775323479; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=cE+gTqS6Acm3OjdFoCwcpAog50aFpqNiNU85af164dY=; b=Sy39ev+YkaB+KPsi1XAs4pyTqpWDmmoH72QwZXEGTQq1QlboeGJWmYKxoqtg6gn41k YmK6kJvrsEL9BzLhgPWUUm0/ZZdVfkAD98gMPFCDaf4retCZzzOdlIb71Atq12Jx9fTd jzDDdFCg6vTtCgauFJqsGyCF2zJUPWbmn4yjivFB43fgCk/BWGtOOgQuyhKh2+2oaOqf mTzlitOp5a9pqYZu7J9vBOwBmFVVQA0TIuKNqe3Iv4K6/8bmw5B1L7xJLj/4MZOsqWhA W1KjDh8CKcEgp5Cryqh+moIxfcFxsnCUQZys9Z8rb6YLeH39Jee1LOeRM05Yk0LqhHTI GSiw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774718679; x=1775323479; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=cE+gTqS6Acm3OjdFoCwcpAog50aFpqNiNU85af164dY=; b=UiUoj3sYlb8jaHXnvGHnrCpJQtI/hhPnzwthcuw1j3Mlyu/iQXpzazyoPKPnB3eJoY FDXhvs0tc3i+4TOCcIn9bCmlZNhUjUs7m1VfHj0n5X5O+lrO6Khljk5d5C/lofLT4anX Muf0H/plY4tbDDhWVWQiRqNi73wHH4k7Ex2i2eJhqp3QCkcqOPcqhM+u0V/lzDdg/64P n1vYvZWvHTencOqwwY+WMRx9olKw1HxjKajh69rVLlwO7nwu+lTM7pSy3plie8+TpQmP WoGCkcrBoUU88Xkr9LRjy4dJ8J5gf8hQxvwqUzbsnq2MpoGIKv8mg3694yzS7KYXLpmd 3Naw== X-Gm-Message-State: AOJu0YzGdwsq+j2kD+tOleyVVjDVXQ0TAppSbR0+7R4WUkzkZCTcmXGj poW6JbJl7NY8csm9uJNOi5AOiKNvuqjEOe/KBZr5Rs+Xo9BQT3wuwvHR X-Gm-Gg: ATEYQzw0hAr5C8IOFvljlzxmtdcvxsKHLFw5GVx0OWRhbrurSxrNxb3MU0B612hOSwW HMHMWuEFSzd06ln1myno7kvSsEOQFU+P4HZ+lHH+1NPXAZj3zvnBhS7sc0xXx6es+p2cKoYoo51 VojruVt2f6mUinJFzBnr8+elgdk9drru0neWuhXtpNLl3SVA6pAdhtaG+NONdxrU+bcHnS+3Of5 nDjcQW0u0XglRYEtyCsTv464L5YgbspaefAg9ExhSs6S+rwbPyY6K/EMRw1lHjs/XgPG2DCkGRx sqYjhaChnZEeSwADMVrEAtwGyZkjO9OUkuk7HpGldWTE8g/5u1MFYsVuINbK3tISn38UsjsLWUl 9Yg9+t3iPKRno7FfGI1X+1IkOgAFGSM5YofNpLsGUD1SG9QS9Bmfr3yhMpFOHmi8pxyr9SGXttM 9Fy7rO7gMkdFeuNzG0pAzTtMWOXO1rt0iNndvZrERz+/LHcy6ZkKuaLpk= X-Received: by 2002:a17:90a:da8d:b0:356:22ef:57ba with SMTP id 98e67ed59e1d1-35c2ff1be2cmr6736609a91.7.1774718678998; Sat, 28 Mar 2026 10:24:38 -0700 (PDT) Received: from toolbx ([103.103.35.11]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-35c22a5570esm10513773a91.3.2026.03.28.10.24.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 28 Mar 2026 10:24:38 -0700 (PDT) From: Dorjoy Chowdhury To: linux-fsdevel@vger.kernel.org Cc: linux-kernel@vger.kernel.org, linux-api@vger.kernel.org, ceph-devel@vger.kernel.org, gfs2@lists.linux.dev, linux-nfs@vger.kernel.org, linux-cifs@vger.kernel.org, v9fs@lists.linux.dev, linux-kselftest@vger.kernel.org, viro@zeniv.linux.org.uk, brauner@kernel.org, jack@suse.cz, jlayton@kernel.org, chuck.lever@oracle.com, alex.aring@gmail.com, arnd@arndb.de, adilger@dilger.ca, mjguzik@gmail.com, smfrench@gmail.com, richard.henderson@linaro.org, mattst88@gmail.com, linmag7@gmail.com, tsbogend@alpha.franken.de, James.Bottomley@HansenPartnership.com, deller@gmx.de, davem@davemloft.net, andreas@gaisler.com, idryomov@gmail.com, amarkuze@redhat.com, slava@dubeyko.com, agruenba@redhat.com, trondmy@kernel.org, anna@kernel.org, sfrench@samba.org, pc@manguebit.org, ronniesahlberg@gmail.com, sprasad@microsoft.com, tom@talpey.com, bharathsm@microsoft.com, shuah@kernel.org, miklos@szeredi.hu, hansg@kernel.org Subject: [PATCH v6 4/4] mips/fcntl.h: convert O_* flag macros from hex to octal Date: Sat, 28 Mar 2026 23:22:25 +0600 Message-ID: <20260328172314.45807-5-dorjoychy111@gmail.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260328172314.45807-1-dorjoychy111@gmail.com> References: <20260328172314.45807-1-dorjoychy111@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Following the convention in include/uapi/asm-generic/fcntl.h and other architecture specific arch/*/include/uapi/asm/fcntl.h files. Signed-off-by: Dorjoy Chowdhury --- arch/mips/include/uapi/asm/fcntl.h | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/arch/mips/include/uapi/asm/fcntl.h b/arch/mips/include/uapi/as= m/fcntl.h index 0369a38e3d4f..6aa3f49df17e 100644 --- a/arch/mips/include/uapi/asm/fcntl.h +++ b/arch/mips/include/uapi/asm/fcntl.h @@ -11,15 +11,15 @@ =20 #include =20 -#define O_APPEND 0x0008 -#define O_DSYNC 0x0010 /* used to be O_SYNC, see below */ -#define O_NONBLOCK 0x0080 -#define O_CREAT 0x0100 /* not fcntl */ -#define O_TRUNC 0x0200 /* not fcntl */ -#define O_EXCL 0x0400 /* not fcntl */ -#define O_NOCTTY 0x0800 /* not fcntl */ -#define FASYNC 0x1000 /* fcntl, for BSD compatibility */ -#define O_LARGEFILE 0x2000 /* allow large file opens */ +#define O_APPEND 0000010 +#define O_DSYNC 0000020 /* used to be O_SYNC, see below */ +#define O_NONBLOCK 0000200 +#define O_CREAT 0000400 /* not fcntl */ +#define O_TRUNC 0001000 /* not fcntl */ +#define O_EXCL 0002000 /* not fcntl */ +#define O_NOCTTY 0004000 /* not fcntl */ +#define FASYNC 0010000 /* fcntl, for BSD compatibility */ +#define O_LARGEFILE 0020000 /* allow large file opens */ /* * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value @@ -33,9 +33,9 @@ * * Note: __O_SYNC must never be used directly. */ -#define __O_SYNC 0x4000 +#define __O_SYNC 0040000 #define O_SYNC (__O_SYNC|O_DSYNC) -#define O_DIRECT 0x8000 /* direct disk access hint */ +#define O_DIRECT 0100000 /* direct disk access hint */ =20 #define F_GETLK 14 #define F_SETLK 6 --=20 2.53.0