Commit 0ce9398
proc: fix type confusion in pde_set_flags()
Commit 2ce3d28 ("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.
Link: https://lkml.kernel.org/r/[email protected]
Fixes: 2ce3d28 ("proc: fix missing pde_set_flags() for net proc files")
Signed-off-by: wangzijie <[email protected]>
Reported-by: Brad Spengler <[email protected]>
Closes: https://lore.kernel.org/all/[email protected]/
Cc: Alexey Dobriyan <[email protected]>
Cc: Al Viro <[email protected]>
Cc: Christian Brauner <[email protected]>
Cc: Jiri Slaby <[email protected]>
Cc: Stefano Brivio <[email protected]>
Cc: <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>1 parent 3fac212 commit 0ce9398
1 file changed
+2
-1
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
393 | 393 | | |
394 | 394 | | |
395 | 395 | | |
396 | | - | |
| 396 | + | |
| 397 | + | |
397 | 398 | | |
398 | 399 | | |
399 | 400 | | |
| |||
0 commit comments