net: simplify net_init_tap_one logic
net_init_tap_one receives in vhostfdname a fd name from vhostfd= or vhostfds=, or NULL if there is no vhostfd=/vhostfds=. It is simpler to just check vhostfdname, than it is to check for vhostfd= or vhostfds=. This also calms down Coverity, which otherwise thinks that monitor_fd_param could dereference a NULL vhostfdname. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Jason Wang <jasowang@redhat.com>
This commit is contained in:
		
							parent
							
								
									d24b2b1ccc
								
							
						
					
					
						commit
						3a2d44f6dd
					
				@ -662,7 +662,7 @@ static void net_init_tap_one(const NetdevTapOptions *tap, NetClientState *peer,
 | 
				
			|||||||
        options.backend_type = VHOST_BACKEND_TYPE_KERNEL;
 | 
					        options.backend_type = VHOST_BACKEND_TYPE_KERNEL;
 | 
				
			||||||
        options.net_backend = &s->nc;
 | 
					        options.net_backend = &s->nc;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (tap->has_vhostfd || tap->has_vhostfds) {
 | 
					        if (vhostfdname) {
 | 
				
			||||||
            vhostfd = monitor_fd_param(cur_mon, vhostfdname, &err);
 | 
					            vhostfd = monitor_fd_param(cur_mon, vhostfdname, &err);
 | 
				
			||||||
            if (vhostfd == -1) {
 | 
					            if (vhostfd == -1) {
 | 
				
			||||||
                error_propagate(errp, err);
 | 
					                error_propagate(errp, err);
 | 
				
			||||||
@ -684,7 +684,7 @@ static void net_init_tap_one(const NetdevTapOptions *tap, NetClientState *peer,
 | 
				
			|||||||
                       "vhost-net requested but could not be initialized");
 | 
					                       "vhost-net requested but could not be initialized");
 | 
				
			||||||
            return;
 | 
					            return;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    } else if (tap->has_vhostfd || tap->has_vhostfds) {
 | 
					    } else if (vhostfdname) {
 | 
				
			||||||
        error_setg(errp, "vhostfd= is not valid without vhost");
 | 
					        error_setg(errp, "vhostfd= is not valid without vhost");
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user