]> git.baikalelectronics.ru Git - kernel.git/commit
net: fix decnet rtnexthop parsing
authorVegard Nossum <vegard.nossum@oracle.com>
Tue, 5 Jul 2016 19:12:53 +0000 (21:12 +0200)
committerDavid S. Miller <davem@davemloft.net>
Tue, 5 Jul 2016 21:08:47 +0000 (14:08 -0700)
commitc8934f4ecc3d76dfa8fdf1b1ea7215e2c7a61529
tree58c77416b58a2b50ff681d1e3fde2444d17fdc98
parent2d6142c3623d7af0ecc856bc05af066591f4ccc5
net: fix decnet rtnexthop parsing

dn_fib_count_nhs() could enter an infinite loop if nhp->rtnh_len == 0
(i.e. if userspace passes a malformed netlink message).

Let's use the helpers from net/nexthop.h which take care of all this
stuff. We can do exactly the same as e.g. fib_count_nexthops() and
fib_get_nhs() from net/ipv4/fib_semantics.c.

This fixes the softlockup for me.

Cc: Thomas Graf <tgraf@suug.ch>
Signed-off-by: Vegard Nossum <vegard.nossum@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/decnet/dn_fib.c