From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dan Carpenter Date: Wed, 10 Oct 2018 10:36:06 +0000 Subject: [PATCH] udlfb: fix some inconsistent NULL checking Message-Id: <20181010103606.GA14563@mwanda> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: Bernie Thompson Cc: linux-fbdev@vger.kernel.org, kernel-janitors@vger.kernel.org, dri-devel@lists.freedesktop.org, Bartlomiej Zolnierkiewicz In the current kernel, then kzalloc() can't fail for small allocations, but if it did fail then we would have a NULL dereference in the error handling. Also in dlfb_usb_disconnect() if "info" were NULL then it would cause an Oops inside the unregister_framebuffer() function but it can't be NULL so let's remove that check. Signed-off-by: Dan Carpenter diff --git a/drivers/video/fbdev/udlfb.c b/drivers/video/fbdev/udlfb.c index 070026a7e55a..1d034dddc556 100644 --- a/drivers/video/fbdev/udlfb.c +++ b/drivers/video/fbdev/udlfb.c @@ -1598,7 +1598,7 @@ static int dlfb_usb_probe(struct usb_interface *intf, dlfb = kzalloc(sizeof(*dlfb), GFP_KERNEL); if (!dlfb) { dev_err(&intf->dev, "%s: failed to allocate dlfb\n", __func__); - goto error; + return -ENOMEM; } INIT_LIST_HEAD(&dlfb->deferred_free); @@ -1703,7 +1703,7 @@ static int dlfb_usb_probe(struct usb_interface *intf, error: if (dlfb->info) { dlfb_ops_destroy(dlfb->info); - } else if (dlfb) { + } else { usb_put_dev(dlfb->udev); kfree(dlfb); } @@ -1730,12 +1730,10 @@ static void dlfb_usb_disconnect(struct usb_interface *intf) /* this function will wait for all in-flight urbs to complete */ dlfb_free_urb_list(dlfb); - if (info) { - /* remove udlfb's sysfs interfaces */ - for (i = 0; i < ARRAY_SIZE(fb_device_attrs); i++) - device_remove_file(info->dev, &fb_device_attrs[i]); - device_remove_bin_file(info->dev, &edid_attr); - } + /* remove udlfb's sysfs interfaces */ + for (i = 0; i < ARRAY_SIZE(fb_device_attrs); i++) + device_remove_file(info->dev, &fb_device_attrs[i]); + device_remove_bin_file(info->dev, &edid_attr); unregister_framebuffer(info); } From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dan Carpenter Subject: [PATCH] udlfb: fix some inconsistent NULL checking Date: Wed, 10 Oct 2018 13:36:06 +0300 Message-ID: <20181010103606.GA14563@mwanda> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from aserp2120.oracle.com (aserp2120.oracle.com [141.146.126.78]) by gabe.freedesktop.org (Postfix) with ESMTPS id 1579D89E39 for ; Wed, 10 Oct 2018 10:36:27 +0000 (UTC) Content-Disposition: inline List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Bernie Thompson Cc: linux-fbdev@vger.kernel.org, kernel-janitors@vger.kernel.org, dri-devel@lists.freedesktop.org, Bartlomiej Zolnierkiewicz List-Id: dri-devel@lists.freedesktop.org SW4gdGhlIGN1cnJlbnQga2VybmVsLCB0aGVuIGt6YWxsb2MoKSBjYW4ndCBmYWlsIGZvciBzbWFs bCBhbGxvY2F0aW9ucywKYnV0IGlmIGl0IGRpZCBmYWlsIHRoZW4gd2Ugd291bGQgaGF2ZSBhIE5V TEwgZGVyZWZlcmVuY2UgaW4gdGhlIGVycm9yCmhhbmRsaW5nLiAgQWxzbyBpbiBkbGZiX3VzYl9k aXNjb25uZWN0KCkgaWYgImluZm8iIHdlcmUgTlVMTCB0aGVuIGl0CndvdWxkIGNhdXNlIGFuIE9v cHMgaW5zaWRlIHRoZSB1bnJlZ2lzdGVyX2ZyYW1lYnVmZmVyKCkgZnVuY3Rpb24gYnV0IGl0CmNh bid0IGJlIE5VTEwgc28gbGV0J3MgcmVtb3ZlIHRoYXQgY2hlY2suCgpTaWduZWQtb2ZmLWJ5OiBE YW4gQ2FycGVudGVyIDxkYW4uY2FycGVudGVyQG9yYWNsZS5jb20+CgpkaWZmIC0tZ2l0IGEvZHJp dmVycy92aWRlby9mYmRldi91ZGxmYi5jIGIvZHJpdmVycy92aWRlby9mYmRldi91ZGxmYi5jCmlu ZGV4IDA3MDAyNmE3ZTU1YS4uMWQwMzRkZGRjNTU2IDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVv L2ZiZGV2L3VkbGZiLmMKKysrIGIvZHJpdmVycy92aWRlby9mYmRldi91ZGxmYi5jCkBAIC0xNTk4 LDcgKzE1OTgsNyBAQCBzdGF0aWMgaW50IGRsZmJfdXNiX3Byb2JlKHN0cnVjdCB1c2JfaW50ZXJm YWNlICppbnRmLAogCWRsZmIgPSBremFsbG9jKHNpemVvZigqZGxmYiksIEdGUF9LRVJORUwpOwog CWlmICghZGxmYikgewogCQlkZXZfZXJyKCZpbnRmLT5kZXYsICIlczogZmFpbGVkIHRvIGFsbG9j YXRlIGRsZmJcbiIsIF9fZnVuY19fKTsKLQkJZ290byBlcnJvcjsKKwkJcmV0dXJuIC1FTk9NRU07 CiAJfQogCiAJSU5JVF9MSVNUX0hFQUQoJmRsZmItPmRlZmVycmVkX2ZyZWUpOwpAQCAtMTcwMyw3 ICsxNzAzLDcgQEAgc3RhdGljIGludCBkbGZiX3VzYl9wcm9iZShzdHJ1Y3QgdXNiX2ludGVyZmFj ZSAqaW50ZiwKIGVycm9yOgogCWlmIChkbGZiLT5pbmZvKSB7CiAJCWRsZmJfb3BzX2Rlc3Ryb3ko ZGxmYi0+aW5mbyk7Ci0JfSBlbHNlIGlmIChkbGZiKSB7CisJfSBlbHNlIHsKIAkJdXNiX3B1dF9k ZXYoZGxmYi0+dWRldik7CiAJCWtmcmVlKGRsZmIpOwogCX0KQEAgLTE3MzAsMTIgKzE3MzAsMTAg QEAgc3RhdGljIHZvaWQgZGxmYl91c2JfZGlzY29ubmVjdChzdHJ1Y3QgdXNiX2ludGVyZmFjZSAq aW50ZikKIAkvKiB0aGlzIGZ1bmN0aW9uIHdpbGwgd2FpdCBmb3IgYWxsIGluLWZsaWdodCB1cmJz IHRvIGNvbXBsZXRlICovCiAJZGxmYl9mcmVlX3VyYl9saXN0KGRsZmIpOwogCi0JaWYgKGluZm8p IHsKLQkJLyogcmVtb3ZlIHVkbGZiJ3Mgc3lzZnMgaW50ZXJmYWNlcyAqLwotCQlmb3IgKGkgPSAw OyBpIDwgQVJSQVlfU0laRShmYl9kZXZpY2VfYXR0cnMpOyBpKyspCi0JCQlkZXZpY2VfcmVtb3Zl X2ZpbGUoaW5mby0+ZGV2LCAmZmJfZGV2aWNlX2F0dHJzW2ldKTsKLQkJZGV2aWNlX3JlbW92ZV9i aW5fZmlsZShpbmZvLT5kZXYsICZlZGlkX2F0dHIpOwotCX0KKwkvKiByZW1vdmUgdWRsZmIncyBz eXNmcyBpbnRlcmZhY2VzICovCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoZmJfZGV2aWNl X2F0dHJzKTsgaSsrKQorCQlkZXZpY2VfcmVtb3ZlX2ZpbGUoaW5mby0+ZGV2LCAmZmJfZGV2aWNl X2F0dHJzW2ldKTsKKwlkZXZpY2VfcmVtb3ZlX2Jpbl9maWxlKGluZm8tPmRldiwgJmVkaWRfYXR0 cik7CiAKIAl1bnJlZ2lzdGVyX2ZyYW1lYnVmZmVyKGluZm8pOwogfQpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRy aS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK