File tree Expand file tree Collapse file tree 1 file changed +7
-3
lines changed Expand file tree Collapse file tree 1 file changed +7
-3
lines changed Original file line number Diff line number Diff line change @@ -664,19 +664,23 @@ static ssize_t ucma_resolve_ip(struct ucma_file *file,
664
664
int in_len , int out_len )
665
665
{
666
666
struct rdma_ucm_resolve_ip cmd ;
667
+ struct sockaddr * src , * dst ;
667
668
struct ucma_context * ctx ;
668
669
int ret ;
669
670
670
671
if (copy_from_user (& cmd , inbuf , sizeof (cmd )))
671
672
return - EFAULT ;
672
673
674
+ src = (struct sockaddr * ) & cmd .src_addr ;
675
+ dst = (struct sockaddr * ) & cmd .dst_addr ;
676
+ if (!rdma_addr_size (src ) || !rdma_addr_size (dst ))
677
+ return - EINVAL ;
678
+
673
679
ctx = ucma_get_ctx (file , cmd .id );
674
680
if (IS_ERR (ctx ))
675
681
return PTR_ERR (ctx );
676
682
677
- ret = rdma_resolve_addr (ctx -> cm_id , (struct sockaddr * ) & cmd .src_addr ,
678
- (struct sockaddr * ) & cmd .dst_addr ,
679
- cmd .timeout_ms );
683
+ ret = rdma_resolve_addr (ctx -> cm_id , src , dst , cmd .timeout_ms );
680
684
ucma_put_ctx (ctx );
681
685
return ret ;
682
686
}
You can’t perform that action at this time.
0 commit comments