diff --git a/kernel/bpf/inode.c b/kernel/bpf/inode.c index c04815bb15cc12230f0124de428fb88e5d6f6b4e..11fade89c1f382897ef86619afe8413244a73d13 100644 --- a/kernel/bpf/inode.c +++ b/kernel/bpf/inode.c @@ -207,10 +207,12 @@ static void *map_seq_next(struct seq_file *m, void *v, loff_t *pos) else prev_key = key; + rcu_read_lock(); if (map->ops->map_get_next_key(map, prev_key, key)) { map_iter(m)->done = true; - return NULL; + key = NULL; } + rcu_read_unlock(); return key; }