Hi,
I couldn't find a failing test for this issue.
The current code will not fail if the neighbor was not added. If we want it to fail correctly we should add a check at the end of `netlink_add_neigh` that validates the neighbor was indeed added. Only after we would do that we could check for a fail.
For example, the following test will not fail, but it won't work either. The third call should send a packet to a new neighbor (`@remote`), however, instead it sends arp traffic because the neighbor was not added. The tes twill not result in a fail but won't work the way it should:
```
syz_emit_ethernet(0x36, &(0x7f0000000000)={@local, @remote, @void, {{0x800, {{0x5, 0x4, 0x0, 0x0, 0x28, 0x0, 0x0, 0x40, 0x6, 0x0, @remote, @local}, {{0x3000, 0x2001, 0x41424344, 0x0, 0x0, 0x0, 0x5, 0x2, 0xffd7}}}}}}, 0x0)
syz_extract_tcp_res(&(0x7f0000003000)={<r0=>0x41424344, <r1=>0x41424344}, 0x0, 0x1)
syz_emit_ethernet(0x36, &(0x7f0000000000)={@local, @remote, @void, {{0x800, {{0x5, 0x4, 0x0, 0x0, 0x28, 0x0, 0x0, 0x40, 0x6, 0x0, @remote, @local}, {{0x3000, 0x2001, r0, r1, 0x0, 0x0, 0x5, 0x10, 0x200}}}}}}, 0x0)
```