|
@@ -525,6 +525,9 @@ int rds_rdma_extra_size(struct rds_rdma_args *args)
|
|
|
|
|
|
local_vec = (struct rds_iovec __user *)(unsigned long) args->local_vec_addr;
|
|
local_vec = (struct rds_iovec __user *)(unsigned long) args->local_vec_addr;
|
|
|
|
|
|
|
|
+ if (args->nr_local == 0)
|
|
|
|
+ return -EINVAL;
|
|
|
|
+
|
|
/* figure out the number of pages in the vector */
|
|
/* figure out the number of pages in the vector */
|
|
for (i = 0; i < args->nr_local; i++) {
|
|
for (i = 0; i < args->nr_local; i++) {
|
|
if (copy_from_user(&vec, &local_vec[i],
|
|
if (copy_from_user(&vec, &local_vec[i],
|