Re: start switching sysfs attributes to expose the seq_file

From: Bart Van Assche
Date: Mon Sep 13 2021 - 22:53:10 EST


On 9/13/21 09:46, Greg Kroah-Hartman wrote:
On Mon, Sep 13, 2021 at 09:39:56AM -0700, Bart Van Assche wrote:
On 9/12/21 10:41 PM, Christoph Hellwig wrote:
Al pointed out multiple times that seq_get_buf is highly dangerous as
it opens up the tight seq_file abstractions to buffer overflows. The
last such caller now is sysfs.

This series allows attributes to implement a seq_show method and switch
the block and XFS code as users that I'm most familiar with to use
seq_files directly after a few preparatory cleanups. With this series
"leaf" users of sysfs_ops can be converted one at at a time, after that
we can move the seq_get_buf into the multiplexers (e.g. kobj, device,
class attributes) and remove the show method in sysfs_ops and repeat the
process until all attributes are converted. This will probably take a
fair amount of time.

Hi Christoph,

Thanks for having done this work. In case you would need it, some time ago
I posted the following sysfs patch but did not receive any feedback:
"[PATCH] kernfs: Improve lockdep annotation for files which implement mmap"
(https://lore.kernel.org/linux-kernel/20191004161124.111376-1-bvanassche@xxxxxxx/).


That was from back in 2019, sorry I must have missed it.

Care to rebase and resend it if it is still needed?

Hi Greg,

I think that patch is still relevant. It removes some ugly code from sysfs. I will rebase, retest and resend it.

Thanks,

Bart.