From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-ej1-f42.google.com (mail-ej1-f42.google.com [209.85.218.42]) (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 6E9FD1F3B85 for ; Wed, 1 Apr 2026 14:31:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.42 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775053884; cv=none; b=nyUpeyhBFMTkcJ5d++aCj13iyoXTCqoYaCREBAC30vPAGX09sOv9P1Iy7sVywDeGfYBnpJlBoJhhHDdH74L0ZG2+EMbRnVITO4fdeSEmW2DQ+ffAmpx06fMEnrsGceaY1u9vkqL5udJkS2C/B6HrYoHJkSTGxPi0SjB7T1HGDSE= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775053884; c=relaxed/simple; bh=lH9eKSW2yYhKqeRTFuyuIorjmr3ody7md9WA8FOkB9o=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=rktZFYKN8lS5nP6iUMYtfcHJtTWI4lB7nGHIrdfNZ0FwYxKxiRSZfq1R6Xl/kCXqvhIgKfPQYGYF/9lUjeYDwVJT5pG4QLQRdAOJFeoazMsqvSnIcs5QxGfUpX1vlF+yRJdQBNhAU/Tn2Xlu0k1NxJiFVxRSUIJV0koPnd6aiYA= 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=W5xuqMKR; arc=none smtp.client-ip=209.85.218.42 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="W5xuqMKR" Received: by mail-ej1-f42.google.com with SMTP id a640c23a62f3a-b97f9587e6eso1046330266b.3 for ; Wed, 01 Apr 2026 07:31:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1775053882; x=1775658682; 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=D9Y5HSn8qHxvvJdhLmXjNMhQ+Dpvj4nqUmRgXhpDfws=; b=W5xuqMKRZi6AEM1f2fspPvPf7QhKMVYzgDvdRDdd2chZ1SN7QKcOpsEHi+mLYUujVU sfvMcJuppr3BPYdIB+DqJ/f+xeyoEDabM61duEWflUu0Mfw3S4MV6Sz5luWPuAMEjHsJ VzDKMtV6J2ZFOw2cI690hVuD4BJN4iavS+iPmNefWgo5JCnqopR3aLtIZYFZNAr+FUtX Mbp1yp6r56DRn+31aEjtB4hKJFkumll/KwfX2WCI3m+p7sf37Z1lvR+jaAIWkCYHhKaY WKpQPLxPt51/2+B/31z3d3kRFBXy2gJvk39lJhdCVnJYg9uydvvvYrFvVtiHM8M7KKXb f14w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775053882; x=1775658682; 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=D9Y5HSn8qHxvvJdhLmXjNMhQ+Dpvj4nqUmRgXhpDfws=; b=lXZfKZ14MIHopvTCsTh4tNfnPQWjLot3UJQhlxeGCGW35sfUodDW6UOHRvWFSHxLeL X0VQcyg66yB9reH8FDf20aOq3c31D52IWJsUgvpoMVrN8WDlaetHcxPo7A3FTS/k8ox4 r5t6K2yVaKh9dvmjHAmf9OBemvV7JBg4ZPTAIDMulegxlfjHvjAQV+bibcwomefLzpju 38m3EuGCwVfquP+1ZQm1SOc8gMy9lhjePsXI+e6rLKMCTK8sdb90TEKlCz35UsnlyvPx lNKorg0y0Xbbn+Vk78NBy2m4SwpTdJxBEZS3XLO+bruH9HnSTJWbqrUiw95ctFCNQ/P3 UQhQ== X-Forwarded-Encrypted: i=1; AJvYcCVIDY3w6PdubCXqG6Zw1DV/d/DFNO6dOHzYNDRad+ZxyvF5kcigFBltbcBqL4GAyCm5c4W5osn0whBk4l4=@vger.kernel.org X-Gm-Message-State: AOJu0YzA3ThnVFfdF0G8JxjecBg8TbBfbDf+amDH7oW/xZUtyPoFSt6k 5svWX55s26NreQqzTnmex4RV163pP+qO5u9vQg9/eS1qCw7/QePzx9+laGlbtxgCWw0= X-Gm-Gg: ATEYQzycGHo0l8HNdA2RK33XeE/0VPrG08ArI25A+FT5pYGsyy8zCI8/DliuKpA3eKs X1prO1BQ1/54mZSGi4vYwZSly7U2G1jcWcAYNJhijc9XGq0Wuv0Al0TsOhLCONWveexPqfsMm4N UhKFYA2x6Pnt+hMCsd/yJL39Bb1+gcpZ4e88665X0Gy17Q17mNl5Zvr+qHnYUgKQ2PS86K5OfnU sMZ2cIiELy0kmJya0Xp/LFt6BJkEHazOwG8JD6tIUrqcKUcSdc8aK/sgOOxqALT6K04ydeLsj7a 7vyQXaKbKA6tBhyVPvjT7ieqwoUaWRz2pMea4Td0EZp8MLFSKr9qr8OVSrky5T8dNDljWpgHDGB fWnUxB9EljrgH447+nINxQsYcFafIl4OFJlThvxz1Qy08MSK0nBVFYuxk7nyrB74oMdZfbpFBq+ JSlyrYO9qeEd08SGP92bFTgHmDWNNQaEwr/sZ6xHJjmnRYd5FF7quaxAIVA1viZQ== X-Received: by 2002:a17:907:d386:b0:b99:7697:76e5 with SMTP id a640c23a62f3a-b9c133b2eb2mr277582066b.0.1775053881478; Wed, 01 Apr 2026 07:31:21 -0700 (PDT) Received: from f16.localdomain ([121.167.230.140]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2b2427658e4sm199047295ad.48.2026.04.01.07.31.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 01 Apr 2026 07:31:20 -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 v7 0/3] libbpf: clarify raw-address single kprobe attach behavior Date: Wed, 1 Apr 2026 23:29:28 +0900 Message-ID: <20260401143116.185049-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 documents single-kprobe attach through func_name, with an optional offset. For the PMU-based path, func_name = NULL with an absolute address in offset already works as well, but that is not described in the API. This patchset clarifies this behavior. First commit fixes kprobe and uprobe attach error handling to use direct error codes. Next adds kprobe API comments for the raw-address form and rejects it explicitly for legacy tracefs/debugfs kprobes. Last adds PERF and LINK selftests for the raw-address form, and checks that LEGACY rejects it. --- Changes in v7: - Change selftest line wrapping and assertions Changes in v6: - Split the kprobe/uprobe direct error-code fix into a separate patch Changes in v5: - Add kprobe API docs, use -EOPNOTSUPP, and switch selftests to LIBBPF_OPTS Changes in v4: - Inline raw-address error formatting and remove the probe_target buffer Changes in v3: - Drop bpf_kprobe_opts.addr and reuse offset when func_name is NULL - Make legacy tracefs/debugfs kprobes reject the raw-address form - Update selftests to cover PERF/LINK raw-address attach and LEGACY reject Changes in v2: - Fix line wrapping and indentation Hoyeon Lee (3): libbpf: use direct error codes for kprobe/uprobe attach libbpf: clarify raw-address single kprobe attach behavior selftests/bpf: add test for raw-address single kprobe attach tools/lib/bpf/libbpf.c | 18 +++-- tools/lib/bpf/libbpf.h | 27 ++++++- .../selftests/bpf/prog_tests/attach_probe.c | 80 +++++++++++++++++++ 3 files changed, 116 insertions(+), 9 deletions(-) -- 2.52.0