From: Tim Gardner <hidden> Date: 2021-09-02 16:32:34
Coverity complains that linux-next commit 67d6d681e15b5 ("ipv4: make
exception cache less predictible") neglected to check for NULL before
dereferencing 'oldest'. It appears to be possible to fall through the for
loop without ever setting 'oldest'.
Cc: Eric Dumazet <edumazet@google.com>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Hideaki YOSHIFUJI <redacted>
Cc: David Ahern <dsahern@kernel.org>
Cc: Jakub Kicinski <kuba@kernel.org>
Cc: netdev@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Tim Gardner <redacted>
---
net/ipv4/route.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
From: Eric Dumazet <edumazet@google.com> Date: 2021-09-02 16:38:44
On Thu, Sep 2, 2021 at 9:32 AM Tim Gardner [off-list ref] wrote:
Coverity complains that linux-next commit 67d6d681e15b5 ("ipv4: make
exception cache less predictible") neglected to check for NULL before
dereferencing 'oldest'. It appears to be possible to fall through the for
loop without ever setting 'oldest'.
Coverity is wrong.
fnhe_remove_oldest() is only called when there are at least 6 items
in the list.
There is no way oldest could be NULL, or that oldest_p could contain garbage.
quoted hunk
Cc: Eric Dumazet <edumazet@google.com>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Hideaki YOSHIFUJI <redacted>
Cc: David Ahern <dsahern@kernel.org>
Cc: Jakub Kicinski <kuba@kernel.org>
Cc: netdev@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Tim Gardner <redacted>
---
net/ipv4/route.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
From: David Ahern <hidden> Date: 2021-09-02 16:41:41
On 9/2/21 9:38 AM, Eric Dumazet wrote:
On Thu, Sep 2, 2021 at 9:32 AM Tim Gardner [off-list ref] wrote:
quoted
Coverity complains that linux-next commit 67d6d681e15b5 ("ipv4: make
exception cache less predictible") neglected to check for NULL before
dereferencing 'oldest'. It appears to be possible to fall through the for
loop without ever setting 'oldest'.
Coverity is wrong.
fnhe_remove_oldest() is only called when there are at least 6 items
in the list.
There is no way oldest could be NULL, or that oldest_p could contain garbage.