From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f54.google.com (mail-wm1-f54.google.com [209.85.128.54]) (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 63D332868B5 for ; Fri, 17 Jul 2026 17:02:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.54 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784307737; cv=none; b=KKng+AyZA43ND06ERC1yuNB5p0Sc3B4zd/sW/jAt7qgYvXNY+u3sppS1PTbu5nWkhZmCY/jEZ5WDvVs2xx3QnUMnzt+CHabu42cRLS1mM87zh/hJttUhhRWVxOBTsg6tHYDCmvRWH5BA5JQoQD1WtgofFTxGmvgehdJK7qjALHY= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784307737; c=relaxed/simple; bh=YDJGf1I1MKhn6O63oKXrgMUp3tx2upjwJXx94rVqyLY=; h=Mime-Version:Content-Type:Date:Message-Id:Subject:Cc:To:From: References:In-Reply-To; b=UL5y/rtxlwG4KAdE6ksbtnzZsGgfSEu68nAKWLTd4puhwj6ur35Bf6FTfhkbZ8X3zLo6ewirDF9S2o5+JKfzli9MO0OSLfSfPTPTF+isJ/1s76hKcMb2qn/HnBB1+uL/6B6UDSCbBjsvhLTEBzlc3gVvootBk6GmVDBsrRKRAlY= 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=fnn67Mz5; arc=none smtp.client-ip=209.85.128.54 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="fnn67Mz5" Received: by mail-wm1-f54.google.com with SMTP id 5b1f17b1804b1-49545ba3d4eso8926905e9.3 for ; Fri, 17 Jul 2026 10:02:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1784307732; x=1784912532; darn=vger.kernel.org; h=in-reply-to:references:from:to:cc:subject:message-id:date :content-type:content-transfer-encoding:mime-version:from:to:cc :subject:date:message-id:reply-to:content-type; bh=RFvn5E/HLi7anOzIPg5BZrN/v/kHFq5z0LqYxHl8WlA=; b=fnn67Mz5oF9QPq34GlM++WijnRdx6VQVPwJZrf5zMkFru5zuZ65gU8bsKioGvHnJFH xDvkw6YygZrc1dUdA65U+Y6yL9/qaAqD5VZj0zwJabnRCkGAwxhB5fRdHBeijdKvQLI4 ybMpIMKG/kJIYKNSozyldI8iIkIl8n4vLTUCQh6WDuzWLLxUPIApLAG/qQKK3regPKnP qR9rA6kX8LBFaQy3gfmRiE0IbItqj0tZfTPcSUNBjuLd+PdNxIrBgBAWdkeenJqs1f+e HEaFO5lh/uEah1nni+xftbaeEvUsztl4aQFjmX3qYPHRcLhScPzWFmbxN8xsaEoSgNEb sEhA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784307732; x=1784912532; h=in-reply-to:references:from:to:cc:subject:message-id:date :content-type:content-transfer-encoding:mime-version:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=RFvn5E/HLi7anOzIPg5BZrN/v/kHFq5z0LqYxHl8WlA=; b=mD4scEjdeC38KnDYVWBnNKXstA4Us6NEwxG46TxWh9RmDPTWmwL79ikloE7VLQRAdW q7DtsiAmZCPDH8PspT3E3F1is9YIc18RtMJVp5Fe8/T4bFUgyIuG2/asO3Kpf2PU0tBc j8dvARc7Cdv/xBvmhi8NJKy+a6YCzK9nE4Ium+fW8m1oTIlYglAscjO3UotcxRQ+d7pj F2caFiYmFG5RUeDSg87o5HC4YKr4ix9PrUQhTgX37eZBK4ErEESYOI0wM+38czfddahG +oxCGou4/Cs3Y16xuaqF+fIQIcI3AeQ9Koq6fJajgXwxZiMunZGmX0K/dE1nuisnzrPQ ZuLw== X-Forwarded-Encrypted: i=1; AHgh+RrUEP5y0/rkO1U9369x4QPPEQsQVNDkmam3M1enjTgXGtvRgJUrgEjkLgf1E/MqRmFA/pIHn7gZHE0ASXQ=@vger.kernel.org X-Gm-Message-State: AOJu0Yw7vStVbCcFfqeJMCzpXKYzM5aVeytQBGn17GrYqq7WTOGpjirc o1cUxYaNW/1w4yMVxSObrxTCFCR87TzytoRDOEtX4haaRA0JAF1xIu1TkGnmDiOGc/Q= X-Gm-Gg: AfdE7cnEO86cukG39WAFO4AYsQOs3jH3RMxhsGbSpMRjG4ElVZBecuPsPlL4mr97bp1 HEuwLn0id+eSQ6/Bdkh0J3Y8LG+vaZ5G69vgq6BqQazgwgsn2B6L6AaA/tbC1qV9hGdQ9i82pDD p6lE9JYz4PnDpTNLB4rQ9rQApYX77hGSgnnp4MRukYJ3rjN49KUnuvIce/qGgezbJOp5Uv6xDvh 2uJOvMj0cg3sPqvuL3x6AZBWaCSGW1kOjf+RMaGYOGbOZJsfHZjxYY1TLO3sx8hCpfkOp1supak Dl0EGG9vBiJ+Ul/APOzvguauwtkFRFOZ84RH2JqFwNLvuCBCCkQyL3S9a8NHgcumDmkb5t2Ru7u fD/nxN6C2qcmkHPzhU2mbqwPurusNZU5qPoaznGfiH+jZ9jILV23yUf10WDJayd+s X-Received: by 2002:a05:600c:1509:b0:495:3f5e:e7a with SMTP id 5b1f17b1804b1-4954a51dee6mr28993565e9.34.1784307732370; Fri, 17 Jul 2026 10:02:12 -0700 (PDT) Received: from localhost ([2804:7f0:b765:c3e:eeab:5970:313d:2132]) by smtp.gmail.com with ESMTPSA id 00721157ae682-81ef4050ce3sm14792547b3.15.2026.07.17.10.02.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Jul 2026 10:02:11 -0700 (PDT) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=UTF-8 Date: Fri, 17 Jul 2026 14:02:08 -0300 Message-Id: Subject: Re: [PATCH 3/4] selftests/bpf: Fix lsm_bdev dev_t encoding mismatch Cc: , , To: "Ihor Solodrai" , =?utf-8?b?UmljYXJkbyBCLiBNYXJsacOocmU=?= , "Alexei Starovoitov" , "Daniel Borkmann" , "Andrii Nakryiko" , "Eduard Zingerman" , "Kumar Kartikeya Dwivedi" , "Martin KaFai Lau" , "Song Liu" , "Yonghong Song" , "Jiri Olsa" , "Emil Tsalapatis" , "Shuah Khan" , =?utf-8?b?QWxleGlzIExvdGhvcsOpIChlQlBGIEZvdW5kYXRpb24p?= , "Christian Brauner" From: =?utf-8?b?UmljYXJkbyBCLiBNYXJsacOocmU=?= X-Mailer: aerc 0.21.0-146-g87073a0460e3-dirty References: <20260710-selftests-bpf_fixes-v1-0-aa24dfd6f4f9@suse.com> <20260710-selftests-bpf_fixes-v1-3-aa24dfd6f4f9@suse.com> <2088b8ed-c26c-4120-a3d6-8e6dfbf89f58@linux.dev> In-Reply-To: <2088b8ed-c26c-4120-a3d6-8e6dfbf89f58@linux.dev> On Thu Jul 16, 2026 at 6:11 PM -03, Ihor Solodrai wrote: > On 7/10/26 3:09 PM, Ricardo B. Marli=C3=A8re wrote: >> progs/lsm_bdev.c keys its verity_devices hashmap with the raw kernel dev= _t >> read straight off bdev->bd_dev, i.e. MKDEV(major, minor) =3D (major << 2= 0) | >> minor. prog_tests/lsm_bdev.c instead builds its lookup key with dev_key = =3D >> (__u32)st.st_rdev from stat(2), but the stat(2) syscall fills st_rdev vi= a >> the kernel's new_encode_dev(), a different bit layout: (minor & 0xff) | >> (major << 8) | ((minor & ~0xff) << 12). >>=20 >> For any device with a non-trivial major these two values differ, so the >> lookup can never find what the BPF program stored, and test_lsm_bdev() >> always fails with: >>=20 >> test_lsm_bdev:FAIL:map lookup unexpected error: -2 (errno 2) >>=20 >> Reconstruct the raw kernel dev_t from the decoded major/minor instead of >> casting st_rdev directly, restoring the layout the BPF program actually >> reads. >>=20 >> Fixes: 96f4c251a087 ("selftests/bpf: add block device management selftes= ts") >> Signed-off-by: Ricardo B. Marli=C3=A8re >> --- >> tools/testing/selftests/bpf/prog_tests/lsm_bdev.c | 3 ++- >> 1 file changed, 2 insertions(+), 1 deletion(-) >>=20 >> diff --git a/tools/testing/selftests/bpf/prog_tests/lsm_bdev.c b/tools/t= esting/selftests/bpf/prog_tests/lsm_bdev.c >> index a970798e1173..28bc4b117f41 100644 >> --- a/tools/testing/selftests/bpf/prog_tests/lsm_bdev.c >> +++ b/tools/testing/selftests/bpf/prog_tests/lsm_bdev.c >> @@ -17,6 +17,7 @@ >> #include >> #include >> #include >> +#include >> #include >> #include >> #include "lsm_bdev.skel.h" >> @@ -172,7 +173,7 @@ void test_lsm_bdev(void) >> if (!ASSERT_OK(stat(DM_DEV_PATH, &st), "stat dm dev")) >> goto remove_dm; >> =20 >> - dev_key =3D (__u32)st.st_rdev; >> + dev_key =3D (major(st.st_rdev) << 20) | minor(st.st_rdev); > > Acked-by: Ihor Solodrai > > nit: I wonder if there are other tests with this bug. Have you checked? I don't think there are. grepping for "map lookup unexpected error" in https://openqa.opensuse.org/tests/6106285/logfile?filename=3Dtest_progs.tap= .txt shows only lsm_bdev. Tumbleweed is 7.1.3 > >> =20 >> /* Look up the device in the BPF map and verify. */ >> err =3D bpf_map__lookup_elem(skel->maps.verity_devices, >>=20