Message ID | 20220826150807.723137-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 CE4B0ECAAA3 for <linux-mm@archiver.kernel.org>; Fri, 26 Aug 2022 15:10:12 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 74BE2940016; Fri, 26 Aug 2022 11:10:12 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 6D3D1940007; Fri, 26 Aug 2022 11:10:12 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 528F9940016; Fri, 26 Aug 2022 11:10:12 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 3AD27940007 for <linux-mm@kvack.org>; Fri, 26 Aug 2022 11:10:12 -0400 (EDT) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 1E942AC311 for <linux-mm@kvack.org>; Fri, 26 Aug 2022 15:10:12 +0000 (UTC) X-FDA: 79842079464.24.E3FC162 Received: from mail-ej1-f73.google.com (mail-ej1-f73.google.com [209.85.218.73]) by imf10.hostedemail.com (Postfix) with ESMTP id CDB67C001E for <linux-mm@kvack.org>; Fri, 26 Aug 2022 15:10:11 +0000 (UTC) Received: by mail-ej1-f73.google.com with SMTP id mp41-20020a1709071b2900b0073d84b11981so731777ejc.23 for <linux-mm@kvack.org>; Fri, 26 Aug 2022 08:10:11 -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; bh=rCTBedHFoD5mjPc5axfz3IhJFNkE8btw4kiDfQuZoWM=; b=fg/g7W5SFXhbc3u2Ka10S6sfG+hleQgHtIujYd0emCXLuaRjW/Lp6/k4/2cWo7l/yp VDQQl06jPUO4V5hkPUjOfNuax5shhJaKnbpXyd21jWZdCRxSmNTw/c5xxG3zrihbz+OE Ljd50zcy2oKUZWQBLmYWsMOuW6qxf6tCX2W3+KQJUFv3PXm77b5Ak7Io2QiMeQ/oK9vK ZD8Tqs0aoGX8nDwtNuhyBXUzYeCZIaWWl/08zjdMFlG1dJKaN0WeEcKRi8ejkQvW4T1P wvM92OSrEzTbGCfmQLEw8aa8qLoI04nx9tn9Pj1TgR/4CFpWvS9JnaF3HfLp1oJuw/pj zqCQ== 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; bh=rCTBedHFoD5mjPc5axfz3IhJFNkE8btw4kiDfQuZoWM=; b=DELRQH87VK4CQAWresBkbbyJWl1SV8Z6Bp/SiGpGhtY/jPtWTvd1qIdgR9DS/uh7ws TiS9/agP8P8WjFjkJFa6+VQdYsxgs66MOi4kJei47GbRbEVys6X3Pk3gPNgQ+XXKQNep 6kV5+zaEZIaAiVhDo59+tFwWuChQ2XfXLvTIrgMIxZS7nlC+4GwG7M7qGt0EGC+hhols D+dkmeWMrL5Qw5TZt5uO4VgaYsuQz4GeUlbLsK045u89cZCSMwE1KvVkMxQoKd15urR6 /PEwo5XwKTdxqxdWxyKnERU/3iF1jN5WQ9tVHGx8PiQK6ZIpaV77C4PRxq67CMLWeCmS BvaA== X-Gm-Message-State: ACgBeo0qMqQvsGAaDcSPV9uW9FMposZe+yCmFfBEwBMBuwjT/19fXeAX XN6rmSn4SnmV62iaVau+eAZ0e/vtLHQ= X-Google-Smtp-Source: AA6agR7tXjpYxk8MsRplqzj3thTzocuzhsrofVe2ZMXjeqhyHHZW7zWMaS3lAs0uR1Cb77CsZjqkIFO/xsw= X-Received: from glider.muc.corp.google.com ([2a00:79e0:9c:201:5207:ac36:fdd3:502d]) (user=glider job=sendgmr) by 2002:a05:6402:2816:b0:434:ed38:16f3 with SMTP id h22-20020a056402281600b00434ed3816f3mr7084895ede.116.1661526610607; Fri, 26 Aug 2022 08:10:10 -0700 (PDT) Date: Fri, 26 Aug 2022 17:08:05 +0200 In-Reply-To: <20220826150807.723137-1-glider@google.com> Mime-Version: 1.0 References: <20220826150807.723137-1-glider@google.com> X-Mailer: git-send-email 2.37.2.672.g94769d06f0-goog Message-ID: <20220826150807.723137-43-glider@google.com> Subject: [PATCH v5 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=1661526611; a=rsa-sha256; cv=none; b=ApIyhbOh6geHwy1QP4cMG7J73LqtRwB5LrnKQEb2mbbgZtvpqFKejo5/rCGR+rB+9/0LcZ 9lgvttF3qLwrgB/pdBJHr468x3lG5VlIjEuHq32OMMR2kJqj2+WTzmfSQ0eF3uAoGsNw0l wJDzybJHeoY0WAoq/ogMF+lBDaOEJQc= ARC-Authentication-Results: i=1; imf10.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b="fg/g7W5S"; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf10.hostedemail.com: domain of 3UuIIYwYKCFk7C945I7FF7C5.3FDC9ELO-DDBM13B.FI7@flex--glider.bounces.google.com designates 209.85.218.73 as permitted sender) smtp.mailfrom=3UuIIYwYKCFk7C945I7FF7C5.3FDC9ELO-DDBM13B.FI7@flex--glider.bounces.google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1661526611; 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=rCTBedHFoD5mjPc5axfz3IhJFNkE8btw4kiDfQuZoWM=; b=2EjEi3f/Gn5c1C2oyOFEbRGRjgZrrxbCmkYDpcLR6hZIBcKeA/Y6mu3xANBTFuuIHU/85K MdPtQDpkpEK4D1jQ1ETbi4wcbcwbXy45oHUY7HC3BVP80MvDhe/agedI1CUfwR7uY261dz Xux+80anCx7d51RuiMTfeJvaGl307Jk= X-Rspamd-Queue-Id: CDB67C001E Authentication-Results: imf10.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b="fg/g7W5S"; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf10.hostedemail.com: domain of 3UuIIYwYKCFk7C945I7FF7C5.3FDC9ELO-DDBM13B.FI7@flex--glider.bounces.google.com designates 209.85.218.73 as permitted sender) smtp.mailfrom=3UuIIYwYKCFk7C945I7FF7C5.3FDC9ELO-DDBM13B.FI7@flex--glider.bounces.google.com X-Rspamd-Server: rspam12 X-Rspam-User: X-Stat-Signature: o6kjsgywcidu3pumsyk8wfbzs6k7316i X-HE-Tag: 1661526611-192659 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 c1e10d088dbb7..547d139ab98af 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(-)