mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Jori Koolstra <jkoolstra@xs4all.nl>
To: NeilBrown <neil@brown.name>, NeilBrown <neilb@ownmail.net>,
	Christoph Hellwig <hch@infradead.org>,
	Christian Brauner <brauner@kernel.org>
Cc: Pedro Falcato <pfalcato@suse.de>,
	Jeff Layton <jlayton@kernel.org>,
	Al Viro <viro@zeniv.linux.org.uk>,
	Aleksa Sarai <aleksa@amutable.com>,
	Amir Goldstein <amir73il@gmail.com>, Jan Kara <jack@suse.cz>,
	linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v3 09/14] vfs: add O_CREAT|O_DIRECTORY to open*(2)
Date: Thu, 23 Jul 2026 02:10:44 +0200 (CEST)	[thread overview]
Message-ID: <1713122837.215334.1784765444011@kpc.webmail.kpnmail.nl> (raw)
In-Reply-To: <178475745953.3371781.2895727677996716858@noble.neil.brown.name>


> Op 22-07-2026 23:57 CEST schreef NeilBrown <neilb@ownmail.net>:
> 
>  
> On Wed, 22 Jul 2026, Jori Koolstra wrote:
> > 
> > If you want your software to be compatible with any Frankenstein-kernel
> > you just check what you O_CREATed is in fact a directory. If it is and
> > there is no EINVAL/EISDIR, you are running a supported kernel,
> > if it isn't, you're not.
> > 
> > Or you just require a minimal reasonable kernel version.
> 
> Without getting all the arguments about how people should write their
> apps and choose their kernels.....
> 
> Given how easy it would be to make this bullet proof by adding a "fail
> if this combination isn't explicit permitted" flag to openat2 - why
> don't we just do that so that it is EASY to write as safe app and EASY
> to choose a kernel (i.e. any kernel at all with do).

There are two potential issues with this approach, neither of them definitively
killing the idea, but still:

1. Afaik, openat2 used to (or still is?) blocked by many seccomp-profiles,
   in particular by systemd. And frankly, a lot of UAPI changes are driven
   by the needs of these large user space applications, so it may defeat
   some of the purpose if these applications cannot use the discovery
   mechanism.

2. Matter of style: openat2 should just be about opening files, I'd rather
   not multiplex is to also do feature discovery.

Actually, why isn't there a has_feature(2) syscall that takes the syscall # as
argument and some other struct describing a feature. Then when adding a new
feature that may need discovery, require to extend it in the same patch series,
then not even Frankenstein-kernels can get in trouble.

Anyway, it is up to Christian.

Best,
Jori.

  reply	other threads:[~2026-07-23  0:10 UTC|newest]

Thread overview: 69+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-04 16:41 [PATCH v3 00/14] " Jori Koolstra
2026-07-04 16:41 ` [PATCH v3 01/14] fs/namei.c: use trailing_slashes() Jori Koolstra
2026-07-06  3:56   ` NeilBrown
2026-07-06  7:29     ` David Laight
2026-07-06 20:55       ` Jori Koolstra
2026-07-07  7:42         ` David Laight
2026-07-07 10:51   ` Christian Brauner
2026-07-04 16:41 ` [PATCH v3 02/14] vfs: move create error && negative dentry case in lookup_open() up Jori Koolstra
2026-07-04 16:41 ` [PATCH v3 03/14] vfs: prepare vfs_creat|mkdir_no_perm for reuse in lookup_open() Jori Koolstra
2026-07-07 10:51   ` Christian Brauner
2026-07-04 16:41 ` [PATCH v3 04/14] vfs: call audit_inode_child() in lookup_open() on failure too Jori Koolstra
2026-07-06  5:33   ` NeilBrown
2026-07-06 21:20     ` Jori Koolstra
2026-07-06 23:02       ` NeilBrown
2026-07-07 10:51   ` Christian Brauner
2026-07-04 16:41 ` [PATCH v3 05/14] fs/namei.c: update docstring of atomic_open() Jori Koolstra
2026-07-06  5:36   ` NeilBrown
2026-07-07 10:51   ` Christian Brauner
2026-07-04 16:41 ` [PATCH v3 06/14] vfs: lookup_open(): move setting FMODE_CREATED down Jori Koolstra
2026-07-04 16:41 ` [PATCH v3 07/14] vfs: move ->create check in lookup_open() to before try_break_deleg() Jori Koolstra
2026-07-06  5:37   ` NeilBrown
2026-07-07 10:51   ` Christian Brauner
2026-07-04 16:41 ` [PATCH v3 08/14] vfs: lookup_open(): use vfs_create_no_perm() Jori Koolstra
2026-07-06  5:38   ` NeilBrown
2026-07-07 10:51   ` Christian Brauner
2026-07-04 16:41 ` [PATCH v3 09/14] vfs: add O_CREAT|O_DIRECTORY to open*(2) Jori Koolstra
2026-07-06  5:46   ` NeilBrown
2026-07-07  8:35   ` Pedro Falcato
2026-07-07 10:04     ` Christian Brauner
2026-07-07 13:04       ` Pedro Falcato
2026-07-07 13:30         ` Christian Brauner
2026-07-13  9:54       ` Christoph Hellwig
2026-07-13 21:35         ` NeilBrown
2026-07-14  5:10           ` Christoph Hellwig
2026-07-14 10:50             ` Jori Koolstra
2026-07-14 10:46         ` Jori Koolstra
2026-07-22 12:51         ` Christian Brauner
2026-07-22 13:10           ` Christoph Hellwig
2026-07-22 13:27             ` Jori Koolstra
2026-07-22 21:57               ` NeilBrown
2026-07-23  0:10                 ` Jori Koolstra [this message]
2026-07-24  9:33                   ` Christian Brauner
2026-07-24 13:04                     ` Jori Koolstra
2026-07-07 10:06     ` Jori Koolstra
2026-07-07 13:55       ` Pedro Falcato
2026-07-07 14:18         ` Jori Koolstra
2026-07-08 15:39           ` Pedro Falcato
2026-07-09  6:24             ` Christoph Hellwig
2026-07-09 10:51               ` Jori Koolstra
2026-07-09 14:21                 ` Christian Brauner
2026-07-09 14:34                   ` Jori Koolstra
2026-07-13  9:50                   ` Christoph Hellwig
2026-07-07 10:51   ` Christian Brauner
2026-07-10 18:55     ` Jori Koolstra
2026-07-12 12:39       ` Christian Brauner
2026-07-04 16:41 ` [PATCH v3 10/14] vfs: move O_IS_MKDIR check from lookup_open() into individual filesystems Jori Koolstra
2026-07-06  5:50   ` NeilBrown
2026-07-07 10:51   ` Christian Brauner
2026-07-04 16:41 ` [PATCH v3 11/14] vfs: refuse O_CREAT for directories through a dangling symlink Jori Koolstra
2026-07-06  5:51   ` NeilBrown
2026-07-04 16:41 ` [PATCH v3 12/14] vfs: short-circuit MAY_WRITE access for O_DIRECTORY opens Jori Koolstra
2026-07-06  5:51   ` NeilBrown
2026-07-04 16:41 ` [PATCH v3 13/14] selftest: fix headers in fclog.c Jori Koolstra
2026-07-06  5:57   ` NeilBrown
2026-07-06 21:07     ` Jori Koolstra
2026-07-07 10:51   ` Christian Brauner
2026-07-04 16:41 ` [PATCH v3 14/14] selftest: add tests for open*(O_CREAT|O_DIRECTORY) Jori Koolstra
2026-07-07 10:51   ` Christian Brauner
2026-07-07 10:51 ` [PATCH v3 00/14] vfs: add O_CREAT|O_DIRECTORY to open*(2) Christian Brauner

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=1713122837.215334.1784765444011@kpc.webmail.kpnmail.nl \
    --to=jkoolstra@xs4all.nl \
    --cc=aleksa@amutable.com \
    --cc=amir73il@gmail.com \
    --cc=brauner@kernel.org \
    --cc=hch@infradead.org \
    --cc=jack@suse.cz \
    --cc=jlayton@kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=neil@brown.name \
    --cc=neilb@ownmail.net \
    --cc=pfalcato@suse.de \
    --cc=viro@zeniv.linux.org.uk \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®