aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/infiniband/core/uverbs_main.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/infiniband/core/uverbs_main.c')
-rw-r--r--drivers/infiniband/core/uverbs_main.c19
1 files changed, 8 insertions, 11 deletions
diff --git a/drivers/infiniband/core/uverbs_main.c b/drivers/infiniband/core/uverbs_main.c
index 34386943ebcf..699463bbfd2d 100644
--- a/drivers/infiniband/core/uverbs_main.c
+++ b/drivers/infiniband/core/uverbs_main.c
@@ -676,17 +676,14 @@ static ssize_t ib_uverbs_write(struct file *filp, const char __user *buf,
676 return -EINVAL; 676 return -EINVAL;
677 } 677 }
678 678
679 INIT_UDATA(&ucore, 679 INIT_UDATA_BUF_OR_NULL(&ucore, buf, (unsigned long) ex_hdr.response,
680 (hdr.in_words) ? buf : 0, 680 hdr.in_words * 8, hdr.out_words * 8);
681 (unsigned long)ex_hdr.response, 681
682 hdr.in_words * 8, 682 INIT_UDATA_BUF_OR_NULL(&uhw,
683 hdr.out_words * 8); 683 buf + ucore.inlen,
684 684 (unsigned long) ex_hdr.response + ucore.outlen,
685 INIT_UDATA(&uhw, 685 ex_hdr.provider_in_words * 8,
686 (ex_hdr.provider_in_words) ? buf + ucore.inlen : 0, 686 ex_hdr.provider_out_words * 8);
687 (ex_hdr.provider_out_words) ? (unsigned long)ex_hdr.response + ucore.outlen : 0,
688 ex_hdr.provider_in_words * 8,
689 ex_hdr.provider_out_words * 8);
690 687
691 err = uverbs_ex_cmd_table[command](file, 688 err = uverbs_ex_cmd_table[command](file,
692 &ucore, 689 &ucore,