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 4E69BC369C2 for ; Mon, 28 Apr 2025 03:36:46 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 8C5166B000D; Sun, 27 Apr 2025 23:36:45 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 84FC06B000E; Sun, 27 Apr 2025 23:36:45 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 566636B0010; Sun, 27 Apr 2025 23:36:45 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 2C4B66B000D for ; Sun, 27 Apr 2025 23:36:45 -0400 (EDT) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id ECC75C89D8 for ; Mon, 28 Apr 2025 03:36:44 +0000 (UTC) X-FDA: 83382040728.15.E887B5E Received: from out-183.mta1.migadu.com (out-183.mta1.migadu.com [95.215.58.183]) by imf30.hostedemail.com (Postfix) with ESMTP id 4045B80008 for ; Mon, 28 Apr 2025 03:36:43 +0000 (UTC) Authentication-Results: imf30.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=rkb+LBSM; dmarc=pass (policy=none) header.from=linux.dev; spf=pass (imf30.hostedemail.com: domain of roman.gushchin@linux.dev designates 95.215.58.183 as permitted sender) smtp.mailfrom=roman.gushchin@linux.dev ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1745811403; a=rsa-sha256; cv=none; b=vJyNIGq9ldMSwM7MlcdA3dBq+1kUA3kYS9PLpESKLUH6sQed0Fu8p6gZq7npwqTWvXFmli M4PuZb7ygKa1bKSkyrYsa6HDzZLr9OuPQdaTcNxkepwJ12f+zbnYJUjhVwbevYgCSTFIMv Of4lWA9CFRjzp9gIMfl9af75yiKEXrY= ARC-Authentication-Results: i=1; imf30.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=rkb+LBSM; dmarc=pass (policy=none) header.from=linux.dev; spf=pass (imf30.hostedemail.com: domain of roman.gushchin@linux.dev designates 95.215.58.183 as permitted sender) smtp.mailfrom=roman.gushchin@linux.dev ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1745811403; 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-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=pVLyMgxEgIhuDOYAYLLDexoPQY+fmhXjZ45o9+pIZwY=; b=X53KGwjMjpnRSAIfSxPmpwBQ+mZzOSJbLNHpwMbhFx3G//9abmbejn+17y21nVYntLOcC/ Ub1Rajv70jknYvHbeZUXtV8UA+J+gNp+es2HXzBmo8fwdvTg06LD5cdcZcdgx7mPOBiqTP /i1w878hb2Qda9fgGl8oHvGtwk4aoiw= X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1745811401; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=pVLyMgxEgIhuDOYAYLLDexoPQY+fmhXjZ45o9+pIZwY=; b=rkb+LBSMsHwLB7IGdALJ3Zig+Z0TfDZlFUKQ3AjaYNm2NIPMmXkltcH/lgWAMD6KlkYQIQ vOIfLeVlKGKzeNULNK80f3sawYAGn4pFstkoWF6WU0/xMrhgdcSO9i9SJg7Pr8tMV0ovUl pvDbVFOWTc4TPMf3lqk1xTij1KeWzeA= From: Roman Gushchin To: linux-kernel@vger.kernel.org Cc: Andrew Morton , Alexei Starovoitov , Johannes Weiner , Michal Hocko , Shakeel Butt , Suren Baghdasaryan , David Rientjes , Josh Don , Chuyi Zhou , cgroups@vger.kernel.org, linux-mm@kvack.org, bpf@vger.kernel.org, Roman Gushchin Subject: [PATCH rfc 03/12] bpf: treat fmodret tracing program's arguments as trusted Date: Mon, 28 Apr 2025 03:36:08 +0000 Message-ID: <20250428033617.3797686-4-roman.gushchin@linux.dev> In-Reply-To: <20250428033617.3797686-1-roman.gushchin@linux.dev> References: <20250428033617.3797686-1-roman.gushchin@linux.dev> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Migadu-Flow: FLOW_OUT X-Rspamd-Queue-Id: 4045B80008 X-Rspam-User: X-Rspamd-Server: rspam07 X-Stat-Signature: ibbiowff6je9qyg46144pyw6dy7knx6c X-HE-Tag: 1745811403-185898 X-HE-Meta: U2FsdGVkX19D4l2unpR/B/H1YDR83zi2ykQDrz8mWUxhHG/EgVyad4gAMsmV/331LNk6zdAWYraJHL1hXXEZHqhg039UzfON9LwxSc/vAAMz9kOJUpjKinRYqpRt/d4EJqgr3djMU/oSrYIIEu+e0YWeQa5ONdwD/FHfwWRA26F7uUTCA4zbhW/jBwhnELuSGJOnp7TqrBEFkJsR+35HJd/MzJzAYfnXvjxCtGAYjej9Dm5hcAm1+W5miqvr3ps+GL33OHcTTdttYarK1cCwm1mOwyZgM7/HyJXoASlUNFUk46vGNTw7BnkrkHCN2PQASBp1m9doO4TkMF2v3q9G9wNw/PaeaA3RwmVAdiAQBXrVdMTtbijvn/VoozSI632fUsNkWDU1aAVnMMmic6yC5zc2XqGNgI/dMzA9dotLuD/gUnD293bJx9oi99HtyrjDVxcagVJdPqKw+oyaRfj72yao/NHXkRwzEKZNlGZjN8gdvp9nLvSZozjw8rg1cH7evmq57SmUYjS3E8UOY2plaZeo81i2bTE7xyUnR4j0cOy+lNPJc6As9N5d6hAU9gA8mqr7JuYbtNxKVxCbxntX2QVkSXS0Gr+AsSpOY/7yRz6oixroj44CZ7YnCXKbVlIsx/BeUZDcU3gvFcdxZAt9rzJumbaQ/R1paYObePv+g9vKiiWUHEalQU838MLrmH5erjXpYypdwwjqByWXlQ0lDJX2Xjpau/438y53E/ec8YjC8SIv6L15ZlMn59j8iSkUjPemDzwQ8kx9sbLIog1EYPm9naUtKBOWAaGvkyk7MPaqJQwkr5+cni1IeyS0MIs17aLmyid336y8o9/Y3gfyCi47qv/Qx2mnmijC//qYTDTB9hLLVw+YTgl29wmNZilMyU5FvkG9rb5CcFhffSdUqobaiFKHnRRUfXFTSWtpJUnc9Z1t6aqnpJi2R2pEwU4+DqgseapqzNoQJ7G6/Ye LQc+XfVC M7vhN2T4ifU3j86OifcNIV2SiY+VLL6XuJwlA5KUu1jjjM/SLu4MuNpiGVhtTlvFoK0uIB+ML4T0u1Yax7BG5ZwtNmCWiv7nL7qC+A9A7sMlw+kRJPrA0p6oX5tTUPK3aaw0xYuGG/dwDpNMFqpGzVvvHxVXbsGL295CrLUm8snCpiGA= 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: List-Subscribe: List-Unsubscribe: *** DO NOT MERGE! *** This is a temporarily workaround, which will be fixed/replaced in the next version. -- Bpf oom handler hook has to: 1) have a trusted pointer to the oom_control structure, 2) return a value, 3) be sleepable to use cgroup iterator functions. fmodret tracing programs fulfill 2) and 3). This patch enables 1), however this change contradicts the commit c6b0337f0120 ("bpf: Don't mark arguments to fentry/fexit programs as trusted."). Signed-off-by: Roman Gushchin --- kernel/bpf/btf.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/kernel/bpf/btf.c b/kernel/bpf/btf.c index a91822bae043..aa86c4eabfa0 100644 --- a/kernel/bpf/btf.c +++ b/kernel/bpf/btf.c @@ -6424,7 +6424,14 @@ static bool prog_args_trusted(const struct bpf_prog *prog) switch (prog->type) { case BPF_PROG_TYPE_TRACING: - return atype == BPF_TRACE_RAW_TP || atype == BPF_TRACE_ITER; + switch (atype) { + case BPF_TRACE_RAW_TP: + case BPF_TRACE_ITER: + case BPF_MODIFY_RETURN: + return true; + default: + return false; + } case BPF_PROG_TYPE_LSM: return bpf_lsm_is_trusted(prog); case BPF_PROG_TYPE_STRUCT_OPS: -- 2.49.0.901.g37484f566f-goog