linux/drivers
Sean Hefty c5483388bb RDMA/cma: Add locking around QP accesses
If a user allocates a QP on an rdma_cm_id, the rdma_cm will automatically
transition the QP through its states (RTR, RTS, error, etc.)  While the
QP state transitions are occurring, the QP itself must remain valid.
Provide locking around the QP pointer to prevent its destruction while
accessing the pointer.

This fixes an issue reported by Olaf Kirch from Oracle that resulted in
a system crash:

"An incoming connection arrives and we decide to tear down the nascent
 connection.  The remote ends decides to do the same.  We start to shut
 down the connection, and call rdma_destroy_qp on our cm_id. ... Now
 apparently a 'connect reject' message comes in from the other host,
 and cma_ib_handler() is called with an event of IB_CM_REJ_RECEIVED.
 It calls cma_modify_qp_err, which for some odd reason tries to modify
 the exact same QP we just destroyed."

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
History 2007-10-16 12:25:00 -07:00
..
acorn/char Remove the arm26 port 2007-07-31 15:39:39 -07:00
acpi more trivial signedness fixes in drivers 2007-10-14 12:41:52 -07:00
amba Driver core: change add_uevent_var to use a struct 2007-10-12 14:51:01 -07:00
ata more trivial signedness fixes in drivers 2007-10-14 12:41:52 -07:00
atm more trivial signedness fixes in drivers 2007-10-14 12:41:52 -07:00
auxdisplay cfag12864b fix 2007-08-22 19:52:46 -07:00
base more uevent fallout (drivers/base/memory.c) 2007-10-14 08:53:33 -07:00
block more trivial signedness fixes in drivers 2007-10-14 12:41:52 -07:00
bluetooth [Bluetooth] Add missing stat.byte_rx counter modification 2007-09-09 08:39:27 +02:00
cdrom [POWERPC] iSeries: Move detection of virtual cdroms 2007-10-11 20:40:47 +10:00
char signedness: module_param_array nump argument 2007-10-14 12:41:52 -07:00
clocksource x86_64: fix typo in acpi_pm.c 2007-07-21 18:37:12 -07:00
connector [NET]: make netlink user -> kernel interface synchronious 2007-10-10 21:15:29 -07:00
cpufreq Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6 2007-10-12 15:49:37 -07:00
crypto [CRYPTO] sha: Add header file for SHA definitions 2007-10-10 16:55:50 -07:00
dio [PATCH] hp300: fix driver_register() return handling, remove dio_module_init() 2006-03-25 08:22:53 -08:00
dma [IOAT]: ioatdma needs to to play nice in a multi-dma-client world 2007-08-26 18:35:40 -07:00
edac Drivers: clean up direct setting of the name of a kset 2007-10-12 14:51:02 -07:00
eisa signedness: module_param_array nump argument 2007-10-14 12:41:52 -07:00
fc4 long vs. unsigned long - low-hanging fruits in drivers 2007-10-14 12:41:51 -07:00
firewire fw-cdev __user annotations 2007-10-14 12:41:51 -07:00
firmware Driver core: rename ktype_edd and ktype_efivar 2007-10-12 14:51:12 -07:00
hid more trivial signedness fixes in drivers 2007-10-14 12:41:52 -07:00
hwmon Merge branch 'release' of git://lm-sensors.org/kernel/mhoffman/hwmon-2.6 2007-10-14 12:50:19 -07:00
i2c i2c-nforce2: Declare PEC as supported 2007-10-13 23:56:33 +02:00
ide alim15x3: remove redundant m5229_revision check 2007-10-13 17:47:53 +02:00
ieee1394 Driver core: change add_uevent_var to use a struct 2007-10-12 14:51:01 -07:00
infiniband RDMA/cma: Add locking around QP accesses 2007-10-16 12:25:00 -07:00
input Merge branch 'release' of git://lm-sensors.org/kernel/mhoffman/hwmon-2.6 2007-10-14 12:50:19 -07:00
isdn hisax: hfc_usb: update to current CVS version 2007-10-14 12:45:14 -07:00
kvm KVM: Skip pio instruction when it is emulated, not executed 2007-10-13 10:18:29 +02:00
leds leds: Update Cobalt Qube series front LED support 2007-10-11 22:24:00 +01:00
lguest fix modules oopsing in lguest guests 2007-09-25 08:51:04 -07:00
macintosh [POWERPC] adbhid: Enable KEY_FN key reporting 2007-09-22 14:49:21 +10:00
mca mca: add integrated device bus matching 2007-05-09 12:30:49 -07:00
md dm: emc_endio returns void 2007-10-13 09:41:03 -07:00
media signedness: module_param_array nump argument 2007-10-14 12:41:52 -07:00
message [NET]: Nuke SET_MODULE_OWNER macro. 2007-10-10 16:51:13 -07:00
mfd some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
misc Merge branch 'release' of git://lm-sensors.org/kernel/mhoffman/hwmon-2.6 2007-10-14 12:50:19 -07:00
mmc uevent environment changes fallout 2007-10-14 08:53:33 -07:00
mtd signedness: module_param_array nump argument 2007-10-14 12:41:52 -07:00
net ipg: endianness fixes 2007-10-14 12:41:52 -07:00
nubus some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
of Create drivers/of/platform.c 2007-07-20 14:25:51 +10:00
oprofile [CELL] oprofile: add support to OProfile for profiling CELL BE SPUs 2007-07-20 21:42:24 +02:00
parisc [NET]: Make the device list and device lookups per namespace. 2007-10-10 16:49:10 -07:00
parport parport_pc locking fix 2007-07-31 15:39:37 -07:00
pci more trivial signedness fixes in drivers 2007-10-14 12:41:52 -07:00
pcmcia signedness: module_param_array nump argument 2007-10-14 12:41:52 -07:00
pnp drivers/firmware: const-ify DMI API and internals 2007-10-09 20:22:20 -04:00
power Driver core: change add_uevent_var to use a struct 2007-10-12 14:51:01 -07:00
ps3 [POWERPC] PS3: Storage Driver Core 2007-06-28 19:19:20 +10:00
rapidio some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
rtc rtc: rtc-sh: Support 4-digit year on SH7705/SH7710/SH7712. 2007-09-21 11:57:47 +09:00
s390 Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6 2007-10-12 15:49:37 -07:00
sbus Videopix Frame Grabber: Fix unreleased lock in vfc_debug() 2007-07-31 15:39:43 -07:00
scsi Merge branch 'upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev 2007-10-12 16:16:41 -07:00
serial mpc52xx-uart: fix compile warning (format type mismatch) 2007-10-14 08:57:30 -07:00
sh sh: Add maple bus support for the SEGA Dreamcast. 2007-09-21 15:55:55 +09:00
sn some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
spi Driver core: change add_uevent_var to use a struct 2007-10-12 14:51:01 -07:00
ssb missing include in ssb 2007-10-14 08:53:33 -07:00
tc zs: move to the serial subsystem 2007-07-18 08:38:22 -07:00
telephony some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
uio UIO: Hilscher CIF card driver 2007-07-18 15:57:16 -07:00
usb signedness: module_param_array nump argument 2007-10-14 12:41:52 -07:00
video Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6 2007-10-14 08:59:48 -07:00
w1 Driver core: change add_uevent_var to use a struct 2007-10-12 14:51:01 -07:00
xen xenbus_xs.c: fix a use-after-free 2007-07-26 11:35:17 -07:00
zorro zorro: Make sysfs config attribute read-only 2007-08-22 19:52:45 -07:00
Kconfig [SSB]: add Sonics Silicon Backplane bus support 2007-10-10 16:51:36 -07:00
Makefile [SSB]: add Sonics Silicon Backplane bus support 2007-10-10 16:51:36 -07:00