Fix integer to pointer of different size conversion warnings when

using GCC for 32-bit platforms. The integer size in this case is
hardcoded 64-bit while the pointer size is 32-bit.

Sponsored by:	Mellanox Technologies
MFC after:	2 weeks
This commit is contained in:
Hans Petter Selasky 2015-11-12 10:12:20 +00:00
parent 3143f07779
commit 0f5150a757
2 changed files with 5 additions and 4 deletions

View File

@ -1379,7 +1379,8 @@ ssize_t ib_uverbs_create_cq(struct ib_uverbs_file *file,
return -EFAULT;
return create_cq(file, buf, in_len, out_len, &cmd,
IB_USER_VERBS_CMD_BASIC, (void __user *)cmd.response);
IB_USER_VERBS_CMD_BASIC,
(void __user *) (unsigned long) cmd.response);
}
ssize_t ib_uverbs_resize_cq(struct ib_uverbs_file *file,
@ -1609,7 +1610,7 @@ ssize_t ib_uverbs_create_qp(struct ib_uverbs_file *file,
if (copy_from_user(&cmd_obj, buf, cmd_size))
return -EFAULT;
response = (void __user *)cmd->response;
response = (void __user *) (unsigned long) cmd->response;
if (!disable_raw_qp_enforcement &&
cmd->qp_type == IB_QPT_RAW_PACKET && !priv_check(curthread, PRIV_NET_RAW))

View File

@ -81,8 +81,8 @@ static struct ib_udata_ops uverbs_copy_ex = {
#define INIT_UDATA_EX(udata, ibuf, obuf, ilen, olen) \
do { \
(udata)->ops = &uverbs_copy_ex; \
(udata)->inbuf = (void __user *)(ibuf); \
(udata)->outbuf = (void __user *)(obuf); \
(udata)->inbuf = (void __user *)(unsigned long)(ibuf); \
(udata)->outbuf = (void __user *)(unsigned long)(obuf); \
(udata)->inlen = (ilen); \
(udata)->outlen = (olen); \
} while (0)