浏览代码

IB/uverbs: UAPI pointers should use __aligned_u64 type

The ioctl() UAPIs are meant to be used by both user-space
and kernel ioctl() handlers.

Mostly, these UAPI structs tend to consist of simple types, but
sometimes user-space pointers may be passed between user-space and
kernel. We would like to avoid dereferencing a user-space pointer in
the kernel, thus - we always define RDMA_UAPI_PTR as a __aligned_u64
type.

Fixes: 1f7ff9d5d36a ('IB/uverbs: Move to new headers and make naming consistent')
Signed-off-by: Matan Barak <matanb@mellanox.com>
Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
Matan Barak 7 年之前
父节点
当前提交
be23fb9a2c
共有 1 个文件被更改,包括 1 次插入1 次删除
  1. 1 1
      include/uapi/rdma/ib_user_ioctl_verbs.h

+ 1 - 1
include/uapi/rdma/ib_user_ioctl_verbs.h

@@ -37,7 +37,7 @@
 #include <linux/types.h>
 #include <linux/types.h>
 
 
 #ifndef RDMA_UAPI_PTR
 #ifndef RDMA_UAPI_PTR
-#define RDMA_UAPI_PTR(_type, _name)	_type __attribute__((aligned(8))) _name
+#define RDMA_UAPI_PTR(_type, _name)	__aligned_u64 _name
 #endif
 #endif
 
 
 #endif
 #endif