From patchwork Mon Jul 23 11:09:46 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Xidong Wang X-Patchwork-Id: 10539983 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 494EC112E for ; Mon, 23 Jul 2018 11:10:21 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 39573286A0 for ; Mon, 23 Jul 2018 11:10:21 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 371B72866D; Mon, 23 Jul 2018 11:10:21 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.8 required=2.0 tests=BAYES_00,DKIM_SIGNED, FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI,T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id B435828699 for ; Mon, 23 Jul 2018 11:10:20 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2387986AbeGWMLA (ORCPT ); Mon, 23 Jul 2018 08:11:00 -0400 Received: from m12-16.163.com ([220.181.12.16]:51197 "EHLO m12-16.163.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2387970AbeGWMK7 (ORCPT ); Mon, 23 Jul 2018 08:10:59 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=163.com; s=s110527; h=From:Subject:Date:Message-Id; bh=+v29pUSID7u/mFVYhe vBsLWOuxfFL367mhA7UaJDGRM=; b=YiKZQSAyV80TUyN2G1+o6kJsDEOo2GwkbO 0VeHJEQFhYgdSpCvpLK7Wryq0LqLJ55GwhBvSjpPMjNHCeTYXDYU0VGOqJCDA9yK Jphs+zcXBE/YzNUUk5yKnbN/0YaLlldqOxCL7+sShDzwUz+doKTt/SnEo3ub8CCm nk/toGeZY= Received: from localhost.localdomain (unknown [106.120.213.116]) by smtp12 (Coremail) with SMTP id EMCowACniUaCt1VbVMRSIA--.19246S3; Mon, 23 Jul 2018 19:10:03 +0800 (CST) From: Xidong Wang To: Felipe Balbi , Greg Kroah-Hartman , Johan Hovold , Michal Nazarewicz , Vincent Pelletier Cc: wangxidong_97@163.com, linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 1/1] usb:gadget:function:fix memory leak Date: Mon, 23 Jul 2018 19:09:46 +0800 Message-Id: <1532344186-30505-1-git-send-email-wangxidong_97@163.com> X-Mailer: git-send-email 2.7.4 X-CM-TRANSID: EMCowACniUaCt1VbVMRSIA--.19246S3 X-Coremail-Antispam: 1Uf129KBjvdXoWrKrW3uFy3Ar1UCrWDAF45Awb_yoWfZFX_uw 1xXr1xXryqq3ZrGrWUG3yfAFWIga1UXF97uF1qgr9aya4S9ws3Ww1vqrs5G3WxZw43Wrn8 CryrXrnxXw4aqjkaLaAFLSUrUUUUUb8apTn2vfkv8UJUUUU8Yxn0WfASr-VFAUDa7-sFnT 9fnUUvcSsGvfC2KfnxnUUI43ZEXa7IU8I38UUUUUU== X-Originating-IP: [106.120.213.116] X-CM-SenderInfo: pzdqw5xlgr0wrbzxqiywtou0bp/xtbBFQuM81XlcX044wAAsG Sender: linux-usb-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-usb@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP In function f_audio_set_alt(), the memory allocated by usb_ep_alloc_request() is not released on the error path that req->buf, which holds the return value of kzalloc(), is NULL. This will result in a memory leak bug. Signed-off-by: Xidong Wang --- drivers/usb/gadget/function/f_uac1_legacy.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/usb/gadget/function/f_uac1_legacy.c b/drivers/usb/gadget/function/f_uac1_legacy.c index 24c086b..2fcdade 100644 --- a/drivers/usb/gadget/function/f_uac1_legacy.c +++ b/drivers/usb/gadget/function/f_uac1_legacy.c @@ -630,8 +630,11 @@ static int f_audio_set_alt(struct usb_function *f, unsigned intf, unsigned alt) ERROR(cdev, "%s queue req: %d\n", out_ep->name, err); - } else + } else { + usb_ep_free_request( + out_ep, req); err = -ENOMEM; + } } else err = -ENOMEM; }