From patchwork Tue Jul 11 02:11:33 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Masami Hiramatsu (Google)" X-Patchwork-Id: 118206 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a6b2:0:b0:3e4:2afc:c1 with SMTP id c18csp201597vqm; Mon, 10 Jul 2023 19:35:46 -0700 (PDT) X-Google-Smtp-Source: APBJJlE2+izexLBmw+hI8mjgF13WT/t1qDiuN07uWFc4Gcw1pvwqoOhvxCKBuBny+LzH5MQ19I2l X-Received: by 2002:a17:903:455:b0:1b8:897a:b3be with SMTP id iw21-20020a170903045500b001b8897ab3bemr9936074plb.1.1689042946082; Mon, 10 Jul 2023 19:35:46 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689042946; cv=none; d=google.com; s=arc-20160816; b=cqTFatkBfLYOKf/QaXyRS8QqUwc/7miR3py8SJHbsaLwskbcoRgnugZYl/JJ5n3Dgd XTAK4QzL/NDZrdqJk2YXGwqww4SSc6yhyoupCEkJHA2fZRdGHlN//wOZ+bmwuVMSU/wO 3+FB9stInmJHv2Xij2KQVtJR7jeyFXa5QpRjVgiH4EnNPbO5nu7s2jNr5Fdrsc1e0bHt 1sF1aZL7JkBHwikkc4n+wVWMkkENVLnpYOXKB8m9hJ/JIHassdt6MSkIKBYhlJQ1021d UG/vH8wxKPrqdSjA9GBIo3CB7TWZB8jzgbAp+8y40VqFR54Sz+jW6/33Ss4F89aRAxiE MsMw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=sxIQGyI3tMazojJNFIxSWRn1VdVpnCyCuMxtm4X9PKY=; fh=hf24JvveL55vCfzfv0agRHDWsuhzZqIeZ7dfs5kcUjQ=; b=kGNZSBG5QGeF4SnOTe76A2d6cM6hRpYgGI+NkPuP0RlUtq54LSwFufMqFs252euKLD 5xB1Mh0mfgsgD93ARdy2wtC2dVZBqrPbDVGBH6Aa8TcLa1HeVR+cVTdU8ydAa0P8V5XS ROMibqOU4q7+ksZKfPb7gBsDCVOTwXe0an1cVCuMvU0CfNYJIo6O/LexG79zKOx1wbl+ 1+wkpvwD3CfPvOgqI+Oq/g2sALs7LoELptWjoXoR0ed9BaFBPMJZfj1S50XOewAoHbJf e0mVwRr5J3fNt5GA8DOLmytFi7rxsLlCN5BXaedJpIv1+0/H760EwUzVhkjzj+zbv3o+ 0rIA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=LS4AZJpl; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id d9-20020a170902f14900b001b8b6089eeasi749089plb.326.2023.07.10.19.35.33; Mon, 10 Jul 2023 19:35:46 -0700 (PDT) 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; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=LS4AZJpl; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231437AbjGKCLn (ORCPT + 99 others); Mon, 10 Jul 2023 22:11:43 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58334 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231433AbjGKCLl (ORCPT ); Mon, 10 Jul 2023 22:11:41 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A64AF1B8; Mon, 10 Jul 2023 19:11:37 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 2598D61143; Tue, 11 Jul 2023 02:11:37 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8E3FBC433C7; Tue, 11 Jul 2023 02:11:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1689041496; bh=AdroxX5P9OziwCjJV/WVhJbrj4bvgg6m7fGwBk22czA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=LS4AZJplDnDayCGJge+ulo91nFVzhLWCK+OVYOp6KEvdYeMgIPAIGZj7Rr2oXHf7e LrM3oqwHxdnma4Owrc4QvoL8qzsdF2j7kuBGX3un+bDNXRuvOzw5oLVu/D7SemlfN3 1IOFCmtcWnwLo1WCpJNHG7kafoAqGN7Tez659foxUn1DCcwo6KAX8GGV0kzGNPnjt0 7tBlsytl1ddqvtWU1/uYCU+L2s9ezpHETaz0Ddt/UuUbwVLjPWjO8sm9tztmh+uJ0Z fOX+d5a2fzQeGqMxU3OdfL53avUIMVkK0o6irrYsSVXimweeUlz0DFvAims+f/zs6C UsV8mZDNa+Xrw== From: "Masami Hiramatsu (Google)" To: Steven Rostedt Cc: Dan Carpenter , linux-trace-kernel@vger.kernel.org, LKML , Masami Hiramatsu Subject: [PATCH v4 2/4] tracing/probes: Fix not to count error code to total length Date: Tue, 11 Jul 2023 11:11:33 +0900 Message-ID: <168904149337.2908673.1200969484356641870.stgit@mhiramat.roam.corp.google.com> X-Mailer: git-send-email 2.41.0.255.g8b1d071c50-goog In-Reply-To: <168904147563.2908673.18054267804278861545.stgit@mhiramat.roam.corp.google.com> References: <168904147563.2908673.18054267804278861545.stgit@mhiramat.roam.corp.google.com> User-Agent: StGit/0.19 MIME-Version: 1.0 X-Spam-Status: No, score=-7.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE 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 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1771089896717662560 X-GMAIL-MSGID: 1771089896717662560 From: Masami Hiramatsu (Google) Fix not to count the error code (which is minus value) to the total used length of array, because it can mess up the return code of process_fetch_insn_bottom(). Also clear the 'ret' value because it will be used for calculating next data_loc entry. Reported-by: Dan Carpenter Closes: https://lore.kernel.org/all/8819b154-2ba1-43c3-98a2-cbde20892023@moroto.mountain/ Fixes: 9b960a38835f ("tracing: probeevent: Unify fetch_insn processing common part") Cc: stable@vger.kernel.org Signed-off-by: Masami Hiramatsu (Google) Reviewed-by: Steven Rostedt (Google) --- Changes in v2: - Check and clear ret only for the array argument. --- kernel/trace/trace_probe_tmpl.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/kernel/trace/trace_probe_tmpl.h b/kernel/trace/trace_probe_tmpl.h index 4735c5cb76fa..ed9d57c6b041 100644 --- a/kernel/trace/trace_probe_tmpl.h +++ b/kernel/trace/trace_probe_tmpl.h @@ -204,6 +204,8 @@ process_fetch_insn_bottom(struct fetch_insn *code, unsigned long val, array: /* the last stage: Loop on array */ if (code->op == FETCH_OP_LP_ARRAY) { + if (ret < 0) + ret = 0; total += ret; if (++i < code->param) { code = s3;