Re: [syzbot] [mptcp?] general protection fault in proc_scheduler

From: Al Viro
Date: Sat Jan 04 2025 - 14:00:32 EST


On Sat, Jan 04, 2025 at 07:53:22PM +0100, Eric Dumazet wrote:

> I do think this is a bug in process accounting, not in networking.
>
> It might make sense to output a record on a regular file, but probably
> not on any other files.
>
> diff --git a/kernel/acct.c b/kernel/acct.c
> index 179848ad33e978a557ce695a0d6020aa169177c6..a211305cb930f6860d02de7f45ebd260ae03a604
> 100644
> --- a/kernel/acct.c
> +++ b/kernel/acct.c
> @@ -495,6 +495,9 @@ static void do_acct_process(struct bsd_acct_struct *acct)
> const struct cred *orig_cred;
> struct file *file = acct->file;
>
> + if (S_ISREG(file_inode(file)->i_mode))
> + return;

... won't help, since the file in question *is* a regular file. IOW, it's
a wrong predicate here.