diff options
| author | Tony Lindgren <tony@atomide.com> | 2020-04-21 19:36:03 +0300 |
|---|---|---|
| committer | Tony Lindgren <tony@atomide.com> | 2020-04-21 19:36:03 +0300 |
| commit | 175ae3ad59ab3459652bd2ae3bbc1785aeba1bf3 (patch) | |
| tree | c7fd682de61e3c2a6cc3ba0e8881b99fafdf969c /include/linux/proc_fs.h | |
| parent | 07bdc492cff6f555538df95e9812fe72e16d154a (diff) | |
| parent | 90d4d3f4ea45370d482fa609dbae4d2281b4074f (diff) | |
| download | linux-175ae3ad59ab3459652bd2ae3bbc1785aeba1bf3.tar.xz | |
Merge branch 'fixes-v5.7' into fixes
Diffstat (limited to 'include/linux/proc_fs.h')
| -rw-r--r-- | include/linux/proc_fs.h | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/include/linux/proc_fs.h b/include/linux/proc_fs.h index 3dfa92633af3..45c05fd9c99d 100644 --- a/include/linux/proc_fs.h +++ b/include/linux/proc_fs.h @@ -5,6 +5,7 @@ #ifndef _LINUX_PROC_FS_H #define _LINUX_PROC_FS_H +#include <linux/compiler.h> #include <linux/types.h> #include <linux/fs.h> @@ -12,7 +13,21 @@ struct proc_dir_entry; struct seq_file; struct seq_operations; +enum { + /* + * All /proc entries using this ->proc_ops instance are never removed. + * + * If in doubt, ignore this flag. + */ +#ifdef MODULE + PROC_ENTRY_PERMANENT = 0U, +#else + PROC_ENTRY_PERMANENT = 1U << 0, +#endif +}; + struct proc_ops { + unsigned int proc_flags; int (*proc_open)(struct inode *, struct file *); ssize_t (*proc_read)(struct file *, char __user *, size_t, loff_t *); ssize_t (*proc_write)(struct file *, const char __user *, size_t, loff_t *); @@ -25,14 +40,14 @@ struct proc_ops { #endif int (*proc_mmap)(struct file *, struct vm_area_struct *); unsigned long (*proc_get_unmapped_area)(struct file *, unsigned long, unsigned long, unsigned long, unsigned long); -}; +} __randomize_layout; #ifdef CONFIG_PROC_FS typedef int (*proc_write_t)(struct file *, char *, size_t); extern void proc_root_init(void); -extern void proc_flush_task(struct task_struct *); +extern void proc_flush_pid(struct pid *); extern struct proc_dir_entry *proc_symlink(const char *, struct proc_dir_entry *, const char *); @@ -105,7 +120,7 @@ static inline void proc_root_init(void) { } -static inline void proc_flush_task(struct task_struct *task) +static inline void proc_flush_pid(struct pid *pid) { } |
