diff options
| author | Anay Wadhera <awadhera@berkeley.edu> | 2021-05-20 21:58:41 -0700 |
|---|---|---|
| committer | Michael Bestas <mkbestas@lineageos.org> | 2022-04-19 00:49:48 +0300 |
| commit | 82e0685e29ea16d29ee0a6a8455acf6a769c9b4c (patch) | |
| tree | 131be73f2db39e6d93716369ec310834809f2d20 /kernel/bpf/inode.c | |
| parent | 323182b631c37a6d6ce2d86f50bed3b9da07fae3 (diff) | |
Revert "bpf: fix refcnt overflow"
This reverts commit 3899251bdb9c2b31fc73d4cc132f52d3710101de.
Signed-off-by: Chatur27 <jasonbright2709@gmail.com>
Diffstat (limited to 'kernel/bpf/inode.c')
| -rw-r--r-- | kernel/bpf/inode.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/kernel/bpf/inode.c b/kernel/bpf/inode.c index d1a7646f79c5..5a8a797d50b7 100644 --- a/kernel/bpf/inode.c +++ b/kernel/bpf/inode.c @@ -31,10 +31,10 @@ static void *bpf_any_get(void *raw, enum bpf_type type) { switch (type) { case BPF_TYPE_PROG: - raw = bpf_prog_inc(raw); + atomic_inc(&((struct bpf_prog *)raw)->aux->refcnt); break; case BPF_TYPE_MAP: - raw = bpf_map_inc(raw, true); + bpf_map_inc(raw, true); break; default: WARN_ON_ONCE(1); @@ -277,8 +277,7 @@ static void *bpf_obj_do_get(const struct filename *pathname, goto out; raw = bpf_any_get(inode->i_private, *type); - if (!IS_ERR(raw)) - touch_atime(&path); + touch_atime(&path); path_put(&path); return raw; |
