From: Alexey Khoroshilov Date: Tue, 10 Jun 2014 20:22:50 +0000 (+0400) Subject: staging: line6: do not return 0 from probe if no initialization done X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=c7f268df3f4e80513271aea8e91f3fd0701aae1b;p=openwrt%2Fstaging%2Fblogic.git staging: line6: do not return 0 from probe if no initialization done There is a strange "return 0" in line6_probe() before any initialization of the module is done. It can lead to NULL pointer dereference in other functions. The patch proposes to return -ENODEV in this case. Found by Linux Driver Verification project (linuxtesting.org). Signed-off-by: Alexey Khoroshilov Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/line6/driver.c b/drivers/staging/line6/driver.c index ef511c76a6e3..503b2d763595 100644 --- a/drivers/staging/line6/driver.c +++ b/drivers/staging/line6/driver.c @@ -663,7 +663,7 @@ static int line6_probe(struct usb_interface *interface, case LINE6_DEVID_POCKETPOD: switch (interface_number) { case 0: - return 0; /* this interface has no endpoints */ + return -ENODEV; /* this interface has no endpoints */ case 1: alternate = 0; break;