mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 02:30:34 +02:00 
			
		
		
		
	RDMA/uverbs: Ensure validity of current QP state value
The QP state is internal enum which is checked at the driver level by calling to ib_modify_qp_is_ok(). Move this check closer to user and leave kernel users to be checked by compiler. Signed-off-by: Leon Romanovsky <leonro@mellanox.com> Reviewed-by: Dennis Dalessandro <dennis.dalessandro@intel.com> Signed-off-by: Doug Ledford <dledford@redhat.com>
This commit is contained in:
		
							parent
							
								
									75a4598209
								
							
						
					
					
						commit
						88de869bbe
					
				
					 1 changed files with 7 additions and 0 deletions
				
			
		| 
						 | 
				
			
			@ -1991,6 +1991,13 @@ static int modify_qp(struct ib_uverbs_file *file,
 | 
			
		|||
		goto release_qp;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if ((cmd->base.attr_mask & IB_QP_CUR_STATE &&
 | 
			
		||||
	    cmd->base.cur_qp_state > IB_QPS_ERR) ||
 | 
			
		||||
	    cmd->base.qp_state > IB_QPS_ERR) {
 | 
			
		||||
		ret = -EINVAL;
 | 
			
		||||
		goto release_qp;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	attr->qp_state		  = cmd->base.qp_state;
 | 
			
		||||
	attr->cur_qp_state	  = cmd->base.cur_qp_state;
 | 
			
		||||
	attr->path_mtu		  = cmd->base.path_mtu;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue