Re: [PATCH] proc: fix type confusion in pde_set_flags()

From: Andrew Morton
Date: Thu Sep 04 2025 - 18:55:42 EST


On Thu, 4 Sep 2025 21:57:15 +0800 wangzijie <wangzijie1@xxxxxxxxx> wrote:

> Commit 2ce3d282bd50 ("proc: fix missing pde_set_flags() for net proc files")
> missed a key part in the definition of proc_dir_entry:
>
> union {
> const struct proc_ops *proc_ops;
> const struct file_operations *proc_dir_ops;
> };
>
> So dereference of ->proc_ops assumes it is a proc_ops structure results in
> type confusion and make NULL check for 'proc_ops' not work for proc dir.
>
> Add !S_ISDIR(dp->mode) test before calling pde_set_flags() to fix it.
>
> Fixes: 2ce3d282bd50 ("proc: fix missing pde_set_flags() for net proc files")

2ce3d282bd50 had cc:stable, so I added cc:stable to this patch.

> Reported-by: Brad Spengler <spender@xxxxxxxxxxxxxx>
> Signed-off-by: wangzijie <wangzijie1@xxxxxxxxx>

A link to Brad's report would be helpful please, if available. We
typically use Closes: for such things.