linux/drivers/infiniband/hw/i40iw
Feng Tang ec4fe4bcc5 i40iw: Avoid panic when handling the inetdev event
There is a panic reported that on a system with x722 ethernet, when doing
the operations like:

	# ip link add br0 type bridge
	# ip link set eno1 master br0
	# systemctl restart systemd-networkd

The system will panic "BUG: unable to handle kernel null pointer
dereference at 0000000000000034", with call chain:

	i40iw_inetaddr_event
	notifier_call_chain
	blocking_notifier_call_chain
	notifier_call_chain
	__inet_del_ifa
	inet_rtm_deladdr
	rtnetlink_rcv_msg
	netlink_rcv_skb
	rtnetlink_rcv
	netlink_unicast
	netlink_sendmsg
	sock_sendmsg
	__sys_sendto

It is caused by "local_ipaddr = ntohl(in->ifa_list->ifa_address)", while
the in->ifa_list is NULL.

So add a check for the "in->ifa_list == NULL" case, and skip the ARP
operation accordingly.

Signed-off-by: Feng Tang <feng.tang@intel.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
2019-03-17 21:40:40 -03:00
..
i40iw_cm.c 4.21 merge window pull request 2018-12-28 14:57:10 -08:00
i40iw_cm.h i40iw: Extend port reuse support for listeners 2018-05-16 13:13:20 -06:00
i40iw_ctrl.c i40iw: Refactor of driver generated AEs 2018-03-15 15:58:04 -06:00
i40iw_d.h i40iw: Refactor of driver generated AEs 2018-03-15 15:58:04 -06:00
i40iw_hmc.c i40iw: add hmc resource files 2016-02-29 17:10:53 -05:00
i40iw_hmc.h i40iw: add hmc resource files 2016-02-29 17:10:53 -05:00
i40iw_hw.c i40iw: Reorganize acquire/release of locks in i40iw_manage_apbvt 2018-06-18 11:09:05 -06:00
i40iw_main.c Merge branch 'mr_fix' into git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma for-next 2018-05-28 11:44:35 -06:00
i40iw_osdep.h RDMA/i40iw: Remove MSS change support 2017-06-01 16:59:52 -04:00
i40iw_p.h i40iw: Remove UDA QP from QoS list if creation fails 2017-10-18 13:28:46 -04:00
i40iw_pble.c i40iw: Simplify code 2017-08-18 14:01:08 -04:00
i40iw_pble.h i40iw: add pble resource files 2016-02-29 17:10:53 -05:00
i40iw_puda.c i40iw: Refactor handling of txpend list 2018-03-06 16:00:51 -07:00
i40iw_puda.h i40iw: Free IEQ resources 2018-01-16 20:38:18 -07:00
i40iw_register.h i40iw: add X722 register file 2016-03-16 13:50:53 -04:00
i40iw_status.h i40iw: Correct variable names 2017-08-16 11:27:44 -04:00
i40iw_type.h i40iw: Refactor of driver generated AEs 2018-03-15 15:58:04 -06:00
i40iw_uk.c i40iw: Use utility function roundup_pow_of_two() 2017-12-22 13:37:51 -07:00
i40iw_user.h i40iw: Remove limit on re-posting AEQ entries to HW 2018-01-16 20:38:18 -07:00
i40iw_utils.c i40iw: Avoid panic when handling the inetdev event 2019-03-17 21:40:40 -03:00
i40iw_verbs.c RDMA: Handle ucontext allocations by IB/core 2019-02-22 14:11:37 -07:00
i40iw_verbs.h RDMA/i40iw: Avoid panic when objects are being created and destroyed 2018-05-09 10:45:18 -04:00
i40iw_vf.c i40iw: constify i40iw_vf_cqp_ops structure 2016-05-13 13:47:07 -04:00
i40iw_vf.h i40iw: constify i40iw_vf_cqp_ops structure 2016-05-13 13:47:07 -04:00
i40iw_virtchnl.c RDMA/i40iw: fix duplicated code for different branches 2017-06-01 17:00:29 -04:00
i40iw_virtchnl.h i40iw: virtual channel handling files 2016-03-16 13:50:53 -04:00
i40iw.h RDMA/i40iw: Avoid panic when reading back the IRQ affinity hint 2018-05-09 10:45:19 -04:00
Kconfig infiniband: i40iw, nes: don't use wall time for TCP sequence numbers 2018-07-11 12:10:19 -06:00
Makefile infiniband: prefix header search paths with $(srctree)/ 2019-01-25 15:28:50 -07:00