Honggang Li
8c490669de
RDMA/IPoIB: Replace netdev_priv with ipoib_priv for ipoib_get_link_ksettings
...
ipoib_dev_init accesses the wrong private data for the IPoIB device.
Commit cd565b4b51 (IB/IPoIB: Support acceleration options callbacks)
changed ipoib_priv from being identical to netdev_priv to being an
area inside of, but not the same pointer as, the netdev_priv pointer.
As such, the struct we want is the ipoib_priv area, not the netdev_priv
area, so use the right accessor, otherwise we kernel panic.
[ 27.271938] IPv6: ADDRCONF(NETDEV_CHANGE): mlx5_ib0.8006: link becomes ready
[ 28.156790] BUG: unable to handle kernel NULL pointer dereference at 000000000000067c
[ 28.166309] IP: ib_query_port+0x30/0x180 [ib_core]
...
[ 28.306282] RIP: 0010:ib_query_port+0x30/0x180 [ib_core]
...
[ 28.393337] Call Trace:
[ 28.397594] ipoib_get_link_ksettings+0x66/0xe0 [ib_ipoib]
[ 28.405274] __ethtool_get_link_ksettings+0xa0/0x1c0
[ 28.412353] speed_show+0x74/0xa0
[ 28.417503] dev_attr_show+0x20/0x50
[ 28.422922] ? mutex_lock+0x12/0x40
[ 28.428179] sysfs_kf_seq_show+0xbf/0x1a0
[ 28.434002] kernfs_seq_show+0x21/0x30
[ 28.439470] seq_read+0x116/0x3b0
[ 28.444445] ? do_filp_open+0xa5/0x100
[ 28.449774] kernfs_fop_read+0xff/0x180
[ 28.455220] __vfs_read+0x37/0x150
[ 28.460167] ? security_file_permission+0x9d/0xc0
[ 28.466560] vfs_read+0x8c/0x130
[ 28.471318] SyS_read+0x55/0xc0
[ 28.475950] do_syscall_64+0x67/0x150
[ 28.481163] entry_SYSCALL64_slow_path+0x25/0x25
...
[ 28.584493] ---[ end trace 3549968a4bf0aa5d ]---
Fixes: cd565b4b51 (IB/IPoIB: Support acceleration options callbacks)
Fixes: 0d7e2d2166 (IB/ipoib: add get_link_ksettings in ethtool)
Signed-off-by: Honggang Li <honli@redhat.com>
Reviewed-by: Yuval Shaia <yuval.shaia@oracle.com>
Reviewed-by: Leon Romanovsky <leonro@mellanox.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
2017-06-01 17:20:09 -04:00
arch
powerpc fixes for 4.12 #4
2017-05-27 09:28:34 -07:00
block
Merge branch 'nvme-4.12' of git://git.infradead.org/nvme into for-linus
2017-05-26 09:11:19 -06:00
certs
scripts/spelling.txt: add "intialise(d)" pattern and fix typo instances
2017-05-08 17:15:13 -07:00
crypto
crypto: skcipher - Add missing API setkey checks
2017-05-18 13:04:05 +08:00
Documentation
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
2017-05-26 16:45:13 -07:00
drivers
RDMA/IPoIB: Replace netdev_priv with ipoib_priv for ipoib_get_link_ksettings
2017-06-01 17:20:09 -04:00
firmware
firmware/Makefile: force recompilation if makefile changes
2017-05-08 17:15:10 -07:00
fs
Changed since last update:
2017-05-26 12:13:08 -07:00
include
net/mlx5: Define interface bits for fencing UMR wqe
2017-06-01 17:05:04 -04:00
init
Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2017-05-10 10:30:46 -07:00
ipc
mm: introduce kv[mz]alloc helpers
2017-05-08 17:15:12 -07:00
kernel
Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2017-05-27 09:14:24 -07:00
lib
test_bpf: Add a couple of tests for BPF_JSGE.
2017-05-25 14:37:56 -04:00
mm
mm: vmscan: scan until it finds eligible pages
2017-05-12 15:57:16 -07:00
net
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2017-05-26 13:51:01 -07:00
samples
samples/bpf: run cleanup routines when receiving SIGTERM
2017-05-11 21:43:30 -04:00
scripts
DeviceTree fixes for 4.12-rc:
2017-05-19 15:03:24 -07:00
security
Merge branch 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2017-05-09 09:12:53 -07:00
sound
sound fixes for 4.12-rc3
2017-05-26 09:03:09 -07:00
tools
powerpc fixes for 4.12 #4
2017-05-27 09:28:34 -07:00
usr
initramfs: provide a way to ignore image provided by bootloader
2017-05-08 17:15:12 -07:00
virt
KVM: arm/arm64: Hold slots_lock when unregistering kvm io bus devices
2017-05-18 11:18:16 +02:00
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore
kbuild: Add support to generate LLVM assembly files
2017-04-25 08:13:52 +09:00
.mailmap
power supply and reset changes for the v4.12 series (part 2)
2017-05-12 12:02:21 -07:00
COPYING
CREDITS
avr32: remove support for AVR32 architecture
2017-05-01 09:27:15 +02:00
Kbuild
kbuild: Consolidate header generation from ASM offset information
2017-04-13 05:43:37 +09:00
Kconfig
MAINTAINERS
TTY/Serial fixes for 4.12-rc3
2017-05-27 09:39:09 -07:00
Makefile
Linux 4.12-rc3
2017-05-28 17:20:53 -07:00
README