From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from m16.mail.163.com (m16.mail.163.com [117.135.210.2]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 97FFD1B0434 for ; Wed, 29 Jan 2025 11:48:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=117.135.210.2 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738151337; cv=none; b=edlQRmISf2jhKmv3M96wXBBq3XHFCwGK7UNgQZExBB4jra8OG+gU45v3g7Xb5rwcqBRRKGtKyRX8PMsLoKgWijStGyVb0ckKz0VeQkIJDHSYCs3klXYvsr/sWNFncnRJhj0+qZlzbW1Tlpz99Kvy9/tfyNjKsCrDJkXLjDneztA= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738151337; c=relaxed/simple; bh=EgGu8yvZZu0tDb3duQIbPOHmQVucGRG9fGhnuUYk2h8=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=UnlWgcAzlkg8yEdCoFr0iqFq0iUjAjNpBML2BxLLQFqZv0TLMmjq5edtXYBUS3BQVQvq/6wWT8DewLWIsqwFhOeSlSU+/m8Y7zWseBR9POsri/gG0TLOtgeIdoMBhVHU/YKPZzxXjPZ1hfYBeqwxHsYUF6dQIcrxMitvbqJ981w= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=163.com; spf=pass smtp.mailfrom=163.com; dkim=pass (1024-bit key) header.d=163.com header.i=@163.com header.b=UvQGfUzQ; arc=none smtp.client-ip=117.135.210.2 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=163.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=163.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=163.com header.i=@163.com header.b="UvQGfUzQ" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=163.com; s=s110527; h=Message-ID:Date:MIME-Version:Subject:From: Content-Type; bh=phhC6/CvuzsKujA1F3v2tZhD6uytqeJyjFFUGwSgc0s=; b=UvQGfUzQjyDfmjd/e1Xwna8tuXtfoyp4v9zNOl/Ebz7mgYHnEGg/0HUU1Qx61m za/sN5MTzRgyHBOeFP3TU7UXg4/1puVjAx1J3KFb3bEHd2S46kr5uGrjPglo2TaG vfFSdwhIw3AevmyCSIqN3Sa5mLHfJCLecgqFfXYn9oO3U= Received: from [192.168.0.102] (unknown []) by gzga-smtp-mtada-g0-0 (Coremail) with SMTP id _____wD3dxB6FZpno6HKJA--.24380S2; Wed, 29 Jan 2025 19:48:11 +0800 (CST) Message-ID: <0e5fcde2-140a-4896-8880-5f90f2a134c4@163.com> Date: Wed, 29 Jan 2025 19:48:10 +0800 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] virtio_console: Convert to use devm funcs To: Amit Shah Cc: Arnd Bergmann , Greg Kroah-Hartman , virtualization@lists.linux.dev, linux-kernel@vger.kernel.org, Shixiong Ou References: <20250128055241.30760-1-oushixiong1025@163.com> <9a10b435045556f5625afe83bd41bc4d4f9be80b.camel@kernel.org> From: oushixiong In-Reply-To: <9a10b435045556f5625afe83bd41bc4d4f9be80b.camel@kernel.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-CM-TRANSID:_____wD3dxB6FZpno6HKJA--.24380S2 X-Coremail-Antispam: 1Uf129KBjvJXoWrKr1kAFyfXFWUtw1fAw1UWrg_yoW8JF48pF Z3WasxCr4Dtrs3Kr9Iv3yfZa1rZ3ykJr18WF1agw4SvrW5Ar9Fqr1vyr4rCayav3yxCa10 vF18ta43W3WUXFJanT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDUYxBIdaVFxhVjvjDU0xZFpf9x07U4SoAUUUUU= X-CM-SenderInfo: xrxvxxx0lr0wirqskqqrwthudrp/1tbiXBzjD2eaBHV9CwAAsW 在 2025/1/28 17:39, Amit Shah 写道: > On Tue, 2025-01-28 at 13:52 +0800, oushixiong1025@163.com wrote: >> From: Shixiong Ou >> >> Convert to devm_* funcs so that no need to manual free in error path. >> >> Signed-off-by: Shixiong Ou >> --- >>  drivers/char/virtio_console.c | 43 ++++++++++++++------------------- >> -- >>  1 file changed, 17 insertions(+), 26 deletions(-) > [...] > >> - goto free; >> + return err; > [...] > >> - >> -free: >> - kfree(portdev->out_vqs); >> - kfree(portdev->in_vqs); >> - kfree(vqs_info); >> - kfree(vqs); >> - >> - return err; >>  } > Hm, I'm not entirely sure about this - the devm_ interface is better, > but to me that just says that it's an extra safety net that avoids > memleaks when we forget to kfree, and not that we deliberately do not > free and get lax about managing allocated memory. > > So I'd prefer a patch that keeps all current frees as they are, but > with the added advantage of using the devm interfaces. > > Amit Hi, I don't think driver need to  call kfree() by manual if driver use the devm_ interface in the probe() phase. This can simplifies the code. This is similar to the  commit  "55dd7378ba94 (fbdev: imxfb: Convert to devm_kmalloc_array())" Thanks! Shixiong Ou