From patchwork Thu Jun 29 14:13:37 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: 114316 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp9674512vqr; Thu, 29 Jun 2023 07:20:48 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ6/QggCgB7+CDE40TP4XTJJ+TeWZRpET9vK1Oe61v1xlt9lvpmTSMDD6s4b1aTNR66Bmol5 X-Received: by 2002:a05:6a20:8f04:b0:121:d102:248c with SMTP id b4-20020a056a208f0400b00121d102248cmr36662872pzk.6.1688048448063; Thu, 29 Jun 2023 07:20:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1688048448; cv=none; d=google.com; s=arc-20160816; b=rWYVBa4Y43If6z6kdG2m4e74/jaCSFiup4n07Picxp2ONcvasNl74fe4SBqf576330 XIiAxqlw5nkM/cEkSGYQ6EfuyFtXOC/3jeMmmYOnKvfSDYKW5zICTCnzCxeiWSpHmZ8C hIbU9VLpQ1QriuX5qrCQ0E0NJ40/XAa5YaBLqt9tGIi2VzsuSU6z3xQLsHJYlQcS0kh7 6HXzPOhlphN+w5CorodhufJtOVMMjZLYRlFfdQtrc/NGd9TkXl1opQbu5DtBCZr3Xpeq 0YGaYFTNVSgrx4asvsKEBDo0tGPbNQ+2k1pJere8I5rHV4JkdyqznFQtHji2FJLwxg3v bA5Q== 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=T2IssFpuUZvDwvxXkyud7+1KmE9V3aA/tFPvFUk7Bm0=; fh=IqesEL0r+gt71nXDuYNYX+jwby0flLUfnEwj7ADHyoI=; b=KAtsvQNFhzEE/2XlkHjI7niOlpZIL2oU8B21JZAzmJSCuJIhg8Aufzykvy3EsiDvxN FzzB86mAeVpvI6W5HzY4SVgMcXFh7d5km3/jqg+Rs12+WXvJcEQRBchjsnvWKZsGq2ke NN27B4c+TcjBI1QabaGHOMH114QmlbdVIMFFmg5n2dqonDpzubm2q0h9k1LXzu78jCeK WPDLJIoa9yoyxhteq0/pRoWN8/CU8JQFfjBFarsarvjPQWk07QjMBzUUys+0Nc/SFwr6 Wmv5zzxckBt30QSl6auxmhIwDPHZkW6O5OK+MbQFzgbNOLGzyT1JXs+QaAtatT6a5Qw6 rSfw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=efCckezH; 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 r3-20020a632b03000000b0054fd77fe979si11242108pgr.582.2023.06.29.07.20.32; Thu, 29 Jun 2023 07:20:48 -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=efCckezH; 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 S231446AbjF2ONo (ORCPT + 99 others); Thu, 29 Jun 2023 10:13:44 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54844 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230119AbjF2ONn (ORCPT ); Thu, 29 Jun 2023 10:13:43 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 59E2C10F8; Thu, 29 Jun 2023 07:13:42 -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 E456661549; Thu, 29 Jun 2023 14:13:41 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4CA63C433C8; Thu, 29 Jun 2023 14:13:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1688048021; bh=9MwUN893Ig8ehSU507eveoN1wJ9s9BdAYtp6F4n2bGA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=efCckezHD5t9FmZAUmE/G2pFeQXeI9d3uX4gH96AyWHp6aTYseK7bpZntlrhgwhLe in3pswAMBLdxO4CX8DWSOTWdjOPeFX/pfzN8MNp4X1TC+hcuweA9senDo6MTc2LKmB +j4V4LNTYym0OfNwpBPx1aEPA+3lqBAXS5R9xgJMt8YfzPiQG0eyog5ETZRpCbCWCD CHyUFBez43BtRevcv9BefDm5P5tJl8VRSPaCL8AsACrDQC2k3LikHHGi0pZQheYDaU lTWEJO5cAeNtxxloigE0P50tJmQ+DE+qlEAswiCI/RCBCBsnfvTlQQftK9kjuRyUvE 5Bo6qpBLO6kQg== From: "Masami Hiramatsu (Google)" To: Steven Rostedt Cc: Dan Carpenter , linux-trace-kernel@vger.kernel.org, LKML , Masami Hiramatsu Subject: [PATCH 1/2] tracing/probes: Fix to avoid double count of the string length on the array Date: Thu, 29 Jun 2023 23:13:37 +0900 Message-ID: <168804801788.2028538.4620519547242506783.stgit@mhiramat.roam.corp.google.com> X-Mailer: git-send-email 2.41.0.162.gfafddb0af9-goog In-Reply-To: <8819b154-2ba1-43c3-98a2-cbde20892023@moroto.mountain> References: <8819b154-2ba1-43c3-98a2-cbde20892023@moroto.mountain> User-Agent: StGit/0.19 MIME-Version: 1.0 X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, 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: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1770047089551390239?= X-GMAIL-MSGID: =?utf-8?q?1770047089551390239?= From: Masami Hiramatsu (Google) If there is an array is specified with the ustring or symstr, the length of the strings are accumlated on both of 'ret' and 'total', which means the length is double counted. Just set the length to the 'ret' value to aviud double count. Reported-by: Dan Carpenter Closes: https://lore.kernel.org/all/8819b154-2ba1-43c3-98a2-cbde20892023@moroto.mountain/ Fixes: 88903c464321 ("tracing/probe: Add ustring type for user-space string") Cc: stable@vger.kernel.org Signed-off-by: Masami Hiramatsu (Google) Reviewed-by: Steven Rostedt (Google) --- kernel/trace/trace_probe_tmpl.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kernel/trace/trace_probe_tmpl.h b/kernel/trace/trace_probe_tmpl.h index 00707630788d..4735c5cb76fa 100644 --- a/kernel/trace/trace_probe_tmpl.h +++ b/kernel/trace/trace_probe_tmpl.h @@ -156,11 +156,11 @@ process_fetch_insn_bottom(struct fetch_insn *code, unsigned long val, code++; goto array; case FETCH_OP_ST_USTRING: - ret += fetch_store_strlen_user(val + code->offset); + ret = fetch_store_strlen_user(val + code->offset); code++; goto array; case FETCH_OP_ST_SYMSTR: - ret += fetch_store_symstrlen(val + code->offset); + ret = fetch_store_symstrlen(val + code->offset); code++; goto array; default: From patchwork Thu Jun 29 14:13:46 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: 114317 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp9679269vqr; Thu, 29 Jun 2023 07:28:12 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ5qtytIHeIM9bM/BNuCeDk4B2ZsljWWpnr0cMFG25oF/de0d3SChIfeKaiYERVvLuGU0ffr X-Received: by 2002:a05:6a21:9992:b0:12c:76d1:bcde with SMTP id ve18-20020a056a21999200b0012c76d1bcdemr5186095pzb.4.1688048891787; Thu, 29 Jun 2023 07:28:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1688048891; cv=none; d=google.com; s=arc-20160816; b=QsSYH6hd9WA5xiXRz13/pvJKj3MZ6Vd53LAEwTEeYDp4Ocw/AqFhujG3O/5UFSwCL4 /kf1EseVljNKjNmqSey1eJUE8R3Q2zgUstNRLhiIsvbmFDj+il2SaGoIwT64+MvL8seq L47DQDkmXjB6lXIhoQm3tAeu8tb8gi2erfm1mYRMo721+8Kz0RyeYm+NtMC7z4SScT9D MtGshhPafgXS7VGG9+EytQu9yz3Mbwvfy3gR9iwPE5+n7RWggYJEoYumZXnA4IM0dtin 91Ztyqp/NcFRuFTGvl5xiScEEsp1rOcQDA0GGfAes+jiJu4PqK6WHb+e9sTr2tMVYXxW nRow== 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=iX5zlOrqzkUkUjYjvOTMd4hAQfbOS0VF3Czq123lTDI=; fh=IqesEL0r+gt71nXDuYNYX+jwby0flLUfnEwj7ADHyoI=; b=xo1LzpsaAtSD0l3bKO8Y6PsFUnqGphl9ABk8X7cVDJjdx52g3E+rnWKeaeGY58kMAu cCZtJXSmpeIOb6cQ1OFcjI8hTQ0rd7Og20ns6GKr9nfaLHLq3uOzdW8iiQ1LyH+t8EV0 TGHYM+w7RJFnTMMlhOoY98oRmRL6TBCBHzMVucxf6Pcv2ywWHwuxWDISYECrHnc2h+su IfB7/ulyptDHLlApUUh+FCxaaFnnh7g+J2IX6a391JtLs46TmTOOfXPbVlJiETRyP1mt sXpECK6sop6Dt5N6seTOjcQBiBddkdIhLJs7UFN6vMOx1WEVR6GNo9JpObTtLNM9nW04 jdjQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=bW+0POmJ; 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 f7-20020a056a00228700b0064d42dddf9fsi7087003pfe.32.2023.06.29.07.27.56; Thu, 29 Jun 2023 07:28:11 -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=bW+0POmJ; 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 S232245AbjF2ONy (ORCPT + 99 others); Thu, 29 Jun 2023 10:13:54 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54892 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230119AbjF2ONw (ORCPT ); Thu, 29 Jun 2023 10:13:52 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 643791738; Thu, 29 Jun 2023 07:13:51 -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 EC05761546; Thu, 29 Jun 2023 14:13:50 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1233CC433C0; Thu, 29 Jun 2023 14:13:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1688048030; bh=m7fseDBhPX1IzVbpXSstpX3+zK+fdP0lb9n1W+GBLxU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=bW+0POmJtNAG+tkcvM8tZCWW+S+VgKKznjveQu/hsEIdoW3B3vLLBnXYpvAWzL4YA fkH01DVZ22jjIzBho2/hcrkiGjVgplTgXzP5VasYalNxIwbf0asjspRS7Efl5P9tkd 5gJ+Sky2sr9hHRpCvuJxLQfI/TcINHWIgQIpCA1Kyomlv3XRwdkbIWNVTODUa/zwHM c4s0LqjKxgYie9DiKI8QJ4BUOsa9Fs1pLQbpvQ8EXp5OE3FZf6NFxN4e++AQ/FYPh1 TIlmendcIBw4P6Nfs9lDv4oXffyvgFL93fZipovQ66LAC9xwj2MYD626ISFzN7dJer DYNmAPZHKDp4A== From: "Masami Hiramatsu (Google)" To: Steven Rostedt Cc: Dan Carpenter , linux-trace-kernel@vger.kernel.org, LKML , Masami Hiramatsu Subject: [PATCH 2/2] tracing/probes: Fix to exit fetching if an error is detected Date: Thu, 29 Jun 2023 23:13:46 +0900 Message-ID: <168804802668.2028538.4634073314317984220.stgit@mhiramat.roam.corp.google.com> X-Mailer: git-send-email 2.41.0.162.gfafddb0af9-goog In-Reply-To: <8819b154-2ba1-43c3-98a2-cbde20892023@moroto.mountain> References: <8819b154-2ba1-43c3-98a2-cbde20892023@moroto.mountain> User-Agent: StGit/0.19 MIME-Version: 1.0 X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, 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: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1770047554488957447?= X-GMAIL-MSGID: =?utf-8?q?1770047554488957447?= From: Masami Hiramatsu (Google) Fix to exit fetching arguments if an error is detected when storing strings. Without this fix, if an array is specified with string types it may point wrong address to store the data. 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) --- 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..d6f2bf69f9bc 100644 --- a/kernel/trace/trace_probe_tmpl.h +++ b/kernel/trace/trace_probe_tmpl.h @@ -193,6 +193,8 @@ process_fetch_insn_bottom(struct fetch_insn *code, unsigned long val, default: return -EILSEQ; } + if (ret < 0) + return ret; code++; /* 4th stage: modify stored value if needed */