1
0
Fork 0
freescale-linux-fslc/drivers/infiniband/hw/mlx4
Shay Drory cb1aa1da04 RDMA/mlx4: Do not map the core_clock page to user space unless enabled
commit 404e5a12691fe797486475fe28cc0b80cb8bef2c upstream.

Currently when mlx4 maps the hca_core_clock page to the user space there
are read-modifiable registers, one of which is semaphore, on this page as
well as the clock counter. If user reads the wrong offset, it can modify
the semaphore and hang the device.

Do not map the hca_core_clock page to the user space unless the device has
been put in a backwards compatibility mode to support this feature.

After this patch, mlx4 core_clock won't be mapped to user space on the
majority of existing devices and the uverbs device time feature in
ibv_query_rt_values_ex() will be disabled.

Fixes: 52033cfb5a ("IB/mlx4: Add mmap call to map the hardware clock")
Link: https://lore.kernel.org/r/9632304e0d6790af84b3b706d8c18732bc0d5e27.1622726305.git.leonro@nvidia.com
Signed-off-by: Shay Drory <shayd@nvidia.com>
Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-06-16 12:01:44 +02:00
..
Kconfig treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
Makefile treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
ah.c RDMA: Restore ability to fail on AH destroy 2020-09-09 13:57:22 -03:00
alias_GUID.c timekeeping: Use proper clock specifier names in functions 2019-06-22 12:11:27 +02:00
cm.c IB/mlx4: Convert rej_tmout radix-tree to XArray 2020-10-09 12:34:49 -03:00
cq.c RDMA/mlx4: Use ib_umem_num_dma_blocks() 2020-09-11 10:24:54 -03:00
doorbell.c IB: Allow calls to ib_umem_get from kernel ULPs 2020-01-16 16:14:28 +02:00
mad.c IB/mlx4: Fix starvation in paravirt mux/demux 2020-08-24 11:31:22 -03:00
main.c RDMA/mlx4: Do not map the core_clock page to user space unless enabled 2021-06-16 12:01:44 +02:00
mcg.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
mlx4_ib.h IB/mlx4: Convert rej_tmout radix-tree to XArray 2020-10-09 12:34:49 -03:00
mr.c RDMA: Clean MW allocation and free flows 2020-09-17 14:04:32 -03:00
qp.c RDMA/drivers: Remove udata check from special QP 2020-09-29 13:11:06 -03:00
srq.c RDMA/mlx4: Use ib_umem_num_dma_blocks() 2020-09-11 10:24:54 -03:00
sysfs.c mlx4: Use snprintf instead of complicated strcpy 2018-12-06 20:23:06 -07:00