Re: [PATCH 1/2] open: new O_REGULAR flag support
From: Dorjoy Chowdhury
Date: Sun Jan 25 2026 - 10:42:20 EST
On Sun, Jan 25, 2026 at 8:40 PM Arnd Bergmann <arnd@xxxxxxxx> wrote:
>
> 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.
>
Thanks for pointing this out. I will fix up in v2 along with other
comments (if any). I looked at the existing error codes in
uapi/asm-generic/errno.h and didn't notice anything that I could
reuse. So if I understand correctly, I will need this new error code
in both uapi/asm-generic/errno.h (not in errno-base.h) and in
arch/*/include/uapi/asm/errno.h (I see some parallel
tools/arch/*/include/uapi/asm/errno.h files too) just after EHWPOISON,
right?
> > 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.
>
And for this, I will need to just define O_REGULAR in alpha, parisc
and sparc too, right?
Good catch on the sparc file, some are octal, some are hexadecimal,
easy to miss. Thanks!
Regards,
Dorjoy