LinuxPPC-Dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH RFC 0/7] proc: move procfs to what kernfs does
@ 2026-11-02 14:19 Christian Brauner
  2026-11-02 14:21 ` [PATCH RFC 00/38] proc: fix a few old bugs in /proc handlers Christian Brauner
                   ` (6 more replies)
  0 siblings, 7 replies; 156+ messages in thread
From: Christian Brauner @ 2026-11-02 14:19 UTC (permalink / raw)
  To: linux-fsdevel
  Cc: Christian Brauner, Linus Torvalds, Jann Horn, Josef Bacik,
	Chris Mason, Jeff Layton, NeilBrown, Eric Dumazet,
	Thomas Gleixner, Al Viro, Jonathan Corbet, Christoph Hellwig,
	Greg Kroah-Hartman, Joel Granados, Kees Cook, Jan Kara, Jan Kara,
	linux-kernel, linux-nfs, linux-acpi, linux-kselftest, linux-s390,
	linux-scsi, linux-um, linux-wireless, linuxppc-dev, netdev, ntfs3,
	platform-driver-x86, coreteam, kexec, linux-pci, linux-sound,
	netfilter-devel, dri-devel, ibm-acpi-devel, jfs-discussion,
	linux-alpha, linux-arm-kernel, linux-cifs, linux-fbdev,
	linux-hwmon, linux-mm, linux-sh, linux-usb, samba-technical,
	sparclinux, linux-m68k, linux-doc, linux-serial,
	linux-atm-general, Chuck Lever, Takashi Iwai, linux-input,
	linux-raid, linux-ext4, linux-modules, linux-debuggers

Ok, as mentioned off-list I have an RFC version of getting rid of page
fault induced stalls in procfs when removing entry which plagues
networking devices among others.

There was a hackish very narrow AI solution to a part of this bug class
that was floated off-list. It used a second buffering mechanism on top
of seqfiles which was really nasty. Plus, it didn't fix the whole bug
class, it only eliminated a small portion. If we want to get rid of the
whole page fault issue we need a bigger hammer. So I tried to work
through that over the last couple of weeks. The series in a shape where
it's not totally insane to have someone else look at it. So here it is.

I understand it's big but I thought it's probably nicer to look at the
end result than just making a promise of what it might end up looking
like.

It's not super polished yet and I haven't gotten into sorting out all
the warts as there were some really gnarly bugs in there like the whole
readdir mess that repeated entries or terminated early. I think we could
go a lot further there if we wanted to but I think that blows this out
of proportion and at some point it becomes difficult to grasp the scope.
So I'd rather delay that until I have a sense of how acceptable this all
is.

remove_proc_entry() waits until every call into the entry has returned,
and most of those calls copy to or from userspace with the entry pinned.

A reader or writer can make a page fault in that copy take as long as
it wants, with userfaultfd or by punching holes into a memfd over and
over. And the callers of remove_proc_entry() like to hold locks while
they wait. addrconf holds RTNL when it removes /proc/net/dev_snmp6/<dev>
and xt_hashlimit holds a mutex that all network namespaces share.

Every network device with IPv6 gets a /proc/net/dev_snmp6/<dev> that
everyone can read, and addrconf_ifdown() removes it with RTNL held. So
any local user can keep RTNL for as long as their read stays stalled.
Until then no device can be registered, removed or renamed and no
network namespace can be created or torn down.

Without privileges a FUSE mount in a user namespace whose daemon never
answers is enough to stall the copy. Killing the reader ends it, but
until then whoever removes the file sits in D state.

xt_hashlimit removes the proc file of a table with hashlimit_mutex
held. Every rule insert in every network namespace takes that mutex and
so does network namespace cleanup. cleanup_net() runs on a single
workqueue with pernet_ops_rwsem held, so a stalled reader also stops
every later network namespace teardown and every module load that
registers pernet operations. xt_recent does the same with recent_mutex.

And it's not specific to networking. remove_proc_entry(), proc_remove()
and remove_proc_subtree() have over 200 callers and plenty of them hold
locks. A stalled reader of /proc/fs/ext4/<dev>/options holds up the
unmount of that filesystem with s_umount held, and every sync(2) with
it. The same goes for PCI hot-removal, for freeing IRQ descriptors,
which CPU bring-up waits on, and for unplugging a USB sound card.
syzbot has hit removal under locks before (cf. [1]), and the xt_recent
deadlock fixed in (1) below is another one.

Stalling the kernel in a copy to or from userspace is a well-known
exploitation primitive. It's why unprivileged userfaultfd can't do it
by default anymore since v5.11 (d0d4730ac2e4), and FUSE has been used
the same way.

kernfs doesn't have that problem. The code of a kernfs file only ever
runs with the node pinned and never touches userspace memory, kernfs
copies in and out itself. This moves procfs over to the same scheme.

sysfs has only held its active reference around ->show() and ->store()
since v2.6.23, the same release that made remove_proc_entry() wait for
the entry's callers. A copy to userspace couldn't be stalled for long
back then. userfaultfd only came in v4.3 and FUSE in user namespaces in
v4.18. configfs moved its copies out of its active reference in v5.3
and DRM copies ioctl arguments in and out around the driver's handler
the same way. debugfs still holds its reference across the copies,
ran into a deadlock with wifi drivers because of it and grew an API to
cancel operations instead (cf. [2]).

That touches just about every ->proc_read(), ->proc_write() and
->proc_ioctl() in the tree, so I've split it up into seven series. They
go out as replies to this mail:

(1) proc: fix a few old bugs in /proc handlers (38 patches)

    Bugs in the handlers and in procfs itself that are a lot older than
    the conversion and that reviewing it turned up. Most of them are for
    stable. They come first so they can go there on their own and the
    conversion doesn't have to bother with that crap.

(2) proc: let procfs own the data path (16 patches)

    The procfs side. procfs owns the seq_file of an entry, copies in
    writes, copies out reads and copies ioctl arguments in and out, and
    only calls into an entry with it pinned. proc_create_seq() and
    friends and the plain seq_file users are switched over here too.

(3) proc: convert the arch and platform entries (22 patches)
(4) proc: convert the driver entries (23 patches)
(5) proc: convert the fs, kernel and mm entries (27 patches)
(6) proc: convert the net entries and the kfifo samples (11 patches)

(7) proc: drop the __user methods (5 patches)

    Drops the old methods for every entry that can be removed and gives
    the new ones the names kernfs uses, ->proc_read(), ->proc_write()
    and ->proc_ioctl(). This needs all four conversion series.

The series should all indicate cleanly what dependencies they have so b4
should be able to pull it for review. But I could be wrong.

With all of it on a KASAN and lockdep kernel the removal selftests of
every part pass, the proc, pktgen and allocinfo selftests behave like
without it and the bugs from (1) that reproduce in a VM are gone. Every
patch builds on its own on x86_64 and i386, and with W=1 on the
architectures it touches.

[1]: https://lore.kernel.org/r/000000000000f24f4705b6988f3e@google.com
[2]: https://lore.kernel.org/r/20231109212251.213873-7-johannes@sipsolutions.net

-- 
Christian Brauner <brauner@kernel.org>


^ permalink raw reply	[flat|nested] 156+ messages in thread

end of thread, other threads:[~2026-11-02 18:05 UTC | newest]

Thread overview: 156+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-11-02 14:19 [PATCH RFC 0/7] proc: move procfs to what kernfs does Christian Brauner
2026-11-02 14:21 ` [PATCH RFC 00/38] proc: fix a few old bugs in /proc handlers Christian Brauner
2026-11-02 14:21   ` [PATCH RFC 01/38] PCI/proc: don't truncate the position of config space accesses Christian Brauner
2026-11-02 17:58     ` Linus Torvalds
2026-11-02 14:21   ` [PATCH RFC 02/38] PNP: isapnp: don't read past the end of the buffer on a large pread() Christian Brauner
2026-11-02 14:51     ` Rafael J. Wysocki (Intel)
2026-11-02 14:21   ` [PATCH RFC 03/38] netfilter: xt_recent: don't remove the proc entries under a spinlock Christian Brauner
2026-11-02 14:41     ` Florian Westphal
2026-11-02 14:21   ` [PATCH RFC 04/38] s390/dasd: don't look in front of the buffer on an empty write Christian Brauner
2026-11-02 14:21   ` [PATCH RFC 05/38] platform/x86: toshiba_acpi: reject malformed brightness and fan writes Christian Brauner
2026-11-02 14:21   ` [PATCH RFC 06/38] xtensa: simdisk: don't read the file name without the lock Christian Brauner
2026-11-02 14:21   ` [PATCH RFC 07/38] powerpc/rtas_flash: don't read past the validate message Christian Brauner
2026-11-02 14:21   ` [PATCH RFC 08/38] powerpc/rtasd: zero the error log buffer Christian Brauner
2026-11-02 14:21   ` [PATCH RFC 09/38] ALSA: info: don't write past the end of a data entry Christian Brauner
2026-11-02 14:21   ` [PATCH RFC 10/38] scsi: BusLogic: don't return 0 from writes to the proc file Christian Brauner
2026-11-02 14:21   ` [PATCH RFC 11/38] scsi: ips: " Christian Brauner
2026-11-02 14:21   ` [PATCH RFC 12/38] wifi: libipw: don't return 0 from writes to debug_level Christian Brauner
2026-11-02 14:21   ` [PATCH RFC 13/38] scsi: core: NUL-terminate what is written to the host proc files Christian Brauner
2026-11-02 14:21   ` [PATCH RFC 14/38] um: NUL-terminate what is written to /proc/exitcode Christian Brauner
2026-11-02 14:21   ` [PATCH RFC 15/38] ntfs3: don't warn when a huge label is written Christian Brauner
2026-11-02 14:21   ` [PATCH RFC 16/38] proc: don't walk through a non-directory when resolving a name Christian Brauner
2026-11-02 14:21   ` [PATCH RFC 17/38] net: pktgen: reject device names with a '/' Christian Brauner
2026-11-02 14:21   ` [PATCH RFC 18/38] proc: don't WARN about a name that is already registered Christian Brauner
2026-11-02 14:21   ` [PATCH RFC 19/38] proc: resume readdir after the last name it returned Christian Brauner
2026-11-02 14:21   ` [PATCH RFC 20/38] selftests/proc: check a /proc listing while entries come and go Christian Brauner
2026-11-02 14:21   ` [PATCH RFC 21/38] proc: let proc_remove() remove the entry it was given Christian Brauner
2026-11-02 14:21   ` [PATCH RFC 22/38] proc: warn about entries left in /proc/net of a dying namespace Christian Brauner
2026-11-02 14:21   ` [PATCH RFC 23/38] proc: don't let NOMMU map procfs files Christian Brauner
2026-11-02 14:21   ` [PATCH RFC 24/38] proc/vmcore: don't let vmcore_cleanup() run twice at once Christian Brauner
2026-11-02 14:21   ` [PATCH RFC 25/38] powerpc/crash_dump: check ioremap_cache() in copy_oldmem_page() Christian Brauner
2026-11-02 14:21   ` [PATCH RFC 26/38] powerpc/crash_dump: recover from a machine check " Christian Brauner
2026-11-02 14:21   ` [PATCH RFC 27/38] sunrpc: make queue_wait a global wait queue again Christian Brauner
2026-11-02 15:12     ` Chuck Lever
2026-11-02 14:21   ` [PATCH RFC 28/38] scsi: esas2r: bound the lengths of the HBA, SMP and firmware ioctls Christian Brauner
2026-11-02 14:21   ` [PATCH RFC 29/38] powerpc/pseries: bound the lengths in the ofdt property parser Christian Brauner
2026-11-02 14:21   ` [PATCH RFC 30/38] powerpc/pseries/lparcfg: return h_get_ppp()'s status as a long Christian Brauner
2026-11-02 14:21   ` [PATCH RFC 31/38] proc: sysctl: resume readdir after the last name it returned Christian Brauner
2026-11-02 14:21   ` [PATCH RFC 32/38] selftests/proc: check a sysctl listing while entries come and go Christian Brauner
2026-11-02 14:21   ` [PATCH RFC 33/38] proc: sysctl: copy to and from userspace without holding the table Christian Brauner
2026-11-02 14:21   ` [PATCH RFC 34/38] proc: sysctl: look at the table under sysctl_lock when creating an inode Christian Brauner
2026-11-02 14:21   ` [PATCH RFC 35/38] proc: sysctl: don't hold the tables while readdir copies to userspace Christian Brauner
2026-11-02 14:43   ` [PATCH RFC 36/38] selftests/proc: check that faulting sysctl accesses don't hold up removal Christian Brauner
2026-11-02 14:43   ` [PATCH RFC 37/38] proc: don't pin a symlink's entry while readlink() copies it out Christian Brauner
2026-11-02 14:43   ` [PATCH RFC 38/38] selftests/proc: check that a faulting readlink() doesn't hold up removal Christian Brauner
2026-11-02 14:48 ` [PATCH RFC 00/16] proc: let procfs own the data path Christian Brauner
2026-11-02 14:48   ` [PATCH RFC 01/16] proc: drop the compat file operations Christian Brauner
2026-11-02 14:48   ` [PATCH RFC 02/16] proc: add pde_pin() and pde_unpin() Christian Brauner
2026-11-02 14:48   ` [PATCH RFC 03/16] proc: make room for more entry flags Christian Brauner
2026-11-02 14:48   ` [PATCH RFC 04/16] proc: let procfs own the seq_file of seq_file entries Christian Brauner
2026-11-02 14:48   ` [PATCH RFC 05/16] proc: let procfs own the seq_file of proc_create_seq() and friends Christian Brauner
2026-11-02 14:48   ` [PATCH RFC 06/16] proc: let procfs own the seq_file of DEFINE_PROC_SHOW_ATTRIBUTE() files Christian Brauner
2026-11-02 14:48   ` [PATCH RFC 07/16] treewide: let procfs own the seq_file of simple proc entries Christian Brauner
2026-11-02 14:48   ` [PATCH RFC 08/16] selftests/proc: check that a faulting reader doesn't hold up removal Christian Brauner
2026-11-02 14:48   ` [PATCH RFC 09/16] seq_file: add seq_preallocate() Christian Brauner
2026-11-02 14:48   ` [PATCH RFC 10/16] proc: let procfs own the seq_file of /proc/stat Christian Brauner
2026-11-02 14:48   ` [PATCH RFC 11/16] proc: let procfs copy in writes before pinning the entry Christian Brauner
2026-11-02 14:48   ` [PATCH RFC 12/16] proc: copy in writes to the network namespace entries before pinning Christian Brauner
2026-11-02 14:48   ` [PATCH RFC 13/16] proc: let procfs copy out reads that don't go through seq_file Christian Brauner
2026-11-02 14:48   ` [PATCH RFC 14/16] fs/proc/vmcore: let procfs copy out reads Christian Brauner
2026-11-02 14:48   ` [PATCH RFC 15/16] proc: let procfs copy ioctl arguments in and out Christian Brauner
2026-11-02 14:48   ` [PATCH RFC 16/16] Documentation: seq_file: describe how a /proc file uses seq_file Christian Brauner
2026-11-02 15:01 ` [PATCH RFC 00/22] proc: convert the arch and platform entries Christian Brauner
2026-11-02 15:01   ` [PATCH RFC 01/22] alpha: srm_env: let procfs copy in writes Christian Brauner
2026-11-02 15:01   ` [PATCH RFC 02/22] ARM: alignment: " Christian Brauner
2026-11-02 15:01   ` [PATCH RFC 03/22] ARM: atags: let procfs copy out reads of /proc/atags Christian Brauner
2026-11-02 15:01   ` [PATCH RFC 04/22] m68k/bootinfo: let procfs copy out reads of /proc/bootinfo Christian Brauner
2026-11-02 15:01   ` [PATCH RFC 05/22] powerpc/rtas: let procfs copy in writes Christian Brauner
2026-11-02 15:01   ` [PATCH RFC 06/22] powerpc/rtas: let procfs copy out reads Christian Brauner
2026-11-02 15:01   ` [PATCH RFC 07/22] powerpc/pseries: let procfs copy in writes Christian Brauner
2026-11-02 15:01   ` [PATCH RFC 08/22] powerpc/procfs: let procfs copy out reads of /proc/powerpc/systemcfg Christian Brauner
2026-11-02 15:01   ` [PATCH RFC 09/22] sh: alignment: let procfs copy in writes Christian Brauner
2026-11-02 15:01   ` [PATCH RFC 10/22] sparc: led: " Christian Brauner
2026-11-02 15:01   ` [PATCH RFC 11/22] um: " Christian Brauner
2026-11-02 15:01   ` [PATCH RFC 12/22] x86/mtrr: let procfs own the seq_file of /proc/mtrr Christian Brauner
2026-11-02 15:01   ` [PATCH RFC 13/22] x86/mtrr: let procfs copy in writes to /proc/mtrr Christian Brauner
2026-11-02 15:01   ` [PATCH RFC 14/22] x86/mtrr: let procfs copy the ioctl arguments of /proc/mtrr Christian Brauner
2026-11-02 15:01   ` [PATCH RFC 15/22] xtensa: simdisk: let procfs copy in writes Christian Brauner
2026-11-02 15:01   ` [PATCH RFC 16/22] xtensa: simdisk: let procfs copy out reads Christian Brauner
2026-11-02 15:01   ` [PATCH RFC 17/22] ACPI: proc: let procfs copy in writes to /proc/acpi/wakeup Christian Brauner
2026-11-02 15:01   ` [PATCH RFC 18/22] macintosh/via-pmu: let procfs copy in writes to the options file Christian Brauner
2026-11-02 15:01   ` [PATCH RFC 19/22] platform/x86: thinkpad_acpi: let procfs copy in writes Christian Brauner
2026-11-02 15:01   ` [PATCH RFC 20/22] platform/x86: toshiba_acpi: " Christian Brauner
2026-11-02 15:01   ` [PATCH RFC 21/22] PNP: pnpbios: " Christian Brauner
2026-11-02 15:01   ` [PATCH RFC 22/22] PNP: isapnp: let procfs copy out reads Christian Brauner
2026-11-02 15:07 ` [PATCH RFC 00/23] proc: convert the driver entries Christian Brauner
2026-11-02 15:07   ` [PATCH RFC 01/23] nubus: let procfs own the seq_file of the resource files Christian Brauner
2026-11-02 15:07   ` [PATCH RFC 02/23] zorro: let procfs copy out reads Christian Brauner
2026-11-02 15:07   ` [PATCH RFC 03/23] PCI/proc: let procfs copy in config space writes Christian Brauner
2026-11-02 15:07   ` [PATCH RFC 04/23] PCI/proc: let procfs copy out config space reads Christian Brauner
2026-11-02 15:07   ` [PATCH RFC 05/23] PCI/proc: let procfs handle the ioctls Christian Brauner
2026-11-02 15:07   ` [PATCH RFC 06/23] md: let procfs own the seq_file of /proc/mdstat Christian Brauner
2026-11-02 15:07   ` [PATCH RFC 07/23] s390/dasd: let procfs copy in writes to /proc/dasd/statistics Christian Brauner
2026-11-02 15:07   ` [PATCH RFC 08/23] s390/cio: let procfs copy in writes Christian Brauner
2026-11-02 15:07   ` [PATCH RFC 09/23] scsi: let procfs own the seq_file of the host files Christian Brauner
2026-11-02 15:07   ` [PATCH RFC 10/23] scsi: core: let procfs copy in writes Christian Brauner
2026-11-02 15:07   ` [PATCH RFC 11/23] selftests/proc: check that a faulting writer doesn't hold up removal Christian Brauner
2026-11-02 15:07   ` [PATCH RFC 12/23] scsi: sg: let procfs own the seq_file of allow_dio and def_reserved_size Christian Brauner
2026-11-02 15:07   ` [PATCH RFC 13/23] scsi: sg: let procfs copy in writes Christian Brauner
2026-11-02 15:07   ` [PATCH RFC 14/23] scsi: esas2r: let procfs copy the ioctl argument of the ATTONode file Christian Brauner
2026-11-02 15:07   ` [PATCH RFC 15/23] hwmon: (dell-smm) let procfs copy the i8k ioctl arguments Christian Brauner
2026-11-02 15:07   ` [PATCH RFC 16/23] fbdev: viafb: let procfs copy in writes Christian Brauner
2026-11-02 15:07   ` [PATCH RFC 17/23] usb: gadget: function: rndis: " Christian Brauner
2026-11-02 15:07   ` [PATCH RFC 18/23] wifi: ipw2x00: let procfs copy in writes to the debug level Christian Brauner
2026-11-02 15:07   ` [PATCH RFC 19/23] tty: sysrq: let procfs copy in writes to /proc/sysrq-trigger Christian Brauner
2026-11-02 15:07   ` [PATCH RFC 20/23] ALSA: info: let procfs own the seq_file of text entries Christian Brauner
2026-11-02 15:07   ` [PATCH RFC 21/23] ALSA: info: let procfs copy in writes Christian Brauner
2026-11-02 15:07   ` [PATCH RFC 22/23] ALSA: info: let procfs copy out reads of data entries Christian Brauner
2026-11-02 15:07   ` [PATCH RFC 23/23] ALSA: info: drop the ioctl hook " Christian Brauner
2026-11-02 15:07 ` [PATCH RFC 00/27] proc: convert the fs, kernel and mm entries Christian Brauner
2026-11-02 15:07   ` [PATCH RFC 01/27] jbd2: let procfs own the seq_file of the info file Christian Brauner
2026-11-02 15:07   ` [PATCH RFC 02/27] jfs: let procfs copy in writes to the loglevel file Christian Brauner
2026-11-02 15:07   ` [PATCH RFC 03/27] lockd: let procfs copy in writes to nlm_end_grace Christian Brauner
2026-11-02 15:23     ` Chuck Lever
2026-11-02 15:07   ` [PATCH RFC 04/27] lockd: let procfs copy out reads of nlm_end_grace Christian Brauner
2026-11-02 15:24     ` Chuck Lever
2026-11-02 15:07   ` [PATCH RFC 05/27] nfsd: factor out setting up the exports seq_file Christian Brauner
2026-11-02 15:07   ` [PATCH RFC 06/27] nfsd: let procfs own the seq_file of /proc/fs/nfs/exports Christian Brauner
2026-11-02 15:07   ` [PATCH RFC 07/27] ntfs3: let procfs copy in writes to the label file Christian Brauner
2026-11-02 15:07   ` [PATCH RFC 08/27] smb: client: let procfs own the seq_file of the smbdirect files Christian Brauner
2026-11-02 15:07   ` [PATCH RFC 09/27] smb: client: let procfs copy in writes Christian Brauner
2026-11-02 15:07   ` [PATCH RFC 10/27] genirq/proc: let procfs copy in the affinity masks Christian Brauner
2026-11-02 15:07   ` [PATCH RFC 11/27] latencytop: let procfs copy in writes to /proc/latency_stats Christian Brauner
2026-11-02 15:07   ` [PATCH RFC 12/27] locking/lockdep: let procfs own the seq_file of /proc/lock_stat Christian Brauner
2026-11-02 15:07   ` [PATCH RFC 13/27] locking/lockdep: let procfs copy in writes to /proc/lock_stat Christian Brauner
2026-11-02 15:07   ` [PATCH RFC 14/27] profiling: let procfs copy in writes to /proc/profile Christian Brauner
2026-11-02 15:07   ` [PATCH RFC 15/27] profiling: mark /proc/profile permanent Christian Brauner
2026-11-02 15:07   ` [PATCH RFC 16/27] sched/psi: let procfs own the seq_file of the pressure files Christian Brauner
2026-11-02 15:07   ` [PATCH RFC 17/27] sched/psi: let procfs copy in trigger writes Christian Brauner
2026-11-02 15:07   ` [PATCH RFC 18/27] sched/psi: mark the pressure files permanent Christian Brauner
2026-11-02 15:07   ` [PATCH RFC 19/27] kallsyms: let procfs own the seq_file of /proc/kallsyms Christian Brauner
2026-11-02 15:07   ` [PATCH RFC 20/27] module: procfs: let procfs own the seq_file of /proc/modules Christian Brauner
2026-11-02 15:07   ` [PATCH RFC 21/27] dyndbg: let procfs copy in writes to /proc/dynamic_debug/control Christian Brauner
2026-11-02 15:07   ` [PATCH RFC 22/27] ipc: let procfs own the seq_file of the sysvipc files Christian Brauner
2026-11-02 15:07   ` [PATCH RFC 23/27] alloc_tag: let procfs own the seq_file of /proc/allocinfo Christian Brauner
2026-11-02 15:07   ` [PATCH RFC 24/27] alloc_tag: let procfs copy the ioctl arguments " Christian Brauner
2026-11-02 15:07   ` [PATCH RFC 25/27] mm/swapfile: let procfs own the seq_file of /proc/swaps Christian Brauner
2026-11-02 15:07   ` [PATCH RFC 26/27] kernel/configs: let procfs copy out reads of /proc/config.gz Christian Brauner
2026-11-02 15:07   ` [PATCH RFC 27/27] selftests/proc: check that unloading configs doesn't wait for a reader Christian Brauner
2026-11-02 15:07 ` [PATCH RFC 00/11] proc: convert the net entries and the kfifo samples Christian Brauner
2026-11-02 15:07   ` [PATCH RFC 01/11] atm: let procfs copy out reads of the device files Christian Brauner
2026-11-02 15:07   ` [PATCH RFC 02/11] l2tp: let procfs own the seq_file of /proc/net/pppol2tp Christian Brauner
2026-11-02 15:07   ` [PATCH RFC 03/11] net: pktgen: let procfs copy in commands Christian Brauner
2026-11-02 15:07   ` [PATCH RFC 04/11] netfilter: xt_recent: let procfs own the seq_file Christian Brauner
2026-11-02 15:07   ` [PATCH RFC 05/11] netfilter: xt_recent: let procfs copy in writes Christian Brauner
2026-11-02 15:07   ` [PATCH RFC 06/11] SUNRPC: let procfs own the seq_file of the cache content file Christian Brauner
2026-11-02 15:07   ` [PATCH RFC 07/11] SUNRPC: let procfs copy in writes Christian Brauner
2026-11-02 15:07   ` [PATCH RFC 08/11] SUNRPC: let procfs copy out reads Christian Brauner
2026-11-02 15:07   ` [PATCH RFC 09/11] SUNRPC: drop the ioctl of the procfs channel files Christian Brauner
2026-11-02 15:07   ` [PATCH RFC 10/11] samples/kfifo: let procfs copy in writes Christian Brauner
2026-11-02 15:07   ` [PATCH RFC 11/11] samples/kfifo: let procfs copy out reads Christian Brauner
2026-11-02 15:15 ` [PATCH RFC 0/5] proc: drop the __user methods Christian Brauner
2026-11-02 15:15   ` [PATCH RFC 1/5] proc: drop ->proc_write() Christian Brauner
2026-11-02 15:15   ` [PATCH RFC 2/5] proc: drop ->proc_ioctl() and ->proc_compat_ioctl() Christian Brauner
2026-11-02 15:15   ` [PATCH RFC 3/5] proc: only let permanent entries read straight into userspace Christian Brauner
2026-11-02 15:15   ` [PATCH RFC 4/5] proc: rename ->proc_read() and ->proc_read_iter() Christian Brauner
2026-11-02 15:15   ` [PATCH RFC 5/5] proc: drop the _buf suffix from the new methods Christian Brauner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox