Message ID | 20220701142310.2188015-43-glider@google.com (mailing list archive) |
---|---|
State | New |
Headers | show
Return-Path: <owner-linux-mm@kvack.org> X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 39A8AC43334 for <linux-mm@archiver.kernel.org>; Fri, 1 Jul 2022 14:25:15 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C8BDB6B0074; Fri, 1 Jul 2022 10:25:14 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id C3B076B007E; Fri, 1 Jul 2022 10:25:14 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B01656B0081; Fri, 1 Jul 2022 10:25:14 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id A09946B0074 for <linux-mm@kvack.org>; Fri, 1 Jul 2022 10:25:14 -0400 (EDT) Received: from smtpin04.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 81B873455B for <linux-mm@kvack.org>; Fri, 1 Jul 2022 14:25:14 +0000 (UTC) X-FDA: 79638753348.04.1BDB6C1 Received: from mail-ej1-f74.google.com (mail-ej1-f74.google.com [209.85.218.74]) by imf14.hostedemail.com (Postfix) with ESMTP id 1CF86100037 for <linux-mm@kvack.org>; Fri, 1 Jul 2022 14:25:13 +0000 (UTC) Received: by mail-ej1-f74.google.com with SMTP id sd14-20020a1709076e0e00b0072a7c5a08f4so843007ejc.21 for <linux-mm@kvack.org>; Fri, 01 Jul 2022 07:25:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=date:in-reply-to:message-id:mime-version:references:subject:from:to :cc; bh=NuZxaTt6SuBtelFew5LXxi86pENufXvsmy2qQXyoE6c=; b=tgfjQq+iQ/ysonFckb3Z2u6TJ9CEvDDKEzA5gkb+C4EKFnWD9TLdpPFWxQRtHD88Jg RYLB2Yb0k9id72G7IVJ8H91BQ7wXcKdXZ0Azu48hd+fSPpcrnVbABx59b2la2dgB1ZDR AAPr3HcC1/Yh4R+BkF5CNapSwZyhy3/pHIFwHkw79AVAJZ22Y8th2w7xgwft5pumnLsD 2R5Dmthk3JjdCZyOh+gBs/AieCejbEIH0zIdbihuM0GsaPffCE/o0zvm99bCYmyOaQgR TMh+X88DvOG6cOtWBuy2Dm2xKw9NnmVgVGZuSBeVLfUcMKHQAVfKgpF+8OdRVLd3hmjI vXVw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:date:in-reply-to:message-id:mime-version :references:subject:from:to:cc; bh=NuZxaTt6SuBtelFew5LXxi86pENufXvsmy2qQXyoE6c=; b=6Q11sWVWObCB17ifRKFnmIlPk2fh7dEv8AQ5ltDw8WHsZtjBNyHirlcOKKI3Pd6Nqd TQgweSNdPkssBYUYKV4NxZcPvLBkly60X4LNtC1Mtj6iBbNYsReWNrZViRtqO+pBj0zC L57ZiPwdUba4LebI9Up/m3X9kdh7C0dx690WZ4Hyy6RCdxLg+6X1HS5puMJGJTS7pYWr 3yIfRCpz/cwRRHeXB5PIjOfJD/9rUZSMCJeRTLmwwyWDjMyNSVXOPKNgKvRq27Y5RPyI slfOd9jGk532Wblkh/82jtfbSLGCx631uaYK0lWDP0MNIdoXXMFLAP+WWrKqAoUq9rre zn0w== X-Gm-Message-State: AJIora8y9P62Eu+ANp0iNV1TeRUXgMut10VmX0sGS6LjEZyXAySfBhSZ 89KaQ/h99B1FUuie29zC6WdAJR/JCgU= X-Google-Smtp-Source: AGRyM1spcb+a3miQij6KHvEFDixhz2AvZj0AcfEskbi1pdPvcSJdu4nWWmlOh1NQQeaAeMBr5KVjUAW0uyU= X-Received: from glider.muc.corp.google.com ([2a00:79e0:9c:201:a6f5:f713:759c:abb6]) (user=glider job=sendgmr) by 2002:a17:907:2704:b0:72a:596f:8b9f with SMTP id w4-20020a170907270400b0072a596f8b9fmr9611410ejk.761.1656685512839; Fri, 01 Jul 2022 07:25:12 -0700 (PDT) Date: Fri, 1 Jul 2022 16:23:07 +0200 In-Reply-To: <20220701142310.2188015-1-glider@google.com> Message-Id: <20220701142310.2188015-43-glider@google.com> Mime-Version: 1.0 References: <20220701142310.2188015-1-glider@google.com> X-Mailer: git-send-email 2.37.0.rc0.161.g10f37bed90-goog Subject: [PATCH v4 42/45] bpf: kmsan: initialize BPF registers with zeroes From: Alexander Potapenko <glider@google.com> To: glider@google.com Cc: Alexander Viro <viro@zeniv.linux.org.uk>, Alexei Starovoitov <ast@kernel.org>, Andrew Morton <akpm@linux-foundation.org>, Andrey Konovalov <andreyknvl@google.com>, Andy Lutomirski <luto@kernel.org>, Arnd Bergmann <arnd@arndb.de>, Borislav Petkov <bp@alien8.de>, Christoph Hellwig <hch@lst.de>, Christoph Lameter <cl@linux.com>, David Rientjes <rientjes@google.com>, Dmitry Vyukov <dvyukov@google.com>, Eric Dumazet <edumazet@google.com>, Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Herbert Xu <herbert@gondor.apana.org.au>, Ilya Leoshkevich <iii@linux.ibm.com>, Ingo Molnar <mingo@redhat.com>, Jens Axboe <axboe@kernel.dk>, Joonsoo Kim <iamjoonsoo.kim@lge.com>, Kees Cook <keescook@chromium.org>, Marco Elver <elver@google.com>, Mark Rutland <mark.rutland@arm.com>, Matthew Wilcox <willy@infradead.org>, "Michael S. Tsirkin" <mst@redhat.com>, Pekka Enberg <penberg@kernel.org>, Peter Zijlstra <peterz@infradead.org>, Petr Mladek <pmladek@suse.com>, Steven Rostedt <rostedt@goodmis.org>, Thomas Gleixner <tglx@linutronix.de>, Vasily Gorbik <gor@linux.ibm.com>, Vegard Nossum <vegard.nossum@oracle.com>, Vlastimil Babka <vbabka@suse.cz>, kasan-dev@googlegroups.com, linux-mm@kvack.org, linux-arch@vger.kernel.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1656685514; a=rsa-sha256; cv=none; b=EUO/7KT/TLDHJR1u6W1HWyDLG9aJDPLjDvMLbXJ0fuhgwAR8OemKRKkweDfmezXDf0t9F2 kutRuh5fy/rwAUsDSMlUJeiqiJ7/dMPOxMyzym0rFNFuW7+fdQBGtgXoeOdAbop7hVQGZi hF49W/hE1N5O8nkRNZozf76Us0BCjdY= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=tgfjQq+i; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf14.hostedemail.com: domain of 3yAO_YgYKCOcPURMNaPXXPUN.LXVURWdg-VVTeJLT.XaP@flex--glider.bounces.google.com designates 209.85.218.74 as permitted sender) smtp.mailfrom=3yAO_YgYKCOcPURMNaPXXPUN.LXVURWdg-VVTeJLT.XaP@flex--glider.bounces.google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1656685514; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=NuZxaTt6SuBtelFew5LXxi86pENufXvsmy2qQXyoE6c=; b=VNxA698C4WL8voi9hpfeI21F/zpdrGBnzRPk31WkVCmDYo2SGj7KgUmIilNsvhAlZKQhjq V/uQ41Nz+bFi+zUWqoWes2IqDadau5wuA2lUMj8JQKa74ObhTRW6SSix9ojGV+Bk+wr+NE vbsEiPiepNrpknpvMYaSCVrLlqYi3vE= X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 1CF86100037 Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=tgfjQq+i; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf14.hostedemail.com: domain of 3yAO_YgYKCOcPURMNaPXXPUN.LXVURWdg-VVTeJLT.XaP@flex--glider.bounces.google.com designates 209.85.218.74 as permitted sender) smtp.mailfrom=3yAO_YgYKCOcPURMNaPXXPUN.LXVURWdg-VVTeJLT.XaP@flex--glider.bounces.google.com X-Rspam-User: X-Stat-Signature: 9wtnd1bgozob1wmza1i4i85p79p9e3m4 X-HE-Tag: 1656685513-752900 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: <linux-mm.kvack.org> |
Series |
Add KernelMemorySanitizer infrastructure
|
expand
|
diff --git a/kernel/bpf/core.c b/kernel/bpf/core.c index 5f6f3f829b368..0ba7dd90a2ab3 100644 --- a/kernel/bpf/core.c +++ b/kernel/bpf/core.c @@ -2039,7 +2039,7 @@ static u64 ___bpf_prog_run(u64 *regs, const struct bpf_insn *insn) static unsigned int PROG_NAME(stack_size)(const void *ctx, const struct bpf_insn *insn) \ { \ u64 stack[stack_size / sizeof(u64)]; \ - u64 regs[MAX_BPF_EXT_REG]; \ + u64 regs[MAX_BPF_EXT_REG] = {}; \ \ FP = (u64) (unsigned long) &stack[ARRAY_SIZE(stack)]; \ ARG1 = (u64) (unsigned long) ctx; \
When executing BPF programs, certain registers may get passed uninitialized to helper functions. E.g. when performing a JMP_CALL, registers BPF_R1-BPF_R5 are always passed to the helper, no matter how many of them are actually used. Passing uninitialized values as function parameters is technically undefined behavior, so we work around it by always initializing the registers. Signed-off-by: Alexander Potapenko <glider@google.com> --- Link: https://linux-review.googlesource.com/id/I40f39d26232b14816c14ba64a0ea4a8f336f2675 --- kernel/bpf/core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)