[PATCH 0/2] proc: proc_setattr for /proc/$PID/net

From: Zhangjin Wu
Date: Fri Jun 30 2023 - 10:06:33 EST


Hi, Thomas

Just applied your patchset on v6.4, and then:

- revert the 1st patch: 'selftests/nolibc: drop test chmod_net' manually

- do the 'run' test of nolibc on arm/vexpress-a9

The 'chmod_net' test of tools/testing/selftests/nolibc/nolibc-test.c
really failed as expected (and therefore, should be removed):

11 chdir_root = 0 [OK]
12 chdir_dot = 0 [OK]
13 chdir_blah = -1 ENOENT [OK]
14 chmod_net = -1 EPERM [FAIL]
15 chmod_self = -1 EPERM [OK]
16 chmod_tmpdir = 0 [OK]
17 chown_self = -1 EPERM [OK]

So, If this test result is enough for this patch, here is my:

Tested-by: Zhangjin Wu <falcon@xxxxxxxxxxx>

Best regards,
Zhangjin

> /proc/$PID/net currently allows the setting of file attributes,
> in contrast to other /proc/$PID/ files and directories.
>
> This would break the nolibc testsuite so the first patch in the series
> removes the offending testcase.
> The "fix" for nolibc-test is intentionally kept trivial as the series
> will most likely go through the filesystem tree and if conflicts arise,
> it is obvious on how to resolve them.
>
> Technically this can lead to breakage of nolibc-test if an old
> nolibc-test is used with a newer kernel containing the fix.
>
> Note:
>
> Except for /proc itself this is the only "struct inode_operations" in
> fs/proc/ that is missing an implementation of setattr().
>
> Signed-off-by: Thomas Weißschuh <linux@xxxxxxxxxxxxxx>
> ---
> Thomas Weißschuh (2):
> selftests/nolibc: drop test chmod_net
> proc: use generic setattr() for /proc/$PID/net
>
> fs/proc/proc_net.c | 1 +
> tools/testing/selftests/nolibc/nolibc-test.c | 1 -
> 2 files changed, 1 insertion(+), 1 deletion(-)
> ---
> base-commit: a92b7d26c743b9dc06d520f863d624e94978a1d9
> change-id: 20230624-proc-net-setattr-8f0a6b8eb2f5
>
> Best regards,
> --
> Thomas Weißschuh <linux@xxxxxxxxxxxxxx>