pseries: Check we have a chardev in spapr_vty_init()
If qemu is run like: qemu-system-ppc64 -nodefaults -device spapr-vty We end up in spapr_vty_init() with dev->chardev == NULL. Currently that leads to a segfault because we unconditionally call qemu_chr_add_handlers(). Although we could make that call conditional, I think a spapr-vty without a chardev is basically useless so fail the init. This is similar to what the serial code does for example. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Alexander Graf <agraf@suse.de>
This commit is contained in:
		
							parent
							
								
									5435352ce6
								
							
						
					
					
						commit
						57285302af
					
				| @ -58,6 +58,11 @@ static int spapr_vty_init(VIOsPAPRDevice *sdev) | ||||
| { | ||||
|     VIOsPAPRVTYDevice *dev = (VIOsPAPRVTYDevice *)sdev; | ||||
| 
 | ||||
|     if (!dev->chardev) { | ||||
|         fprintf(stderr, "spapr-vty: Can't create vty without a chardev!\n"); | ||||
|         exit(1); | ||||
|     } | ||||
| 
 | ||||
|     qemu_chr_add_handlers(dev->chardev, vty_can_receive, | ||||
|                           vty_receive, NULL, dev); | ||||
| 
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Michael Ellerman
						Michael Ellerman