From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dan Carpenter Date: Fri, 21 Dec 2018 20:42:52 +0000 Subject: [PATCH] usb: gadget: Potential NULL dereference on allocation error Message-Id: <20181221204252.GA29544@kadam> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: Felipe Balbi Cc: Greg Kroah-Hartman , linux-usb@vger.kernel.org, kernel-janitors@vger.kernel.org The source_sink_alloc_func() function is supposed to return error pointers on error. The function is called from usb_get_function() which doesn't check for NULL returns so it would result in an Oops. Of course, in the current kernel, small allocations always succeed so this doesn't affect runtime. Signed-off-by: Dan Carpenter --- drivers/usb/gadget/function/f_sourcesink.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/usb/gadget/function/f_sourcesink.c b/drivers/usb/gadget/function/f_sourcesink.c index 9cdef108fb1b..ed68a4860b7d 100644 --- a/drivers/usb/gadget/function/f_sourcesink.c +++ b/drivers/usb/gadget/function/f_sourcesink.c @@ -838,7 +838,7 @@ static struct usb_function *source_sink_alloc_func( ss = kzalloc(sizeof(*ss), GFP_KERNEL); if (!ss) - return NULL; + return ERR_PTR(-ENOMEM); ss_opts = container_of(fi, struct f_ss_opts, func_inst); -- 2.17.1 From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: usb: gadget: Potential NULL dereference on allocation error From: Dan Carpenter Message-Id: <20181221204252.GA29544@kadam> Date: Fri, 21 Dec 2018 23:42:52 +0300 To: Felipe Balbi Cc: Greg Kroah-Hartman , linux-usb@vger.kernel.org, kernel-janitors@vger.kernel.org List-ID: VGhlIHNvdXJjZV9zaW5rX2FsbG9jX2Z1bmMoKSBmdW5jdGlvbiBpcyBzdXBwb3NlZCB0byByZXR1 cm4gZXJyb3IKcG9pbnRlcnMgb24gZXJyb3IuICBUaGUgZnVuY3Rpb24gaXMgY2FsbGVkIGZyb20g dXNiX2dldF9mdW5jdGlvbigpIHdoaWNoCmRvZXNuJ3QgY2hlY2sgZm9yIE5VTEwgcmV0dXJucyBz byBpdCB3b3VsZCByZXN1bHQgaW4gYW4gT29wcy4KCk9mIGNvdXJzZSwgaW4gdGhlIGN1cnJlbnQg a2VybmVsLCBzbWFsbCBhbGxvY2F0aW9ucyBhbHdheXMgc3VjY2VlZCBzbwp0aGlzIGRvZXNuJ3Qg YWZmZWN0IHJ1bnRpbWUuCgpTaWduZWQtb2ZmLWJ5OiBEYW4gQ2FycGVudGVyIDxkYW4uY2FycGVu dGVyQG9yYWNsZS5jb20+Ci0tLQogZHJpdmVycy91c2IvZ2FkZ2V0L2Z1bmN0aW9uL2Zfc291cmNl c2luay5jIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9u KC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvZ2FkZ2V0L2Z1bmN0aW9uL2Zfc291cmNlc2lu ay5jIGIvZHJpdmVycy91c2IvZ2FkZ2V0L2Z1bmN0aW9uL2Zfc291cmNlc2luay5jCmluZGV4IDlj ZGVmMTA4ZmIxYi4uZWQ2OGE0ODYwYjdkIDEwMDY0NAotLS0gYS9kcml2ZXJzL3VzYi9nYWRnZXQv ZnVuY3Rpb24vZl9zb3VyY2VzaW5rLmMKKysrIGIvZHJpdmVycy91c2IvZ2FkZ2V0L2Z1bmN0aW9u L2Zfc291cmNlc2luay5jCkBAIC04MzgsNyArODM4LDcgQEAgc3RhdGljIHN0cnVjdCB1c2JfZnVu Y3Rpb24gKnNvdXJjZV9zaW5rX2FsbG9jX2Z1bmMoCiAKIAlzcyA9IGt6YWxsb2Moc2l6ZW9mKCpz cyksIEdGUF9LRVJORUwpOwogCWlmICghc3MpCi0JCXJldHVybiBOVUxMOworCQlyZXR1cm4gRVJS X1BUUigtRU5PTUVNKTsKIAogCXNzX29wdHMgPSAgY29udGFpbmVyX29mKGZpLCBzdHJ1Y3QgZl9z c19vcHRzLCBmdW5jX2luc3QpOwogCg==