Re: [PATCH] fib_trie: remove potential out of bound access

Stephen Hemminger
2013-08-05T22:41:15Z

On Mon, 05 Aug 2013 11:18:49 -0700
Eric Dumazet <eric.dumazet@gmail.com> wrote:

> From: Eric Dumazet <edumazet@google.com>
>
> AddressSanitizer [1] dynamic checker pointed a potential
> out of bound access in leaf_walk_rcu()
>
> We could allocate one more slot in tnode_new() to leave the prefetch()
> in-place but it looks not worth the pain.
>
> Bug added in commit 82cfbb008572b ("[IPV4] fib_trie: iterator recode")
>
> [1] :
> https://code.google.com/p/address-sanitizer/wiki/AddressSanitizerForKernel
>
> Reported-by: Andrey Konovalov <andreyknvl@google.com>
> Signed-off-by: Eric Dumazet <edumazet@google.com>
> Cc: Dmitry Vyukov <dvyukov@google.com>

Isn't prefetch supposed to always be safe, even out of bounds; even prefetch(NULL).
Although I really doubt prefetch helps in in this code anyway.