diff options
author | Alexey Dobriyan <adobriyan@gmail.com> | 2018-04-11 02:32:14 +0300 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2018-04-11 20:28:34 +0300 |
commit | 9cdd83e3100651af41631fb66838adcd24032f2a (patch) | |
tree | 181ee45b29c4a312ea23bf88b45a8e65890fc29e /fs/proc/generic.c | |
parent | b77d70db659ad3aa662c80cff4475e773a531fbe (diff) | |
download | linux-9cdd83e3100651af41631fb66838adcd24032f2a.tar.xz |
proc: switch struct proc_dir_entry::count to refcount
->count is honest reference count unlike ->in_use.
Link: http://lkml.kernel.org/r/20180313174550.GA4332@avx2
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'fs/proc/generic.c')
-rw-r--r-- | fs/proc/generic.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/proc/generic.c b/fs/proc/generic.c index 5dad2e89007b..fc0333fd5676 100644 --- a/fs/proc/generic.c +++ b/fs/proc/generic.c @@ -402,7 +402,7 @@ static struct proc_dir_entry *__proc_create(struct proc_dir_entry **parent, ent->mode = mode; ent->nlink = nlink; ent->subdir = RB_ROOT_CACHED; - atomic_set(&ent->count, 1); + refcount_set(&ent->refcnt, 1); spin_lock_init(&ent->pde_unload_lock); INIT_LIST_HEAD(&ent->pde_openers); proc_set_user(ent, (*parent)->uid, (*parent)->gid); @@ -553,7 +553,7 @@ EXPORT_SYMBOL(proc_set_user); void pde_put(struct proc_dir_entry *pde) { - if (atomic_dec_and_test(&pde->count)) { + if (refcount_dec_and_test(&pde->refcnt)) { proc_free_inum(pde->low_ino); pde_free(pde); } |