Received: by 2002:a05:6a10:16a7:0:0:0:0 with SMTP id gp39csp577278pxb; Thu, 19 Nov 2020 08:30:42 -0800 (PST) X-Google-Smtp-Source: ABdhPJw5CEIerp6cH72JcX9zLFx1p9cW3lri3dcW3Yjw8kyhIIXmvro+dINc8SJ5gyjXrvqmxij9 X-Received: by 2002:a17:906:3953:: with SMTP id g19mr16509408eje.151.1605803441846; Thu, 19 Nov 2020 08:30:41 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1605803441; cv=none; d=google.com; s=arc-20160816; b=zQDeCjUqCkO/heLWsps9tm6GZ5CN1rJ0x2phy/rgB/leURCRo1q+0CJplSU5xlSbPy fFl+VajYKE/gSBPZV/Gh7KKpEuO0UM5Jmkq1rRHzE3ZHr6gWXgPN9hoqDcOMWxB7tEMA BstJqEBRF7We0kZUdl0+yg7hHApluNYSPVmxnlpSG5kv2/T/WT7KFYSnfmmgnVvnMeS3 H08sH/hDmHM5YnefZ7ykGzkyENOLvI48TukXq17TK++VwDU04mFKj9xAGX6Hz9IYSXfv iltX6NTcm1+x5VW6udQbR6ygwXgRr602Ux9zNqafxSc3Ajmi3QTZRjcnnn4WCaE50YxY mtAg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=Z36MlF26WgWXOikzwPdY6S4xLAQhn1npxSnvJNteclE=; b=Sph+awADmvVsPgju6hDM/YuhDcZajHzS4OmPZYPU/6LmB+hOR2AEPvGU11xv2M0Rwb Apm4qDumcak0cRX2IQSCKG9sF6r2n+f0Ykw3+RILJD9llH80lOdZ6KCXCcrq4v0dY2WY Hc1g3mekXzLpy697CJM63cerJJliLPc5dAVnjAi1SwEfzzqVJJ2nEvUsD06iSaMl+BJH X7l4KxJeURqmmuM6TLbgM1vZ7IrtCvN041B/F1Bs2ds8SNnL4/VQi1S+blSq2NQ4iiYl xTsjrC8bYoxA11MUtrvCmPtwcCj67eQ14G6zlgf8293pnmZPd9uIAGzVTidnL79TRNS0 3Z2w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=fGu+7Bf2; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id g4si152369edw.15.2020.11.19.08.30.18; Thu, 19 Nov 2020 08:30:41 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=fGu+7Bf2; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728874AbgKSQ1h (ORCPT + 99 others); Thu, 19 Nov 2020 11:27:37 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54040 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726820AbgKSQ1f (ORCPT ); Thu, 19 Nov 2020 11:27:35 -0500 Received: from mail-wm1-x341.google.com (mail-wm1-x341.google.com [IPv6:2a00:1450:4864:20::341]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 598FCC061A48 for ; Thu, 19 Nov 2020 08:27:35 -0800 (PST) Received: by mail-wm1-x341.google.com with SMTP id p19so6620365wmg.0 for ; Thu, 19 Nov 2020 08:27:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=Z36MlF26WgWXOikzwPdY6S4xLAQhn1npxSnvJNteclE=; b=fGu+7Bf2lyWU/lgx4K/qS0Ycvfcqw+M6On5Tb5RL0jM+IkZKCmP9vLsbL4zJRFes3M l+Ll2BcApNvJlfdn0KlrAn5iveQ6/KPXJhXMDSoBGy0cuMyV6srYTnOdHfpkc0KxL9Xi Kje/Norox0GHxKdLiAEvU8gDOm43OPjQYjC1M= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=Z36MlF26WgWXOikzwPdY6S4xLAQhn1npxSnvJNteclE=; b=YNO2Xx0NO6VtQk3BxTWzTeCRFOj+P56pp6kMSI3bBvIME7q3Hw+dCQS7AiHS/dayWh IWH9sjx89JmjCKLZZQFcUqbFUf0vKKc6vZlOcKPNAl/LIQmm4g3d5qJSoO07rWun454g O4XRTtHN0ec54sGHDQcrFqFkwt1kJXydJq3z5PHxLxjwB6l5q+Slaw4D9x7CbmhNn+ji 0y4B/w8zzTBKk29/qOmMKR7T6dPq9oQDVEJ1VlbcIy/Foh87TI8bsl1eZ0MsnN7rMwaP rDe1Kz/qZ9cjH4CteSnA/vHfy0NfcbLKQOQnwDFbDCdTmnD+GhuSw2kHaU4qLPfECNLA S/6A== X-Gm-Message-State: AOAM531qX6MsYB2X89YPgt67vAd3oDyEBZ2gM9lKt9tDZe8xz7w5gqfg H8W/4wt5PbkqJiKJyw/5KqsEbw== X-Received: by 2002:a7b:cb82:: with SMTP id m2mr5350605wmi.75.1605803254062; Thu, 19 Nov 2020 08:27:34 -0800 (PST) Received: from revest.zrh.corp.google.com ([2a00:79e0:42:204:f693:9fff:fef4:a569]) by smtp.gmail.com with ESMTPSA id i5sm380061wrw.45.2020.11.19.08.27.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 19 Nov 2020 08:27:33 -0800 (PST) From: Florent Revest To: bpf@vger.kernel.org Cc: viro@zeniv.linux.org.uk, davem@davemloft.net, kuba@kernel.org, ast@kernel.org, daniel@iogearbox.net, kafai@fb.com, yhs@fb.com, andrii@kernel.org, kpsingh@chromium.org, revest@google.com, linux-kernel@vger.kernel.org, netdev@vger.kernel.org Subject: [PATCH v2 3/5] bpf: Expose bpf_sk_storage_* to iterator programs Date: Thu, 19 Nov 2020 17:26:52 +0100 Message-Id: <20201119162654.2410685-3-revest@chromium.org> X-Mailer: git-send-email 2.29.2.299.gdc1121823c-goog In-Reply-To: <20201119162654.2410685-1-revest@chromium.org> References: <20201119162654.2410685-1-revest@chromium.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Florent Revest Iterators are currently used to expose kernel information to userspace over fast procfs-like files but iterators could also be used to manipulate local storage. For example, the task_file iterator could be used to initialize a socket local storage with associations between processes and sockets or to selectively delete local storage values. This exposes both socket local storage helpers to all iterators. Alternatively we could expose it to only certain iterators with strcmps on prog->aux->attach_func_name. Signed-off-by: Florent Revest --- net/core/bpf_sk_storage.c | 1 + 1 file changed, 1 insertion(+) diff --git a/net/core/bpf_sk_storage.c b/net/core/bpf_sk_storage.c index a32037daa933..4edd033e899c 100644 --- a/net/core/bpf_sk_storage.c +++ b/net/core/bpf_sk_storage.c @@ -394,6 +394,7 @@ static bool bpf_sk_storage_tracing_allowed(const struct bpf_prog *prog) * use the bpf_sk_storage_(get|delete) helper. */ switch (prog->expected_attach_type) { + case BPF_TRACE_ITER: case BPF_TRACE_RAW_TP: /* bpf_sk_storage has no trace point */ return true; -- 2.29.2.299.gdc1121823c-goog