From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: 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 BE8A5C27C53 for ; Thu, 20 Jun 2024 01:19:04 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 270976B0309; Wed, 19 Jun 2024 21:19:04 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 1FA146B030B; Wed, 19 Jun 2024 21:19:04 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 073148D0066; Wed, 19 Jun 2024 21:19:04 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id D699F6B0309 for ; Wed, 19 Jun 2024 21:19:03 -0400 (EDT) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 54D87C1646 for ; Thu, 20 Jun 2024 01:19:03 +0000 (UTC) X-FDA: 82249508166.29.628E890 Received: from mail-wm1-f44.google.com (mail-wm1-f44.google.com [209.85.128.44]) by imf12.hostedemail.com (Postfix) with ESMTP id 8196A4000D for ; Thu, 20 Jun 2024 01:19:01 +0000 (UTC) Authentication-Results: imf12.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=MTswBdha; spf=pass (imf12.hostedemail.com: domain of alexei.starovoitov@gmail.com designates 209.85.128.44 as permitted sender) smtp.mailfrom=alexei.starovoitov@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1718846333; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=uDHT6yLRB/v0oglM9yUXjYWVmzlOS187SihTeCnHq4k=; b=70x15IPRM/dmZgD5oTV3LM62nM9HbjvdObjBl3pRrqyKy6ggZGak4rI5BJS7a/OXjJLXE9 BvG3ZLK5qNfqShKIu5RA/LnNkJMjL7arq0KtFzC321K+06AAkpAq7v52uGPNKLQVHmFbAC r7crG6Bd+9J+ZPZwr82Hv5ijkInCFxk= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1718846333; a=rsa-sha256; cv=none; b=kLpJkjLhE4Gryo0OMgA0MY1usxydk+GFnh+Ye95+03a+NoazJ0BQ40rM7Oaq7PqXqngVKo sw3WLSx4R2ODoekfQgaYq5mFtp0KyJ0jO8H5p+cs/owvtUeGLTbhlhpJmuFZnFzrl1LRuF oYt63f5mk4+bq3Rv5kgR62FuDUFONKU= ARC-Authentication-Results: i=1; imf12.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=MTswBdha; spf=pass (imf12.hostedemail.com: domain of alexei.starovoitov@gmail.com designates 209.85.128.44 as permitted sender) smtp.mailfrom=alexei.starovoitov@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-wm1-f44.google.com with SMTP id 5b1f17b1804b1-42138eadf64so3662175e9.3 for ; Wed, 19 Jun 2024 18:19:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1718846340; x=1719451140; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=uDHT6yLRB/v0oglM9yUXjYWVmzlOS187SihTeCnHq4k=; b=MTswBdha/7V0Xzz2em4vOSSmIFrA3EZil2vRcH+EFBLoJzNZiZ4OTG9nWAem4VgK7T g10iLBTr1+70uWnMZhaNy0vFyBAvvWPIbt1NRPxDxZ2ZJsq78X2mUqGduzcgPfWCuDM+ DhE+nnUvWzjzjGcaZ+nT6OsJUp6yPAKgA9jqbdCq7wEt5c3IEJc/6a7OqwBc6/RZNcyg dTjhOFUtsbkUF+1emy8KWsB+Jv6xB5ZMB5Y6kjkNXVbAPZm+c9Lub6zlCCrk/NYZJU+k 7aMIVhY1quX3umYKbC+TuYBpf2pKak+NXWrcIpT3qi9gdz9oEp4JjfL2TKGT6+34qKUj D85g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1718846340; x=1719451140; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=uDHT6yLRB/v0oglM9yUXjYWVmzlOS187SihTeCnHq4k=; b=opIdP6crCroIAkAAXkj+dVM947oidAj/ellOuoghqUC5dBIntk5tVrnuCQaFAjHV9q 4hOf3a8GzWTzkrtHqgctBEQuT0evIJWXDF5Mh67oK8Y2Lx2sxLyqtxlmTCZEA4CHSRcY hwwiZnYaUBmvnqlHdl5tUfOaJTFG7ZvoKENMFdV1g8RuBQ5m8cQ0PTkTcIwVKjCZuppk rAyIdiyaptQr7uilHinIXzJeU88sCFSahlH3nKEu5DwHz3wKAI7unuW750YLujbk5/GA Mn5UUxkV2TgAaehaYUXUuVzJPqdp7NYVYg3m9ewiwCb7VJkmNcTTOGUWJZ1fgAxZS7sp dP4A== X-Forwarded-Encrypted: i=1; AJvYcCUD5vZT+6DYMQj7LyPJskS4GYBbJ064/srqZKZzrvi0UvM2YcCyruPkxbuveat5UZvPweVnzhOoXJTaHBDMp8Li1O8= X-Gm-Message-State: AOJu0Yza+eZVRM9FSuBv26d3/WxdSsnlmkvd5J1fgWxvRHzBH1slAFaK DvnPGy3AohY6wxjTx9T4YJGBeaLGJ38FMysUJGnC+TCeVh5LttQN2uuFQ4CPXymbVcqHCdEe3ev pItuID52NQniTjHMrKlrhD8palj8= X-Google-Smtp-Source: AGHT+IGKhQCbJwrXTD1wLMTOnHS2G1M40SRH7cHaBrBenjcNqfuIlq6OJO1UBMN5+xHWxsPf3hslz7XTNojTJbBeuO4= X-Received: by 2002:a05:600c:6a09:b0:421:eecc:2404 with SMTP id 5b1f17b1804b1-424751809e3mr29825415e9.24.1718846339564; Wed, 19 Jun 2024 18:18:59 -0700 (PDT) MIME-Version: 1.0 References: <20240620-fault-injection-statickeys-v2-0-e23947d3d84b@suse.cz> <20240620-fault-injection-statickeys-v2-5-e23947d3d84b@suse.cz> In-Reply-To: <20240620-fault-injection-statickeys-v2-5-e23947d3d84b@suse.cz> From: Alexei Starovoitov Date: Wed, 19 Jun 2024 18:18:48 -0700 Message-ID: Subject: Re: [PATCH v2 5/7] bpf: do not create bpf_non_sleepable_error_inject list when unnecessary To: Vlastimil Babka Cc: Akinobu Mita , Christoph Lameter , David Rientjes , Alexei Starovoitov , Daniel Borkmann , Andrii Nakryiko , "Naveen N. Rao" , Anil S Keshavamurthy , "David S. Miller" , Masami Hiramatsu , Steven Rostedt , Mark Rutland , Jiri Olsa , Roman Gushchin , Hyeonggon Yoo <42.hyeyoo@gmail.com>, LKML , linux-mm , bpf , linux-trace-kernel Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 8196A4000D X-Stat-Signature: 4u148tq3engymrcit7p9gh6uibrta5yj X-Rspamd-Server: rspam09 X-Rspam-User: X-HE-Tag: 1718846341-592637 X-HE-Meta: U2FsdGVkX1+n0R9lpG41bRWN19ZvxS5rcRDzMkLRw5N4GCnbFccqGJiCo5NW7Oz/KS5dy+0kYjU2o/iMEL6b7/b4pDz2LE5e+Yfv1HidiRRPIlU7kbMUwV5/Z5L9P2NOQ+xpJGISEBl4c8ZUDD/+flbZQB16KSIXFp9ZPQdezH2qPA5StZJKwmEWrVrEbIWKyaY5XLwXCeHoPTNzfM+ATSO9vc78zzx1OJllksuf9GA1cuBroiSzFH7J3GxUNkbZpX1zl6pyCLMEJ7GChtMSvTOqBT5WIyUlAV7aRt4168Bugg6+7aCKn1t7HsNdfsq30VQ0koWQ48H7am7CXnRUTULwah8lURY4ukniFJm0GEYYO2dh2BXkyIV1+dqWBAVhqMcG/L6rIwscyJDyEsI2L/xGG+Rhbx/QWflIMVGSpC3fqnI0yHhbEhbcqW3SuL3g4qpOtyMYzb+FEkqUGY3Od/YTXYxnibjhH5NvlcakfF4FLKpfuEWbvN2C/yeeuwDfHDNK/PajPwl0Gx12GJTp2dTKROB5DNQBWChLnuRPqut5n3Ii9qGl2/QQCSMokCOxYxSeWOKwBY6wyblx+NX2Rh0oLMMqY0F4h1y1udGubHEOeUhfOYHOny0URcNTzGjn2TS4xzcKTybN7gr/8NQymytc80QjQdctY8EJ07v2qIGyPAcKmpBWja9Fo7F9ae8NHrCHymNyN0h5r4M7QT5jaQiVkxqTzmz/aGXyFhFWSAP7jRWeb1pUkYzwOTETerMTk1KS0gvWh87e4TdsxxQ1J0ZGnOmj6pi2aYI40fEP3+9D2Z9LBWuVxBeoSgbiE5I52KgfdcVBJXGuyENEdhUYojU+BfFT2h25VuFGX1HK8k40kEa1PL1ltJ+qdOgDwjShwBugdEcuFj/KRI+l3vbKueCpcULPBBGoBbD5NKYvPZkFfC0MYLb4QZUvUGxiNRGFPfnMfjyRzAH6LufgjST R5dJc1S2 XmlSXvzIwQjjwcfFQ9yRVqgCEtuQN3zuFm0sjNm8F62z/2OoXT8inplUTDYdMLMwH2Fl+x3vLl9quyMqNaYOigkfPfgu1qEfJYq/18UDpG17awCqu+fBXlcLMU6qwuVRYNl8KbjvW+7XHshuB9K7cbE+JcP4qoHRb6T2z1YX8t4/rBvoE9s/ndaizMBZRxoMvKQrAiFKECk3PDEfZeVDLK/WtKUF5vTG6/AniGNNKI8DN5aFYU/F5b3eZeB2pxAecttLZnsw/Al5jwClXmyn7vDR6F6tk3PcU1F+mvCAeZZLOAiogZenSgCD6vzch+rknRqOojf9RNPgkQfevZnd55+kSKw94Mjf/lljbX73uAMF1VFeQnd+cSZqrsEArOKhgCxqj691rQZlZF/VwvcJvQXOntYKNGO1qnH6WEGTMvIDEUwDrxafmNFjvSzMPEYbMdN5e X-Bogosity: Ham, tests=bogofilter, spamicity=0.000018, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Wed, Jun 19, 2024 at 3:49=E2=80=AFPM Vlastimil Babka wr= ote: > > When CONFIG_FUNCTION_ERROR_INJECTION is disabled, > within_error_injection_list() will return false for any address and the > result of check_non_sleepable_error_inject() denylist is thus redundant. > The bpf_non_sleepable_error_inject list thus does not need to be > constructed at all, so #ifdef it out. > > This will allow to inline functions on the list when > CONFIG_FUNCTION_ERROR_INJECTION is disabled as there will be no BTF_ID() > reference for them. > > Signed-off-by: Vlastimil Babka > --- > kernel/bpf/verifier.c | 15 +++++++++++++++ > 1 file changed, 15 insertions(+) > > diff --git a/kernel/bpf/verifier.c b/kernel/bpf/verifier.c > index 77da1f438bec..5cd93de37d68 100644 > --- a/kernel/bpf/verifier.c > +++ b/kernel/bpf/verifier.c > @@ -21044,6 +21044,8 @@ static int check_attach_modify_return(unsigned lo= ng addr, const char *func_name) > return -EINVAL; > } > > +#ifdef CONFIG_FUNCTION_ERROR_INJECTION > + > /* list of non-sleepable functions that are otherwise on > * ALLOW_ERROR_INJECTION list > */ > @@ -21061,6 +21063,19 @@ static int check_non_sleepable_error_inject(u32 = btf_id) > return btf_id_set_contains(&btf_non_sleepable_error_inject, btf_i= d); > } > > +#else /* CONFIG_FUNCTION_ERROR_INJECTION */ > + > +/* > + * Pretend the denylist is empty, within_error_injection_list() will ret= urn > + * false anyway. > + */ > +static int check_non_sleepable_error_inject(u32 btf_id) > +{ > + return 0; > +} > + > +#endif The comment reads like this is an optimization, but it's a mandatory ifdef since should_failslab() might not be found by resolve_btfid during the build. Please make it clear in the comment.