Re: [PATCH] bpf: fix possible uninitialized access in inactive rotation

From: Daniel Borkmann
Date: Wed Nov 16 2016 - 11:00:33 EST


On 11/16/2016 03:38 PM, Arnd Bergmann wrote:
This newly added code causes a build warning:

kernel/bpf/bpf_lru_list.c: In function '__bpf_lru_list_rotate_inactive':
kernel/bpf/bpf_lru_list.c:201:28: error: 'next' may be used uninitialized in this function [-Werror=maybe-uninitialized]

The warning is plausible from looking at the code, though there might
be non-obvious external constraints that ensure it always works.

Moving the assignment of ->next_inactive_rotation inside of the
loop makes it obvious to the reader and the compiler when we
actually want to update ->next.

Fixes: 3a08c2fd7634 ("bpf: LRU List")
Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>

Thanks a lot, Arnd, patch was already sent here though:

http://patchwork.ozlabs.org/patch/695202/