linux/drivers/infiniband/hw/qib
Ira Weiny 785f742223 IB/qib: Fix qib_mr structure
struct qib_mr requires the mr member be the last because struct
qib_mregion contains a dynamic array at the end.  The additions
of members should have been placed before this structure as the
comment noted.

Failure to do so was causing random memory corruption.  Reproducing
this bug was easy to do by running the client and server of
ib_write_bw -s 8 -n 5 on the same node.

This BUG() was tripped in a slab debug kernel:

kernel BUG at mm/slab.c:2572!

Fixes: 38071a461f ("IB/qib: Support the new memory registration API")
Reviewed-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
Signed-off-by: Ira Weiny <ira.weiny@intel.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
2015-12-07 16:22:14 -05:00
..
Kconfig Remove GENERIC_HARDIRQ config option 2013-09-13 15:09:52 +02:00
Makefile IB/qib: Convert opcode counters to per-context 2013-06-21 17:19:50 -07:00
qib_6120_regs.h
qib_7220_regs.h
qib_7220.h IB/qib: Eliminate 64-bit jiffies use 2012-01-03 20:52:12 -08:00
qib_7322_regs.h IB/qib: Mask hardware error during link reset 2010-07-06 14:13:20 -07:00
qib_common.h IB/qib: Fix checkpatch warnings 2015-02-20 09:04:09 -08:00
qib_cq.c IB/core: Change provider's API of create_cq to be extendible 2015-06-12 14:49:10 -04:00
qib_debugfs.c IB/qib: Fix checkpatch warnings 2015-02-20 09:04:09 -08:00
qib_debugfs.h IB/qib: Convert opcode counters to per-context 2013-06-21 17:19:50 -07:00
qib_diag.c IB/qib: Add blank line after declaration 2015-02-20 09:04:12 -08:00
qib_dma.c IB/qib: Remove ib_sg_dma_address() and ib_sg_dma_len() overloads 2014-04-01 11:16:31 -07:00
qib_driver.c IB/qib: Add blank line after declaration 2015-02-20 09:04:12 -08:00
qib_eeprom.c IB/qib: Add blank line after declaration 2015-02-20 09:04:12 -08:00
qib_file_ops.c mm: mark most vm_operations_struct const 2015-09-10 13:29:01 -07:00
qib_fs.c make simple_positive() public 2015-06-23 18:02:01 -04:00
qib_iba6120.c IB/qib: use arch_phys_wc_add() 2015-05-05 09:18:02 -04:00
qib_iba7220.c IB/qib: use arch_phys_wc_add() 2015-05-05 09:18:02 -04:00
qib_iba7322.c IB/mad: Support alternate Base Versions when creating MADs 2015-06-12 14:49:17 -04:00
qib_init.c mm, page_alloc: rename __GFP_WAIT to __GFP_RECLAIM 2015-11-06 17:50:42 -08:00
qib_intr.c IB/qib: Fix checkpatch warnings 2015-02-20 09:04:09 -08:00
qib_keys.c IB/qib: Remove old FRWR API 2015-10-28 22:32:29 -04:00
qib_mad.c IB/mad: Remove improper use of BUG_ON 2015-07-14 13:20:08 -04:00
qib_mad.h IB/core: Add core header changes needed for OPA 2015-08-28 22:54:50 -04:00
qib_mmap.c mm: mark most vm_operations_struct const 2015-09-10 13:29:01 -07:00
qib_mr.c IB/qib: Remove old FRWR API 2015-10-28 22:32:29 -04:00
qib_pcie.c IB/qib: Add blank line after declaration 2015-02-20 09:04:12 -08:00
qib_pio_copy.c
qib_qp.c IB: split struct ib_send_wr 2015-10-08 11:09:10 +01:00
qib_qsfp.c IB/qib: Add blank line after declaration 2015-02-20 09:04:12 -08:00
qib_qsfp.h IB/qib: Eliminate 64-bit jiffies use 2012-01-03 20:52:12 -08:00
qib_rc.c IB: split struct ib_send_wr 2015-10-08 11:09:10 +01:00
qib_ruc.c IB: split struct ib_send_wr 2015-10-08 11:09:10 +01:00
qib_sd7220.c IB/qib: Add blank line after declaration 2015-02-20 09:04:12 -08:00
qib_sdma.c IB/qib: Improve SDMA performance 2013-08-13 11:14:34 -07:00
qib_srq.c RDMA/core: Add SRQ type field 2011-10-13 09:13:26 -07:00
qib_sysfs.c IB/qib: Fix sizeof checkpatch warnings 2015-02-17 10:26:19 -08:00
qib_twsi.c IB/qib: Add blank line after declaration 2015-02-20 09:04:12 -08:00
qib_tx.c IB/qib: Add blank line after declaration 2015-02-20 09:04:12 -08:00
qib_uc.c IB: split struct ib_send_wr 2015-10-08 11:09:10 +01:00
qib_ud.c IB: split struct ib_send_wr 2015-10-08 11:09:10 +01:00
qib_user_pages.c IB/qib: Change get_user_pages() usage to always NULL vmas 2014-09-19 10:03:27 -07:00
qib_user_sdma.c IB/qib: Add blank line after declaration 2015-02-20 09:04:12 -08:00
qib_user_sdma.h
qib_verbs_mcast.c IB/qib: Fix sizeof checkpatch warnings 2015-02-17 10:26:19 -08:00
qib_verbs.c IB/qib: Remove old FRWR API 2015-10-28 22:32:29 -04:00
qib_verbs.h IB/qib: Fix qib_mr structure 2015-12-07 16:22:14 -05:00
qib_wc_ppc64.c
qib_wc_x86_64.c IB/qib: fix test of unsigned variable 2015-05-12 13:55:41 -04:00
qib.h IB/qib: fix test of unsigned variable 2015-05-12 13:55:41 -04:00