Message ID | 20220905122452.2258262-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 E1081C54EE9 for <linux-mm@archiver.kernel.org>; Mon, 5 Sep 2022 12:26:55 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 7B7348D0091; Mon, 5 Sep 2022 08:26:55 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 766868D0076; Mon, 5 Sep 2022 08:26:55 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 62E538D0091; Mon, 5 Sep 2022 08:26:55 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 5389A8D0076 for <linux-mm@kvack.org>; Mon, 5 Sep 2022 08:26:55 -0400 (EDT) Received: from smtpin04.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 3BA4DAB7C1 for <linux-mm@kvack.org>; Mon, 5 Sep 2022 12:26:55 +0000 (UTC) X-FDA: 79877955990.04.7C5FD7D Received: from mail-ej1-f74.google.com (mail-ej1-f74.google.com [209.85.218.74]) by imf23.hostedemail.com (Postfix) with ESMTP id CFA09140077 for <linux-mm@kvack.org>; Mon, 5 Sep 2022 12:26:54 +0000 (UTC) Received: by mail-ej1-f74.google.com with SMTP id gn30-20020a1709070d1e00b0074144af99d1so2277299ejc.17 for <linux-mm@kvack.org>; Mon, 05 Sep 2022 05:26:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date; bh=63Lbiss0mCSaP/JatuEwb7Qda7JVHXONR7b7gS/f0zw=; b=UDsvJYgtTXPZF5a9agPh2mXyrYJrhXMTAzXPZNghSJw5ee3mNMwXIwpKa+RKY0zuMd 0oketLAQ8tAqBq9H1OztfYXsFZLC3/GjPvaRGV4Tf5cx5pY09RUcAdfIPub4N1YomTRe qN17vYLlykWW3fcYQY5yUk9fGBNhlorODfdAFeJeB/phj1xFUAdvMGDkePvsaAAnNZDZ QNcHmgGjaBYlCKkJsPpqD7vIZwk92kcg49ObV7TTQ+SLXpAZ9pO/JJZcCHGzK92euOmB wKHTk01woRx7PzSGgjyowKFGJYseYwyRla1r4RWjs1ovT7LskcrPtqUZWACg7jNiOAET dJPQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date; bh=63Lbiss0mCSaP/JatuEwb7Qda7JVHXONR7b7gS/f0zw=; b=WqdslGrPYbcaPEnw0WSjbletdFb/hqrB/3y3DB1VCYof/0gDGJAkig8SCeY7oGpN3Y t4kvXjJH9bqKC0JGGHFWqqfvuvyKFTlcguJeBMaNg6khY44wPFj3xw1McqEQh6ACxBzo 1e9mKDxcZnGASK7LfB33IkUWaG2prTJsrL3c3IRLcyGj84Px7kLGIdV1fC+HkZ2On6uB 5CoaQGIqebOyk5zdqoE/Mhd4Lqg9jI2vbg0YiVmp3YWj9KElrmFeL4ZzsXIFZeNNATFQ dy0MZnsy5mbJ3nrbHqhIYqGursMoiHOp9gy4uodKQ5BhxwTlAQI67+1YV4KZoVFwjlAm q/+A== X-Gm-Message-State: ACgBeo3OpcUJ8T8NImCFUkh/Lz+Bi3KGuzdbC1H9OpigyhtjpWaNHxb3 XeszPujEmGk55W6YL1Xs36OKM5dHTjI= X-Google-Smtp-Source: AA6agR5LBRpdlR606D8rNDqY5QJ3OBC/wbbIgC3X8Ct4s02WNlqHsbJo9IxNX+CTnN40NsuDZAMm2jER36E= X-Received: from glider.muc.corp.google.com ([2a00:79e0:9c:201:b808:8d07:ab4a:554c]) (user=glider job=sendgmr) by 2002:a17:907:2c41:b0:741:4906:482b with SMTP id hf1-20020a1709072c4100b007414906482bmr28414813ejc.239.1662380813588; Mon, 05 Sep 2022 05:26:53 -0700 (PDT) Date: Mon, 5 Sep 2022 14:24:50 +0200 In-Reply-To: <20220905122452.2258262-1-glider@google.com> Mime-Version: 1.0 References: <20220905122452.2258262-1-glider@google.com> X-Mailer: git-send-email 2.37.2.789.g6183377224-goog Message-ID: <20220905122452.2258262-43-glider@google.com> Subject: [PATCH v6 42/44] 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=1662380814; a=rsa-sha256; cv=none; b=iQ5SfihY5EK/b5gfWljc+yWAQqEooyWXGU5XmTLqAZhpHr88Q1L1bc+nYbiJ/qqLut7GdE AbeD5HZiqRsglCC0v02A5ZaeBETHiJcyrGjJfdXoxOhAHfOxz7AmKbl6OPbTSGWNf4Gb2J lXDy5sAkYSsGS/D8TwD9X3NiZk/v0UQ= ARC-Authentication-Results: i=1; imf23.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=UDsvJYgt; spf=pass (imf23.hostedemail.com: domain of 3DesVYwYKCFo8DA56J8GG8D6.4GEDAFMP-EECN24C.GJ8@flex--glider.bounces.google.com designates 209.85.218.74 as permitted sender) smtp.mailfrom=3DesVYwYKCFo8DA56J8GG8D6.4GEDAFMP-EECN24C.GJ8@flex--glider.bounces.google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1662380814; 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=63Lbiss0mCSaP/JatuEwb7Qda7JVHXONR7b7gS/f0zw=; b=2i12yxLFYlTScRkpLt0X67etLq8SCFfLr0L0CDOREjFRdkaRfhEyy/Urgjm8C/XD1aYiCN pLeNM5Cqtt7d9cBmh1rMVO72dcVl6Ii1a79+vt3/JoR5r1vrFejcTwiOq1+deRIx2DVWL3 tn50CdnsHwUelyvabrzMbFqIAsgoFoM= X-Rspam-User: X-Stat-Signature: ygfi97ks9bfa5fs61mdxb8esngkfmrkn X-Rspamd-Queue-Id: CFA09140077 X-Rspamd-Server: rspam10 Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=UDsvJYgt; spf=pass (imf23.hostedemail.com: domain of 3DesVYwYKCFo8DA56J8GG8D6.4GEDAFMP-EECN24C.GJ8@flex--glider.bounces.google.com designates 209.85.218.74 as permitted sender) smtp.mailfrom=3DesVYwYKCFo8DA56J8GG8D6.4GEDAFMP-EECN24C.GJ8@flex--glider.bounces.google.com; dmarc=pass (policy=reject) header.from=google.com X-HE-Tag: 1662380814-125908 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 3d9eb3ae334ce..21c74fac5131c 100644 --- a/kernel/bpf/core.c +++ b/kernel/bpf/core.c @@ -2002,7 +2002,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/I8ef9dbe94724cee5ad1e3a162f2b805345bc0586 --- kernel/bpf/core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)