USB: cdc-acm: fix potential null-pointer dereference on disconnect
Fix potential null-pointer exception on disconnect introduced by commit
11ea859d64 (USB: additional power savings
for cdc-acm devices that support remote wakeup).
Only access acm->dev after making sure it is non-null in control urb
completion handler.
Cc: stable <stable@kernel.org>
Signed-off-by: Johan Hovold <jhovold@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
	
	
This commit is contained in:
		
					parent
					
						
							
								15e5bee33f
							
						
					
				
			
			
				commit
				
					
						7e7797e7f6
					
				
			
		
					 1 changed files with 2 additions and 1 deletions
				
			
		| 
						 | 
				
			
			@ -297,6 +297,8 @@ static void acm_ctrl_irq(struct urb *urb)
 | 
			
		|||
	if (!ACM_READY(acm))
 | 
			
		||||
		goto exit;
 | 
			
		||||
 | 
			
		||||
	usb_mark_last_busy(acm->dev);
 | 
			
		||||
 | 
			
		||||
	data = (unsigned char *)(dr + 1);
 | 
			
		||||
	switch (dr->bNotificationType) {
 | 
			
		||||
	case USB_CDC_NOTIFY_NETWORK_CONNECTION:
 | 
			
		||||
| 
						 | 
				
			
			@ -336,7 +338,6 @@ static void acm_ctrl_irq(struct urb *urb)
 | 
			
		|||
		break;
 | 
			
		||||
	}
 | 
			
		||||
exit:
 | 
			
		||||
	usb_mark_last_busy(acm->dev);
 | 
			
		||||
	retval = usb_submit_urb(urb, GFP_ATOMIC);
 | 
			
		||||
	if (retval)
 | 
			
		||||
		dev_err(&urb->dev->dev, "%s - usb_submit_urb failed with "
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue