diff options
| author | Mark Brown <broonie@kernel.org> | 2026-10-08 14:41:27 +0200 |
|---|---|---|
| committer | Mark Brown <broonie@kernel.org> | 2026-10-08 14:41:27 +0200 |
| commit | 9f19c8a019d7c1fb720133ca86154be1ccff39b5 (patch) | |
| tree | a7c9d53fd675abff61a63352822a3939171ad6aa /kernel/bpf/arraymap.c | |
| parent | 2597b3f0a0e46069ffd754112b2bd33406fb6eec (diff) | |
| parent | f52260f49b107fddbcf7c75f9cf2347a5031f0f7 (diff) | |
| download | linux-next-9f19c8a019d7c1fb720133ca86154be1ccff39b5.tar.gz linux-next-9f19c8a019d7c1fb720133ca86154be1ccff39b5.zip | |
Merge regmap/for-7.4 into regmap-next
Diffstat (limited to 'kernel/bpf/arraymap.c')
| -rw-r--r-- | kernel/bpf/arraymap.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/kernel/bpf/arraymap.c b/kernel/bpf/arraymap.c index ef315b168b29..0ce26b538075 100644 --- a/kernel/bpf/arraymap.c +++ b/kernel/bpf/arraymap.c @@ -436,7 +436,7 @@ int bpf_percpu_array_update(struct bpf_map *map, void *key, void *value, void __percpu *pptr; void *ptr, *val; u32 size; - int cpu; + int cpu, off = 0; if (unlikely((map_flags & BPF_F_LOCK) || (u32)map_flags > BPF_F_ALL_CPUS)) /* unknown flags */ @@ -468,9 +468,10 @@ int bpf_percpu_array_update(struct bpf_map *map, void *key, void *value, } for_each_possible_cpu(cpu) { ptr = per_cpu_ptr(pptr, cpu); - val = (map_flags & BPF_F_ALL_CPUS) ? value : value + size * cpu; + val = (map_flags & BPF_F_ALL_CPUS) ? value : value + off; copy_map_value(map, ptr, val); bpf_obj_cancel_fields(map, ptr); + off += size; } unlock: rcu_read_unlock(); |
