Received: by 2002:a05:6358:16cc:b0:ea:6187:17c9 with SMTP id r12csp3558217rwl; Sat, 7 Jan 2023 01:47:57 -0800 (PST) X-Google-Smtp-Source: AMrXdXtp2XALxqQIbccyJjKAbm6Qsx8qdBlEkkM4t3g0rEK315n6kaNzIGwoeCE8KFcdwFi3+lAT X-Received: by 2002:a17:906:fb18:b0:82d:1d5f:2617 with SMTP id lz24-20020a170906fb1800b0082d1d5f2617mr51319173ejb.69.1673084877250; Sat, 07 Jan 2023 01:47:57 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1673084877; cv=none; d=google.com; s=arc-20160816; b=hm3eEfSK3a0R4pnQqmjqx+fcwpskAi611Y8LfitF9Dgvs+nPZPEg1Hva6QuuMF29TM 1orwrHXOElUnqDKlwWcXoVnN2CBvQ2a4Y/o81m6JbdnDoUWApBP7a6Lmv6U/b4O2XNKP GHsHSzGp7NIz16O1Gqji7HAVFUJTiSYPZrbAhGXBVnDsBncgsVl53hrof3VdFBvmtyPW Lc8junt6qBrjSXr4+0i8d0KF9Bbo3no4M2QGv6H7Vw3hOkMqWC8IkF0WHeJuwVdQBRi8 AhA9oHzuxl1qrj29LN2wHI/l9eNyeLG/Qg0prOUCzVYhrTclIbLoB/iSPwR0dMGgDcXm bCQA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:from :content-language:references:cc:to:subject:user-agent:mime-version :date:message-id; bh=cq+/C2DwzN212NMOfbOpuO9XFT2fpTGN25h1zo04qCg=; b=NqXnuLu5KJEbP4uN9rWdPFq+raNyP0FAeXTUq3K7EAZ80g4BoSVDUXwCPVQcpfkLyh qqYDpBnITA76Fsz5wTTNiWbLdv8V7ipzMAiSs/7dVQ6idsMP1nVTTURw/ZYjOf21ufaW oB7MiEJafprRCkzmwHN4yoApI21odqUWg8pqXEGf9fDg8eazm+IobW7HpQbI1e4BiqIO pD35sg/af8tMTU41wcXX89qTNWc2fQYRQ9fpt56c755z+SE+gxx5M/ftupR8gRDY9jRD uDyDgvqsHYzm9bLN1+qSwdUfgIE3l7VIzaeap3HK+YYRGT+LeuLB/p+42yN3Y7oz8qT4 nKiQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id wu1-20020a170906eec100b0081a9c3ca498si4119683ejb.314.2023.01.07.01.47.41; Sat, 07 Jan 2023 01:47:57 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230439AbjAGImv (ORCPT + 55 others); Sat, 7 Jan 2023 03:42:51 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55386 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229550AbjAGImt (ORCPT ); Sat, 7 Jan 2023 03:42:49 -0500 Received: from smtp.smtpout.orange.fr (smtp-17.smtpout.orange.fr [80.12.242.17]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8E34661445 for ; Sat, 7 Jan 2023 00:42:47 -0800 (PST) Received: from [192.168.1.18] ([86.243.100.34]) by smtp.orange.fr with ESMTPA id E4mmphZiSo7FNE4mmpsxLZ; Sat, 07 Jan 2023 09:42:42 +0100 X-ME-Helo: [192.168.1.18] X-ME-Auth: Y2hyaXN0b3BoZS5qYWlsbGV0QHdhbmFkb28uZnI= X-ME-Date: Sat, 07 Jan 2023 09:42:42 +0100 X-ME-IP: 86.243.100.34 Message-ID: <30dd32b4-cd74-77a1-d9ad-84e361680dac@wanadoo.fr> Date: Sat, 7 Jan 2023 09:42:40 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.4.2 Subject: Re: [PATCH] tracing/eprobe: Replace kzalloc with kmalloc To: Quanfa Fu , rostedt@goodmis.org, mhiramat@kernel.org Cc: linux-kernel@vger.kernel.org, linux-trace-kernel@vger.kernel.org References: <20230107034557.1156022-1-quanfafu@gmail.com> Content-Language: fr, en-US From: Christophe JAILLET In-Reply-To: <20230107034557.1156022-1-quanfafu@gmail.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-5.0 required=5.0 tests=BAYES_00,NICE_REPLY_A, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS, SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Le 07/01/2023 à 04:45, Quanfa Fu a écrit : > Since this memory will be filled soon below, I feel that there is > no need for a memory of all zeros here. 'snprintf' does not return > negative num according to ISO C99, so I feel that no judgment is > needed here. > > No functional change intended. > > Signed-off-by: Quanfa Fu > --- > kernel/trace/trace_eprobe.c | 4 +--- > 1 file changed, 1 insertion(+), 3 deletions(-) > > diff --git a/kernel/trace/trace_eprobe.c b/kernel/trace/trace_eprobe.c > index 352b65e2b910..cd1d271a74e7 100644 > --- a/kernel/trace/trace_eprobe.c > +++ b/kernel/trace/trace_eprobe.c > @@ -917,15 +917,13 @@ static int trace_eprobe_parse_filter(struct trace_eprobe *ep, int argc, const ch > for (i = 0; i < argc; i++) > len += strlen(argv[i]) + 1; > > - ep->filter_str = kzalloc(len, GFP_KERNEL); > + ep->filter_str = kmalloc(len, GFP_KERNEL); > if (!ep->filter_str) > return -ENOMEM; > > p = ep->filter_str; > for (i = 0; i < argc; i++) { > ret = snprintf(p, len, "%s ", argv[i]); > - if (ret < 0) > - goto error; > if (ret > len) { Hi, as per [1]: * The return value is the number of characters which would be * generated for the given input, excluding the trailing null, * as per ISO C99. If the return is greater than *or equal* to * @size, the resulting string is truncated. So, should this test be: if (ret >= len) ~~~~ Also, isn't the p[-1] = '\0' after the loop eating the last character? argc = 1; argv[0] = "a"; Before the loop: =============== len = 1 + 1 = 2; ep->filter_str = 0x00 0x00 ^ |___ p After the loop: =============== ep->filter_str = 0x61 0x00 ^ |___ p len = 1; After p[-1]: ============ ep->filter_str = 0x00 0x00 ~~ ^ |___ p Did I miss something obvious? I don't know the intent here, or if it is an issue at all, but it looks odd. CJ [1]: https://elixir.bootlin.com/linux/v6.2-rc1/source/lib/vsprintf.c#L2925 > ret = -E2BIG; > goto error;