Message ID | 1619429726-54768-1-git-send-email-yang.lee@linux.alibaba.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | HID: hiddev: return -ENOMEM when kmalloc failed | expand |
On Mon, Apr 26, 2021 at 05:35:26PM +0800, Yang Li wrote: > The driver is using -1 instead of the -ENOMEM defined macro to > specify that a buffer allocation failed. Using the correct error > code is more intuitive. > > Smatch tool warning: > drivers/hid/usbhid/hiddev.c:894 hiddev_connect() warn: returning -1 > instead of -ENOMEM is sloppy > > No functional change, just more standardized. > > Reported-by: Abaci Robot <abaci@linux.alibaba.com> > Signed-off-by: Yang Li <yang.lee@linux.alibaba.com> > --- > drivers/hid/usbhid/hiddev.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/hid/usbhid/hiddev.c b/drivers/hid/usbhid/hiddev.c > index 45e0b1c..88020f3 100644 > --- a/drivers/hid/usbhid/hiddev.c > +++ b/drivers/hid/usbhid/hiddev.c > @@ -891,7 +891,7 @@ int hiddev_connect(struct hid_device *hid, unsigned int force) > } > > if (!(hiddev = kzalloc(sizeof(struct hiddev), GFP_KERNEL))) > - return -1; > + return -ENOMEM; Please try to understand the code that you're changing based on feedback from some tool. All other error paths here return -1 and the return value of this function is only compared to zero. How is changing only one of these paths an improvement in any way? > > init_waitqueue_head(&hiddev->wait); > INIT_LIST_HEAD(&hiddev->list); Johan
diff --git a/drivers/hid/usbhid/hiddev.c b/drivers/hid/usbhid/hiddev.c index 45e0b1c..88020f3 100644 --- a/drivers/hid/usbhid/hiddev.c +++ b/drivers/hid/usbhid/hiddev.c @@ -891,7 +891,7 @@ int hiddev_connect(struct hid_device *hid, unsigned int force) } if (!(hiddev = kzalloc(sizeof(struct hiddev), GFP_KERNEL))) - return -1; + return -ENOMEM; init_waitqueue_head(&hiddev->wait); INIT_LIST_HEAD(&hiddev->list);
The driver is using -1 instead of the -ENOMEM defined macro to specify that a buffer allocation failed. Using the correct error code is more intuitive. Smatch tool warning: drivers/hid/usbhid/hiddev.c:894 hiddev_connect() warn: returning -1 instead of -ENOMEM is sloppy No functional change, just more standardized. Reported-by: Abaci Robot <abaci@linux.alibaba.com> Signed-off-by: Yang Li <yang.lee@linux.alibaba.com> --- drivers/hid/usbhid/hiddev.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)