From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f48.google.com (mail-wm1-f48.google.com [209.85.128.48]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C30A236E469 for ; Sun, 29 Mar 2026 12:44:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.48 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774788279; cv=none; b=bL/55tEpwS/4Z3AJzXtvgrw4v+MdJqw6uaDW0/p2bvpp1KqlOz4Pory4o8d4Mdod6HiDP0+hoaKd6ndYJ2+62s6VDaLlGKiCdYgQH7AAQqaPujewtKLadzC1tON05A/pDvtvB9QZyu7wNmmHWH8mEWfIEzsIIXKrSmShhL8cpb8= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774788279; c=relaxed/simple; bh=Rmh3Y+JrArpJE7iqH6JLEcKEfdpuVbpvkJS7lyIHjzg=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=eDmDQ8KcK9j46I75b0GTtOadK7JJSgFKNIHjFpdzHoarahs1g0aCvPOUjryjytxEO4mFre8rjDHp+V58SA/3mkqy4vYNpU5SmUYI+FGATmKwVV73cfJ3rHi/CZAMSP21AwLTQkrNoOYKMGoe7IoV+PDSviQhwCWiLWJrEtfOY+g= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com; spf=pass smtp.mailfrom=suse.com; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b=dnXMdCkV; arc=none smtp.client-ip=209.85.128.48 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="dnXMdCkV" Received: by mail-wm1-f48.google.com with SMTP id 5b1f17b1804b1-486b96760easo39539085e9.2 for ; Sun, 29 Mar 2026 05:44:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1774788276; x=1775393076; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=CMhuHeD7KIQLmawFhIk+JJPpQUf9loVrwxnFpBfk5n8=; b=dnXMdCkVm5madfRT6P0ezSg720NIs3rc3IdYHXtNSPo+e0ql0rLWCaDZUoR5zVWTnL wTvwDXSJaquyL6hIkrUAk1m910HuxsnB78WwnT7+StVl5MZsudbD/x9adkquCwQd8BPm XNDDurbSXXW9XOos05BJ/5Hv+gkEi3YwWujdsU0bLtR82tMc8D0ASfDhspiJmz6eiHHI pHyJXOQ7Q7fPIk1ZC+OhPvpKxxPojDyfbi64aTXesM8pzRyVsXTOr9k0/HawTcF2KXFH XDtLAG+hOeoQwt+Ac/GyN5+aAKMPAsix/EMT28zQC5G0sa3awuhh/zQ3nJQ40hK+XP9P qspg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774788276; x=1775393076; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=CMhuHeD7KIQLmawFhIk+JJPpQUf9loVrwxnFpBfk5n8=; b=YyvaUk6x+fpn0fqbDWW6MfLwx2iFhoPYVT8huCNSV4Zt9/1J1YXH8asmF2SPqCHldw GpMToYEWaDf68N1PTOTCEftDimYdfLkZP/wS9pAfp0NhJuci15fCk7IvVg8WbBPhF7i7 Q8Yk60SzrtEpR4/fyhiFJvy9tpq70tB9clerplXQs0G8y2RXw7TcwWFAbJvR1RjpSRtN Axsff8jDkDPvfrlxcAgd79nFzgJGMGUiOMG1QKjD7Y6wGGgMFYq47GjN5iLXupWMLsVz 9mJcWyi98cTlz/X8d/JvTWBgtlF6hc65XqZNgXte/zWJksm5PprZV5eJbGdowVYCeLD0 07Tw== X-Forwarded-Encrypted: i=1; AJvYcCXiy2zxsq1OBwXBcl+fRQupK7bFJeRW0+ypGQ2oRPIMhERFpTiFWle2Q/MT/xOnlmrn+Yuksksi3uAV3sI=@vger.kernel.org X-Gm-Message-State: AOJu0YxWVD1Fwq3M/3Xwbn2L/XkgYlllfeCCwzgCHB2XdIx45EwIw1QJ SnpHJjZhevhFOPq7H7dk6UsHV96fvIoY3fi6xSOBLtasBfUELn4WmnwEQ53FThJewJM= X-Gm-Gg: ATEYQzxRGFcMPG1VT9T2Fw7amlATCxr6OHZtDDXSUh7sTo67ZhZm68tTWwSN9L4woXP m5PpOlTbtt9+aO9XRU+JoxfakeCSZHaa+mer5Bv+yta1gyvq/1jA9c7mtFAs3ruI9iujUD4/kTZ 2vfOL4WMEtASHBn1G5SfPM8Fd4Un/mLBdkQ8nHA2bkX74UD60lEGcv6zTfGh5XskjteKDuqEYd6 pdPz0YGTWahNh5dDvUTjxEmqV4LFISJj33IGJwYlRhxDL3VHem8XOiKZodtvQMVi6XQI6hyxpIH 5wU2DJCLahy9Poh7rFVTaAdjA92zAztphi3oW7ewV+Y9X8i4fV5RA8Dx2KPyZUnJc6/8YQDou1G FqTw+smNUIOq0uS2ViRxYbpdZncb7U8ORMbw5CMI9jwK8y3khj3VpkQ1f4GL639Zka6RVe5rKUl dkVzOCO+ET8xpSprc7CUPbnmYR697VM8qLmKnsmtCI2WAk/qEYGNJsQ4IlB4KFbw== X-Received: by 2002:a05:600c:524a:b0:486:f9a4:d487 with SMTP id 5b1f17b1804b1-48727c816e6mr142138465e9.0.1774788275973; Sun, 29 Mar 2026 05:44:35 -0700 (PDT) Received: from f16.localdomain ([121.167.230.140]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-c76916da892sm3700321a12.14.2026.03.29.05.44.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 29 Mar 2026 05:44:34 -0700 (PDT) From: Hoyeon Lee To: bpf@vger.kernel.org, Alexei Starovoitov , Daniel Borkmann , Andrii Nakryiko , Martin KaFai Lau Cc: Eduard Zingerman , Kumar Kartikeya Dwivedi , Song Liu , Yonghong Song , Jiri Olsa , Shuah Khan , Feng Yang , linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH bpf-next v2 0/2] libbpf: allow address-based single kprobe attach Date: Sun, 29 Mar 2026 21:43:37 +0900 Message-ID: <20260329124429.689912-1-hoyeon.lee@suse.com> X-Mailer: git-send-email 2.52.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Today libbpf can attach a single kprobe only by function name, with an optional offset. But the kernel also supports attaching a single kprobe directly by raw kernel address, through both legacy tracefs/debugfs kprobes and PMU-based non-legacy kprobes. Since libbpf doesn't support this yet, callers that already have a target IP still have to drop down to perf_event_open() or direct tracefs writes. This patchset adds address-based single-kprobe attach support to bpf_program__attach_kprobe_opts() and covers it in selftests/bpf. The first commit adds bpf_kprobe_opts.addr so that libbpf can attach single kprobes by raw address through both legacy tracefs/debugfs and PMU-based non-legacy paths. The second commit extends attach_probe selftests/bpf with address-based kprobe attach subtests for these paths. --- Changes in v2: - Fix line wrapping and indentation Hoyeon Lee (2): libbpf: allow address-based single kprobe attach selftests/bpf: add test for address-based single kprobe attach tools/lib/bpf/libbpf.c | 88 +++++++++++++------ tools/lib/bpf/libbpf.h | 5 +- .../selftests/bpf/prog_tests/attach_probe.c | 49 +++++++++++ 3 files changed, 114 insertions(+), 28 deletions(-) -- 2.52.0