|
@@ -991,7 +991,14 @@ static struct ib_ucontext *mlx5_ib_alloc_ucontext(struct ib_device *ibdev,
|
|
|
if (field_avail(typeof(resp), cqe_version, udata->outlen))
|
|
|
resp.response_length += sizeof(resp.cqe_version);
|
|
|
|
|
|
- if (field_avail(typeof(resp), hca_core_clock_offset, udata->outlen)) {
|
|
|
+ /*
|
|
|
+ * We don't want to expose information from the PCI bar that is located
|
|
|
+ * after 4096 bytes, so if the arch only supports larger pages, let's
|
|
|
+ * pretend we don't support reading the HCA's core clock. This is also
|
|
|
+ * forced by mmap function.
|
|
|
+ */
|
|
|
+ if (PAGE_SIZE <= 4096 &&
|
|
|
+ field_avail(typeof(resp), hca_core_clock_offset, udata->outlen)) {
|
|
|
resp.comp_mask |=
|
|
|
MLX5_IB_ALLOC_UCONTEXT_RESP_MASK_CORE_CLOCK_OFFSET;
|
|
|
resp.hca_core_clock_offset =
|