Received: by 2002:a05:6a10:1d13:0:0:0:0 with SMTP id pp19csp466352pxb; Wed, 18 Aug 2021 06:34:46 -0700 (PDT) X-Google-Smtp-Source: ABdhPJy1U+aaB49Tfhxk/we7P4rmd3/DbUi7Pc6MN4wNPkyTU0wtvcmy8UJjzVIDiL46i31od1Tu X-Received: by 2002:aa7:df88:: with SMTP id b8mr10125964edy.163.1629293685974; Wed, 18 Aug 2021 06:34:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1629293685; cv=none; d=google.com; s=arc-20160816; b=ATkDOG+VMVhXODlohzJdmJPJoqPjbhqvl+bzS1f69Qf9WhVRIM6nU3GipA1zrJ/vVA OB5OaER1ETwr5zz/EY3epLeVdfJj/ckl2E03Va0O106wfTVMv9gqHkHtvVeVLxGBmQ3+ sKaNDp43HzsZXOHSI6aXbXmAiZCUC9JphUxW0qxwnLYH9UOVNnGTLkD2XOxF3T18xPKy AY57wdq73UXcIXosUbShSSWlfNVAxLlppEs4//xYpQaPUkrsIGot9l5r951g6BjVO11b kgnxHPUMRRlu2LT6xErjFKjs5TlzehyFfDN0S0kDn5snx2rzhB3VdNAghrIR50odbWkA jPAQ== 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 :references:in-reply-to:message-id:subject:cc:to:from:date; bh=lgY0TKnmfaLhz9aX63RxMcyCOZPWmBt2lGc3a0DlWhA=; b=ifSluEwQ7xiBCyHgu2AUk+rXUc6n2UPI5Gcv87KsIGbjfsYTiijkaQ7m+BgbXGs/6l ob4Hz9OJ99XGjaF+XhTBk8XPNVEUXShCZLxZtnUYkZWD1EET9i+G1dCebcTL3miGAapA 2bCPkX8tP6AEPCkZWspSPyqOEmk6gVUmGJ4xEBytETlsXlAYQLQls4amL4XFKgpZGNCx /C/n8osK9/X6Cu7kgxY9RrESVaQBQ0YeEaNsMxm0cdo024TOMPYHM28QfFyTu6GYupLQ Sd01FbIe2YvvmsVlwprFMN7KHSaDPlN7FRL9sNU6OG7KZV6SJsqHsoLPdCPh/2goRfxE fHMw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id c6si5339057ede.289.2021.08.18.06.33.57; Wed, 18 Aug 2021 06:34:45 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237097AbhHRNe1 (ORCPT + 99 others); Wed, 18 Aug 2021 09:34:27 -0400 Received: from mail.kernel.org ([198.145.29.99]:39160 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233722AbhHRNe1 (ORCPT ); Wed, 18 Aug 2021 09:34:27 -0400 Received: from oasis.local.home (cpe-66-24-58-225.stny.res.rr.com [66.24.58.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 5C0CE6109E; Wed, 18 Aug 2021 13:33:51 +0000 (UTC) Date: Wed, 18 Aug 2021 09:33:49 -0400 From: Steven Rostedt To: Kees Cook Cc: linux-kernel@vger.kernel.org, Ingo Molnar , "Gustavo A. R. Silva" , Greg Kroah-Hartman , Andrew Morton , linux-wireless@vger.kernel.org, netdev@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-staging@lists.linux.dev, linux-block@vger.kernel.org, linux-kbuild@vger.kernel.org, clang-built-linux@googlegroups.com, Rasmus Villemoes , linux-hardening@vger.kernel.org Subject: Re: [PATCH v2 50/63] tracing: Use memset_startat() to zero struct trace_iterator Message-ID: <20210818093349.3144276b@oasis.local.home> In-Reply-To: <20210818060533.3569517-51-keescook@chromium.org> References: <20210818060533.3569517-1-keescook@chromium.org> <20210818060533.3569517-51-keescook@chromium.org> X-Mailer: Claws Mail 3.18.0 (GTK+ 2.24.33; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org On Tue, 17 Aug 2021 23:05:20 -0700 Kees Cook wrote: > In preparation for FORTIFY_SOURCE performing compile-time and run-time > field bounds checking for memset(), avoid intentionally writing across > neighboring fields. > > Use memset_startat() to avoid confusing memset() about writing beyond > the target struct member. > > Cc: Steven Rostedt > Cc: Ingo Molnar > Signed-off-by: Kees Cook > --- > kernel/trace/trace.c | 4 +--- > 1 file changed, 1 insertion(+), 3 deletions(-) > > diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c > index 13587e771567..9ff8c31975cd 100644 > --- a/kernel/trace/trace.c > +++ b/kernel/trace/trace.c > @@ -6691,9 +6691,7 @@ tracing_read_pipe(struct file *filp, char __user *ubuf, > cnt = PAGE_SIZE - 1; > > /* reset all but tr, trace, and overruns */ > - memset(&iter->seq, 0, > - sizeof(struct trace_iterator) - > - offsetof(struct trace_iterator, seq)); > + memset_startat(iter, 0, seq); I can't find memset_startat() in mainline nor linux-next. I don't see it in this thread either, but since this has 63 patches, I could have easily missed it. This change really should belong to a patch set that just introduces memset_startat() (and perhaps memset_after()) and then updates all the places that should use it. That way I can give it a proper review. In other words, you should break this patch set up into smaller, more digestible portions for the reviewers. Thanks, -- Steve > cpumask_clear(iter->started); > trace_seq_init(&iter->seq); > iter->pos = -1;