From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id C6430C71153 for ; Sun, 3 Sep 2023 14:27:44 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236806AbjICO1p (ORCPT ); Sun, 3 Sep 2023 10:27:45 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59166 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229545AbjICO1p (ORCPT ); Sun, 3 Sep 2023 10:27:45 -0400 Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 12A5197; Sun, 3 Sep 2023 07:27:42 -0700 (PDT) Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by smtp-out1.suse.de (Postfix) with ESMTPS id C804D216DA; Sun, 3 Sep 2023 14:27:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1693751260; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=6qMJi4BKyutAvw/lZjnVaXoKuFbBrRnta8D0q30utTs=; b=pH2g3p8N0X88xdBrpz7RJJ5StCgRDlSq6Fkiiu1N0I7mTLoQec0z4x+SbuN6Dgj3z9zEx7 b+J+iyzlWXPj+xcAFIzo7iBreNFUSYTfb9zwCsC0QdncI1gSXPoNKZ4UrAosmU+uT04uqM Pb0IlbcT5uwKMOhK7BAAdUAOOvhM35A= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1693751260; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=6qMJi4BKyutAvw/lZjnVaXoKuFbBrRnta8D0q30utTs=; b=d6HvFViU48h3ICoKVzNxTgKiYrhiUeKXy665RwBz1a6nVXIQseUnKHJh4fJ/Yrwjlvatla aj5Sr6wo6aJunrDg== Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 8D7A013583; Sun, 3 Sep 2023 14:27:40 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id fG7JINyX9GR0cwAAMHmgww (envelope-from ); Sun, 03 Sep 2023 14:27:40 +0000 Date: Sun, 03 Sep 2023 16:27:40 +0200 Message-ID: <87zg23l4bn.wl-tiwai@suse.de> From: Takashi Iwai To: Christophe JAILLET Cc: "Geoffrey D. Bennett" , Jaroslav Kysela , Takashi Iwai , linux-kernel@vger.kernel.org, kernel-janitors@vger.kernel.org, alsa-devel@alsa-project.org Subject: Re: [PATCH] ALSA: scarlett2: Fix a potential memory leak in scarlett2_init_notify() In-Reply-To: <73aab53d53df156a5df2bc61314ff26448526749.1693744859.git.christophe.jaillet@wanadoo.fr> References: <73aab53d53df156a5df2bc61314ff26448526749.1693744859.git.christophe.jaillet@wanadoo.fr> User-Agent: Wanderlust/2.15.9 (Almost Unreal) Emacs/27.2 Mule/6.0 MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Content-Type: text/plain; charset=US-ASCII Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sun, 03 Sep 2023 14:41:45 +0200, Christophe JAILLET wrote: > > If kmalloc() fails, we should release 'mixer->urb'. This is released at the common error path in mixer.c, snd_usb_mixer_free(), hence it's not needed. And, even if freeing here, you must NULL-clear mixer->urb, too; otherwise it'll lead to double-free. thanks, Takashi > > Fixes: 9e4d5c1be21f ("ALSA: usb-audio: Scarlett Gen 2 mixer interface") > Signed-off-by: Christophe JAILLET > --- > sound/usb/mixer_scarlett_gen2.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/sound/usb/mixer_scarlett_gen2.c b/sound/usb/mixer_scarlett_gen2.c > index 9d11bb08667e..a439c7f64b2e 100644 > --- a/sound/usb/mixer_scarlett_gen2.c > +++ b/sound/usb/mixer_scarlett_gen2.c > @@ -4060,8 +4060,10 @@ static int scarlett2_init_notify(struct usb_mixer_interface *mixer) > return -ENOMEM; > > transfer_buffer = kmalloc(private->wMaxPacketSize, GFP_KERNEL); > - if (!transfer_buffer) > + if (!transfer_buffer) { > + usb_free_urb(mixer->urb); > return -ENOMEM; > + } > > usb_fill_int_urb(mixer->urb, dev, pipe, > transfer_buffer, private->wMaxPacketSize, > -- > 2.34.1 >