Re: [PATCH 1/2] open: new O_REGULAR flag support

From: Arnd Bergmann

Date: Sun Jan 25 2026 - 09:40:41 EST


On Sun, Jan 25, 2026, at 15:14, Dorjoy Chowdhury wrote:

> diff --git a/include/uapi/asm-generic/errno-base.h
> b/include/uapi/asm-generic/errno-base.h
> index 9653140bff92..ea9a96d30737 100644
> --- a/include/uapi/asm-generic/errno-base.h
> +++ b/include/uapi/asm-generic/errno-base.h
> @@ -36,5 +36,6 @@
> #define EPIPE 32 /* Broken pipe */
> #define EDOM 33 /* Math argument out of domain of func */
> #define ERANGE 34 /* Math result not representable */
> +#define ENOTREGULAR 35 /* Not a regular file */

This clashes with EDEADLK on most architectures, or with
EAGAIN on alpha and ENOMSG on mips/parisc. You probably
need to pick the next free value in uapi/asm-generic/errno.h
and arch/*/include/uapi/asm/errno.h and keep this sorted
after EHWPOISON if you can't find an existing error code.

> diff --git a/include/uapi/asm-generic/fcntl.h b/include/uapi/asm-generic/fcntl.h
> index 613475285643..11e5eadab868 100644
> --- a/include/uapi/asm-generic/fcntl.h
> +++ b/include/uapi/asm-generic/fcntl.h
> @@ -88,6 +88,10 @@
> #define __O_TMPFILE 020000000
> #endif
>
> +#ifndef O_REGULAR
> +#define O_REGULAR 040000000
> +#endif

This in turn clashes with O_PATH on alpha, __O_TMPFILE on
parisc, and __O_SYNC on sparc. We can probably fill the holes
in asm/fcntl.h to define this.

Arnd