| The x25_disconnect function in x25_subr.c would decrease the refcount of
"x25->neighbour" (struct x25_neigh) and reset this pointer to NULL.
However, the x25_rx_call_request function in af_x25.c, which is called
when we receive a connection request, does not increase the refcount when
it assigns the pointer.
Fix this issue by increasing the refcount of "struct x25_neigh" in
x25_rx_call_request.
This patch fixes frequent kernel crashes when using AF_X25 sockets.
Fixes:  | ||
|---|---|---|
| .. | ||
| af_x25.c | ||
| Kconfig | ||
| Makefile | ||
| sysctl_net_x25.c | ||
| x25_dev.c | ||
| x25_facilities.c | ||
| x25_forward.c | ||
| x25_in.c | ||
| x25_link.c | ||
| x25_out.c | ||
| x25_proc.c | ||
| x25_route.c | ||
| x25_subr.c | ||
| x25_timer.c | ||