|
@@ -50,8 +50,6 @@ typedef int (write_proc_t)(struct file *file, const char __user *buffer,
|
|
|
|
|
|
struct proc_dir_entry {
|
|
struct proc_dir_entry {
|
|
unsigned int low_ino;
|
|
unsigned int low_ino;
|
|
- unsigned int namelen;
|
|
|
|
- const char *name;
|
|
|
|
mode_t mode;
|
|
mode_t mode;
|
|
nlink_t nlink;
|
|
nlink_t nlink;
|
|
uid_t uid;
|
|
uid_t uid;
|
|
@@ -73,9 +71,11 @@ struct proc_dir_entry {
|
|
write_proc_t *write_proc;
|
|
write_proc_t *write_proc;
|
|
atomic_t count; /* use count */
|
|
atomic_t count; /* use count */
|
|
int pde_users; /* number of callers into module in progress */
|
|
int pde_users; /* number of callers into module in progress */
|
|
- spinlock_t pde_unload_lock; /* proc_fops checks and pde_users bumps */
|
|
|
|
struct completion *pde_unload_completion;
|
|
struct completion *pde_unload_completion;
|
|
struct list_head pde_openers; /* who did ->open, but not ->release */
|
|
struct list_head pde_openers; /* who did ->open, but not ->release */
|
|
|
|
+ spinlock_t pde_unload_lock; /* proc_fops checks and pde_users bumps */
|
|
|
|
+ u8 namelen;
|
|
|
|
+ char name[];
|
|
};
|
|
};
|
|
|
|
|
|
enum kcore_type {
|
|
enum kcore_type {
|