linux_dsm_epyc7002/drivers/infiniband/sw/rxe
Jason Gunthorpe cb88645596 infiniband: Fix alignment of mmap cookies to support VIPT caching
When vmalloc_user is used to create memory that is supposed to be mmap'd
to user space, it is necessary for the mmap cookie (eg the offset) to be
aligned to SHMLBA.

This creates a situation where all virtual mappings of the same physical
page share the same virtual cache index and guarantees VIPT coherence.
Otherwise the cache is non-coherent and the kernel will not see writes
by userspace when reading the shared page (or vice-versa).

Reported-by: Josh Beavers <josh.beavers@gmail.com>
Signed-off-by: Jason Gunthorpe <jgunthorpe@obsidianresearch.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
2017-03-24 16:50:51 -04:00
..
Kconfig IB/rxe, IB/rdmavt: Use dma_virt_ops instead of duplicating it 2017-01-24 12:31:32 -05:00
Makefile IB/rxe, IB/rdmavt: Use dma_virt_ops instead of duplicating it 2017-01-24 12:31:32 -05:00
rxe_av.c IB/rxe: improved debug prints & code cleanup 2016-10-06 13:50:04 -04:00
rxe_comp.c IB/rxe: Fix an skb leak 2017-01-10 16:52:47 -05:00
rxe_cq.c IB/rxe: Let the compiler check the type of the cleanup functions 2017-01-10 16:52:47 -05:00
rxe_hdr.h IB/rxe: Enable type checking on SKB_TO_PKT() and PKT_TO_SKB() arguments 2017-01-10 16:52:47 -05:00
rxe_icrc.c Soft RoCE driver 2016-08-04 11:13:12 -04:00
rxe_loc.h IB/rxe, IB/rdmavt: Use dma_virt_ops instead of duplicating it 2017-01-24 12:31:32 -05:00
rxe_mcast.c IB/rxe: Remove a pointless indirection layer 2017-01-10 16:52:47 -05:00
rxe_mmap.c infiniband: Fix alignment of mmap cookies to support VIPT caching 2017-03-24 16:50:51 -04:00
rxe_mr.c Merge branch 'k.o/for-4.10-rc' into HEAD 2017-02-19 09:18:21 -05:00
rxe_net.c First set of updates for 4.11 kernel merge window 2017-02-23 08:27:57 -08:00
rxe_net.h IB/rxe: improved debug prints & code cleanup 2016-10-06 13:50:04 -04:00
rxe_opcode.c Soft RoCE driver 2016-08-04 11:13:12 -04:00
rxe_opcode.h Soft RoCE driver 2016-08-04 11:13:12 -04:00
rxe_param.h IB/rxe: Increase max number of completions to 32k 2016-12-13 13:33:24 -05:00
rxe_pool.c IB/rxe: Add a runtime check in alloc_index() 2017-01-10 16:52:47 -05:00
rxe_pool.h IB/rxe: Let the compiler check the type of the cleanup functions 2017-01-10 16:52:47 -05:00
rxe_qp.c IB/rxe: use setup_timer to simplify the code 2017-02-19 09:18:31 -05:00
rxe_queue.c IB/rxe: Clear queue buffer when modifying QP to reset 2016-11-16 20:03:44 -05:00
rxe_queue.h IB/rxe: Clear queue buffer when modifying QP to reset 2016-11-16 20:03:44 -05:00
rxe_recv.c IB/rxe: Suppress sparse warnings 2017-01-10 16:52:47 -05:00
rxe_req.c IB/rxe: Remove a pointless indirection layer 2017-01-10 16:52:47 -05:00
rxe_resp.c Merge branch 'k.o/for-4.10-rc' into HEAD 2017-02-19 09:18:21 -05:00
rxe_srq.c IB/rxe: Remove unneeded cast in rxe_srq_from_attr() 2016-12-12 16:31:45 -05:00
rxe_sysfs.c IB/rxe: improved debug prints & code cleanup 2016-10-06 13:50:04 -04:00
rxe_task.c IB/rxe: Wait for tasklets to finish before tearing down QP 2016-12-12 16:31:45 -05:00
rxe_task.h IB/rxe: Wait for tasklets to finish before tearing down QP 2016-12-12 16:31:45 -05:00
rxe_verbs.c This is a tree wide change and has been kept separate for that reason. 2017-02-25 13:45:43 -08:00
rxe_verbs.h IB/rxe: Remove a pointless indirection layer 2017-01-10 16:52:47 -05:00
rxe.c IB/rxe: Remove a pointless indirection layer 2017-01-10 16:52:47 -05:00
rxe.h IB/rxe: improved debug prints & code cleanup 2016-10-06 13:50:04 -04:00