From nobody Tue Sep 29 01:21:06 2026 Received: from mail-oa1-f44.google.com (mail-oa1-f44.google.com [209.85.160.44]) (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 DA23931B10B for ; Thu, 13 Aug 2026 22:00:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.160.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786658422; cv=none; b=rNF148JI/Cq6iG3HSVxI+37HDwYoCaj0Z3NB3U9pzS5pqk90CP+Y4qQh4ph8XlnnNd0RK7aIQbeUqDkhpydbiqks+PaiSn12rLmJrHEvb+3vQlHuGQtv8It+DdmwZTJqDR6OmbJO/SZ+XJG5/MzsZr1xX1DYvAScOKkZnqEuhk4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786658422; c=relaxed/simple; bh=mQcwQ1R3q9+w4Pnja3TW8A8KynezeEz74V7YlDB0Y3M=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=jlQgAQ9BujklDmuE64lnVmBWUEAz+bQfPh8+aMeuZ2+ThuucevwYBZ65shKm8hvfQHyIN+1AKgtTI/1hacmB5mlQnXUXzrx4ac9WnwxzCLNhlZF0zwzay7ytJb+o3iNhPX7f+qv3S3PHp4LUH6NC8IEZT1uRssLm+Y4x9EnJSec= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=marliere.net; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=marliere.net header.i=@marliere.net header.b=xEOmibtp; arc=none smtp.client-ip=209.85.160.44 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=marliere.net Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=marliere.net header.i=@marliere.net header.b="xEOmibtp" Received: by mail-oa1-f44.google.com with SMTP id 586e51a60fabf-4560d6f82edso265993fac.3 for ; Thu, 13 Aug 2026 15:00:20 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786658420; x=1787263220; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:dkim-signature:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=gw0jk3x9bl4CaiARThWQ74qNptN5vIYZqM7SLnsCmZ8=; b=NLGXgbekdAYVfgoWQ3LWDAKwp5eXn2est1kM58Tt9pQONc1+wadthQe0rxIbUZ0qld 8FPwjxMmvcDZrvSU0/tpv90pXirCC4a5Ja1YGXlFnu+dgMcZQ1f8eWACUX3s2RLuSPi3 pLk/Pl4ZgxQpNFnqdO8gpZUDq2IYXwH4hEndpigfc2U+xoENtePNltcAf2hee+PDePvi ahZxvWCzPQ1b1Ojylsh2QjP4jmCEeDfKunFy0jVQHzFuBgtW7zfWogCgvK/T7LYguFRY pJX/DJj6aueCC7f1swNlaSOXxLUrSXOUF2j7NfLKUVvMG2Ax0Ah7vn215u/qHqZv2Je0 L/ew== X-Forwarded-Encrypted: i=1; AHgh+RonEfImggMhyy7iPN/aSKuLhOzbmWXr2TciWYk+nRAdWv6zSFJAvTUZYiulJ50yoEQ0JBgHDSWQ9hVwmF8=@vger.kernel.org X-Gm-Message-State: AOJu0YxEaDlfWvbwqDZ443QO5bHH4cVfjRu2ol+zkcQbd3B6OYJCzRjs ZBHn78QCDl+uBTjMRmtENIq40Lq4tnzzZoUpeEs18L4WSn1ZYivxqIQd X-Gm-Gg: AR+sD10DIUQkS+QuBnSQRqf/p9Z8uwpOEe+UxV0xoHKqmb6zTNf8171LGEu4MkVQIQV xBegH9Jd5QkG0gAROm5JfRImcEA0sEhHaxnTMODUXrq9bCKBn1ZaXk0DSb9qIGj/2GAoGig/D3k dr+sRtn1K6a95lF6dIF7BkQo1CCmovOhOJnMt1xYtfEhls5LtYoOT4+J7D1UsBxoh88ioOUP07H Om9dmZYbQDg+xegku4obHwLx6TrTjDsDkrj7FRq3xqnxp2jGCp9KMxLgf8d+1X7X0LWT9cGLwy3 NQPP6bJzwv/V73UHrsCa+NT3XKn4ZB4FlDTZkkUGrh6X1eep5TL6nY2UVN8xRNaMIyj5B3z7uZX dbO9Btz+vyWOIaetmDVNQsbB4mOhZ941hVM6CcamxukscpoT3eiJfFQf8F4jD4STZyBgDglGf/S xZmu365ulma+vZTl2ZSMdjuPmZtrKsaN2y8807KV4yP1Vkq0RtJH/z7i/igw/haSUx1exH5kLXW pPeSUsZqBgBtfLbwW3J3IjZhBEuC2A81A2PHvFXynFmUT7jTR6fWJEeBG/spwdfSw== X-Received: by 2002:a05:6870:af0a:b0:459:fe2:ef54 with SMTP id 586e51a60fabf-45e91e603edmr1558193fac.1.1786658419871; Thu, 13 Aug 2026 15:00:19 -0700 (PDT) Received: from mail.marliere.net (137.65.66.34.bc.googleusercontent.com. [34.66.65.137]) by smtp.gmail.com with ESMTPSA id 586e51a60fabf-45e8fecb5d3sm767767fac.16.2026.08.13.15.00.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 13 Aug 2026 15:00:19 -0700 (PDT) Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id 71FBE616F5; Thu, 13 Aug 2026 22:00:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marliere.net; s=dkim; t=1786658418; h=from:subject:date:message-id:to:cc:mime-version:content-type: content-transfer-encoding:in-reply-to:references; bh=gw0jk3x9bl4CaiARThWQ74qNptN5vIYZqM7SLnsCmZ8=; b=xEOmibtpET6yaGoNK5uLJsjQDJA2I2uz1h19EanDFwiykdCRFCdrXPOfHxj5YeZs5lmjzv m8cyCF1v1VWsYa+7ou/I0FHmGCk6vd/wFmblCBS2iZUT+N2oHMJFsndmPt3UoQKFzazbhT ZWy7pMVM8gEj8y+1TtvAQsB4AkhPqVe1HaSQq7BXjKrWbSnLDwSdANk4xCWFDs4Pktso75 P+gh0a6YRgC3Dk0cvvFeO/H6tXX4VduMSWsFbfMQv1fH2mZ7OhZNn1mvtHbUSRdpjvl1qZ PaatT8V1Lr+reRo7LT0vivh9lPf1lG9w9rw/ATk9T+gYkiszPqkRCHrLl2RZLQ== From: =?utf-8?q?Ricardo_B=2E_Marli=C3=A8re_=28SUSE=29?= Date: Thu, 13 Aug 2026 19:00:02 -0300 Subject: [PATCH 7.1.y 1/4] selftests/xsk: fix too-many-frags multi-buffer Tx test Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260813-7-1-y-selftests-bpf-udp_xsk-v1-1-cd5c51e7dcec@marliere.net> References: <20260813-7-1-y-selftests-bpf-udp_xsk-v1-0-cd5c51e7dcec@marliere.net> In-Reply-To: <20260813-7-1-y-selftests-bpf-udp_xsk-v1-0-cd5c51e7dcec@marliere.net> To: Alexei Starovoitov , Daniel Borkmann , Andrii Nakryiko , Martin KaFai Lau , Eduard Zingerman , Kumar Kartikeya Dwivedi , Song Liu , Yonghong Song , Jiri Olsa , Shuah Khan , sashal@kernel.org, gregkh@linuxfoundation.org Cc: linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org, stable@vger.kernel.org, =?utf-8?q?Ricardo_B=2E_Marli=C3=A8re_=28SUSE=29?= , Maciej Fijalkowski , Stanislav Fomichev , Jakub Kicinski , Jason Xing X-Mailer: b4 0.16.0 X-Developer-Signature: v=1; a=openssh-sha256; t=1786658405; l=3121; i=ricardo@marliere.net; h=from:subject:message-id; bh=gKdhzmxSTTYP5JOO/AWbwaJnbrAMpVVoYH9yI484kK0=; b=U1NIU0lHAAAAAQAAADMAAAALc3NoLWVkMjU1MTkAAAAgguRCc5X8/UX9M40lkMnr//aFGOhce x5ezt8MFNUFlqYAAAAGcGF0YXR0AAAAAAAAAAZzaGE1MTIAAABTAAAAC3NzaC1lZDI1NTE5AAAA QFwLFJpIRUKR3XtAErPUIHJFDQFbQeJRaD11D1B0ee4BU8jxPLs6NQcaLR9XVLGoPmXaZsBcmAO vf7rDmDN2hwc= X-Developer-Key: i=ricardo@marliere.net; a=openssh; fpr=SHA256:pzhe0fJpYLz+3cZ33FFPhIfaUElk9CXPFFXmalIH+1g X-Last-TLS-Session-Version: TLSv1.3 From: Maciej Fijalkowski [ Upstream commit c5b1ca6a02886f00170ed91b757e244f23259e91 ] The too-many-frags test describes a packet that is valid from the Tx ring ownership point of view, but invalid for transmission because it exceeds the supported number of fragments. Keep the generated Tx descriptors valid so that __send_pkts() accounts them as outstanding descriptors that must be reclaimed through the CQ. Then mark the corresponding Rx packet invalid so the test still does not expect the oversized packet to appear on the receive side. Add a valid synchronization packet after the oversized packet so the test can verify that the Tx path drains the bad packet and resumes at the next packet boundary. Reviewed-by: Jason Xing Signed-off-by: Maciej Fijalkowski Acked-by: Stanislav Fomichev Link: https://patch.msgid.link/20260719135609.147823-6-maciej.fijalkowski@i= ntel.com Signed-off-by: Jakub Kicinski Signed-off-by: Ricardo B. Marli=C3=A8re (SUSE) --- tools/testing/selftests/bpf/prog_tests/test_xsk.c | 24 ++++++++++++++-----= ---- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/tools/testing/selftests/bpf/prog_tests/test_xsk.c b/tools/test= ing/selftests/bpf/prog_tests/test_xsk.c index 7950c504ed28..1c48a3b5ee73 100644 --- a/tools/testing/selftests/bpf/prog_tests/test_xsk.c +++ b/tools/testing/selftests/bpf/prog_tests/test_xsk.c @@ -2229,7 +2229,7 @@ int testapp_too_many_frags(struct test_spec *test) max_frags +=3D 1; } =20 - pkts =3D calloc(2 * max_frags + 2, sizeof(struct pkt)); + pkts =3D calloc(2 * max_frags + 3, sizeof(struct pkt)); if (!pkts) return TEST_FAILURE; =20 @@ -2247,24 +2247,30 @@ int testapp_too_many_frags(struct test_spec *test) } pkts[max_frags].options =3D 0; =20 - /* An invalid packet with the max amount of frags but signals packet - * continues on the last frag - */ - for (i =3D max_frags + 1; i < 2 * max_frags + 1; i++) { + /* An invalid packet with the max + 1 amount of frags */ + for (i =3D max_frags + 1; i < 2 * max_frags + 2; i++) { pkts[i].len =3D MIN_PKT_SIZE; pkts[i].options =3D XDP_PKT_CONTD; - pkts[i].valid =3D false; + pkts[i].valid =3D true; } + pkts[2 * max_frags + 1].options =3D 0; =20 /* Valid packet for synch */ - pkts[2 * max_frags + 1].len =3D MIN_PKT_SIZE; - pkts[2 * max_frags + 1].valid =3D true; + pkts[2 * max_frags + 2].len =3D MIN_PKT_SIZE; + pkts[2 * max_frags + 2].valid =3D true; =20 - if (pkt_stream_generate_custom(test, pkts, 2 * max_frags + 2)) { + if (pkt_stream_generate_custom(test, pkts, 2 * max_frags + 3)) { free(pkts); return TEST_FAILURE; } =20 + /* The generated Tx stream must keep the too-big packet valid so that + * __send_pkts() accounts its descriptors in outstanding_tx. The Rx + * stream, however, must not expect this packet on the wire. + */ + test->ifobj_rx->xsk->pkt_stream->pkts[2].valid =3D false; + test->ifobj_rx->xsk->pkt_stream->nb_valid_entries--; + ret =3D testapp_validate_traffic(test); free(pkts); return ret; --=20 2.55.0 From nobody Tue Sep 29 01:21:06 2026 Received: from mail-oa1-f46.google.com (mail-oa1-f46.google.com [209.85.160.46]) (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 899FF3C108F for ; Thu, 13 Aug 2026 22:00:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.160.46 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786658426; cv=none; b=tmQKtrl244nEkCVRB2A88XxIomOYei16J0I4aJTKsTXQK9Rfl0bymlg1Xef+X5+KTWBkZJ4jt5QH6hy5l4hwbzId0qL8bV6grCyi9YGsIcdUS7824LULQOAEH88MoQiuCo641D7cKr4jQ6t/ot912D9/v1bQtGvBaPIZHTsdvcA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786658426; c=relaxed/simple; bh=a2OSmh0AZi98/xngiEgf0IyijyL097hKaFeEEPXrQJs=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=o3JGBYHPzQSVPxmsOGqY5lUtU5CkEU2aM3w/5Oxua6Ra89hJWEcxmDtYbccXsnUE8GBlJf5TBFzXB7x6cjDiS6VvA495B+pxm0aLPFRuXUZde3P087pkCtPAC3uFQzwio45R9A7TjE1HgkW2HtNnOl3bSep7jFID+x46vR/0QIk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=marliere.net; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=marliere.net header.i=@marliere.net header.b=ADzyFmNc; arc=none smtp.client-ip=209.85.160.46 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=marliere.net Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=marliere.net header.i=@marliere.net header.b="ADzyFmNc" Received: by mail-oa1-f46.google.com with SMTP id 586e51a60fabf-43ccd4f6f6eso287534fac.0 for ; Thu, 13 Aug 2026 15:00:24 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786658423; x=1787263223; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:dkim-signature:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=7UPQuQnGTtX5sQqU130njMumgh3DmPJuNrxPRcf9XMc=; b=Lq1DILXMIE2RxYSeDUE8ZI+JctSwWRcY177vil/1gLzcthpClBtdPx9BK+6fZjTLy4 NRiLxsp+OJDmVTyPNyfa41ZrFnR/lG9UGvYNh2jEwtH3hP5t+s+HPftMatGhs4HEXPEv iokGFvCRCuEwi7VPmFbWkwVZYvRap+MSelt606+8lGR79S2eZi63ylYdI6azjrdS56UA ZHouhjGV+joLl8s/+xF9UloW9kpkLiPMhJ+cZxzg5AekslCgON1KYVm1Mmwxn40UtB5R PBHaGJ4jImsIw602yA0jqXnJ9ID5QVvOX+xTT5VcBPxn3PODMsyeWK9ncqByctJ/9ATI PLdQ== X-Forwarded-Encrypted: i=1; AHgh+RrPVNp5j2RsCIbQenAzQ5dPZcM0IGgaD7B2ZMDRccU69NLB/okfWzP61QQLwTxrgNzkBccwsC4O9Q+Cssg=@vger.kernel.org X-Gm-Message-State: AOJu0Ywo4o/RHOPj0DhXFKAj/KYXIJOlQcbfRgazHH4hAHZzNC0CnUey ryrKEnbQEPDoU4sfNQKkPfV9iPDNMjl6GGsRuvKmMJ08KTWdKmqoHUaA X-Gm-Gg: AR+sD13m+pSXLvNf4VtF01fay1jM293lpgVxcCGPEd2nChPBoMXYY1HE1l2yulrDEIL 6UT8Ny1SsfJ7DT9PeChR54o0YGnRt7zH9AmBSWAQAd3EPLjUPkhtlQLU1k4WSeHh896gNPKWlj2 cF8tB5MggMjEQO2DQe89REcCQHVeogaskVXyzC2vg4Gpg/Bj3xaL4njtC62x4Mh0Vs04bT9Hw80 AJyTnrKxo0gCkjDJYhkcbX7y35XD9aBuqwGL3YzMB2Ln6HEvA7FeMnMrRPSSPtzIyoJvIOBgGEk BS0C6peCtR+9rgat3gVqsdhtlTZiTU7f9UCqscMGn9HM+7qgE6Q+HUNwoPPN/0vA9eXwkp8Jxxg M4yBLZxr+jAqGYzEAcp/82HFr69t87BgR3KNC7SD/2cUxhk62fTQiUDZ5r1RPf4PHLfzSUwF8Vf PGJAPe2MhRC/GUs7i1wExmiCHfwGManZG5nvw1oPRwntVtCubKvbqRsv8SOHo3qlZvVrD/5SSRB +3TpWoQareuMFmyxBAlRh9+TSjWYF9ZLlvLGmDYks0NE0AkPEG88v6UKMnb4DZ8Oh2ZuEAsFFk2 X-Received: by 2002:a05:6870:2105:b0:455:9a0a:f40f with SMTP id 586e51a60fabf-45e91f93983mr1226393fac.12.1786658423477; Thu, 13 Aug 2026 15:00:23 -0700 (PDT) Received: from mail.marliere.net (137.65.66.34.bc.googleusercontent.com. [34.66.65.137]) by smtp.gmail.com with ESMTPSA id 586e51a60fabf-45e8f95c832sm759236fac.6.2026.08.13.15.00.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 13 Aug 2026 15:00:22 -0700 (PDT) Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id 9A78760CF1; Thu, 13 Aug 2026 22:00:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marliere.net; s=dkim; t=1786658421; h=from:subject:date:message-id:to:cc:mime-version:content-type: content-transfer-encoding:in-reply-to:references; bh=7UPQuQnGTtX5sQqU130njMumgh3DmPJuNrxPRcf9XMc=; b=ADzyFmNc1V9KQJFce5Y6ag7d3bjgzbPr5Zdi2Ungq0pY0En7FCAThbyDbhCk6K3XeBwMJu ewaiPa8bWiOGAG7HZ8duuEuLHFe33NeTp8YYHuY6oc/8fofk/BThhIiYcKXY10GqOiw11Y 3q7q1zYa32WHjfVbDt+JTvjwn7nx4SoNWt5+bRdGy7qIkPDVsv9oe+WFlPGZ00Yr1anztr ws4svmtKZvGnXfNtQ8illn0+lA7g1wKFDq5e17QXiXmnhnXAtLRBbe3XtU0xWgvEN8KtuG 5Uqf/GUHzYoXxEeMNPAsOqvJm6zQ5hzmcKA94ti/YEuy3NGkxlxlCtUsBZnEJA== From: =?utf-8?q?Ricardo_B=2E_Marli=C3=A8re_=28SUSE=29?= Date: Thu, 13 Aug 2026 19:00:03 -0300 Subject: [PATCH 7.1.y 2/4] selftests/xsk: account reclaimed invalid Tx descriptors Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260813-7-1-y-selftests-bpf-udp_xsk-v1-2-cd5c51e7dcec@marliere.net> References: <20260813-7-1-y-selftests-bpf-udp_xsk-v1-0-cd5c51e7dcec@marliere.net> In-Reply-To: <20260813-7-1-y-selftests-bpf-udp_xsk-v1-0-cd5c51e7dcec@marliere.net> To: Alexei Starovoitov , Daniel Borkmann , Andrii Nakryiko , Martin KaFai Lau , Eduard Zingerman , Kumar Kartikeya Dwivedi , Song Liu , Yonghong Song , Jiri Olsa , Shuah Khan , sashal@kernel.org, gregkh@linuxfoundation.org Cc: linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org, stable@vger.kernel.org, =?utf-8?q?Ricardo_B=2E_Marli=C3=A8re_=28SUSE=29?= , Maciej Fijalkowski , Stanislav Fomichev , Jakub Kicinski , Jason Xing X-Mailer: b4 0.16.0 X-Developer-Signature: v=1; a=openssh-sha256; t=1786658405; l=4693; i=ricardo@marliere.net; h=from:subject:message-id; bh=sCYMhfyzr1Xo+Pf6SRgXbqzjNg1WSOhwWZ0r6MIssc4=; b=U1NIU0lHAAAAAQAAADMAAAALc3NoLWVkMjU1MTkAAAAgguRCc5X8/UX9M40lkMnr//aFGOhce x5ezt8MFNUFlqYAAAAGcGF0YXR0AAAAAAAAAAZzaGE1MTIAAABTAAAAC3NzaC1lZDI1NTE5AAAA QGVdMnAlvL87QEe5HaYz8ifHCEINS8j4kq7F6Q/zPaUdQsOoQZdHJXc2IQALAwWp5MPzxjRPhVb eIvmDEKDC1wo= X-Developer-Key: i=ricardo@marliere.net; a=openssh; fpr=SHA256:pzhe0fJpYLz+3cZ33FFPhIfaUElk9CXPFFXmalIH+1g X-Last-TLS-Session-Version: TLSv1.3 From: Maciej Fijalkowski [ Upstream commit f49d99eaee7c32badc7ddfaecbb01ce4d037d695 ] Invalid Tx descriptors are now returned through the completion ring, regardless of whether they form a standalone packet or belong to an invalid multi-buffer packet. The selftests previously counted only descriptors belonging to valid packets, with a special exception for some invalid multi-buffer packets in verbatim streams. This undercounts completion entries when a standalone invalid descriptor or another invalid packet is reclaimed by the kernel. Keep valid_pkts as the number of packets expected on the Rx side, but count every descriptor submitted to the Tx ring in valid_frags, as every such descriptor is now expected to be returned through the completion ring. Make fragment counting in verbatim mode follow the packet boundary instead of stopping at the first invalid fragment. Update custom stream generation so an invalid middle fragment terminates the generated Rx packet while Tx completion accounting still covers the complete invalid packet. Also add explicit end fragments after invalid middle descriptors. This exercises the kernel drain logic and verifies that subsequent valid packets are not interpreted as continuations of the invalid packet. Reviewed-by: Jason Xing Signed-off-by: Maciej Fijalkowski Acked-by: Stanislav Fomichev Link: https://patch.msgid.link/20260719135609.147823-7-maciej.fijalkowski@i= ntel.com Signed-off-by: Jakub Kicinski Signed-off-by: Ricardo B. Marli=C3=A8re (SUSE) [ rbm: in testapp_invalid_desc_mb() hunk, use umem_size instead of umem_sz ] --- tools/testing/selftests/bpf/prog_tests/test_xsk.c | 26 ++++++++++++-------= ---- 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/tools/testing/selftests/bpf/prog_tests/test_xsk.c b/tools/test= ing/selftests/bpf/prog_tests/test_xsk.c index 1c48a3b5ee73..31bf8a3fcd66 100644 --- a/tools/testing/selftests/bpf/prog_tests/test_xsk.c +++ b/tools/testing/selftests/bpf/prog_tests/test_xsk.c @@ -414,14 +414,14 @@ static u32 pkt_nb_frags(u32 frame_size, struct pkt_st= ream *pkt_stream, struct pk } =20 /* Search for the end of the packet in verbatim mode */ - if (!pkt_continues(pkt->options) || !pkt->valid) + if (!pkt_continues(pkt->options)) return nb_frags; =20 next_frag =3D pkt_stream->current_pkt_nb; pkt++; while (next_frag++ < pkt_stream->nb_pkts) { nb_frags++; - if (!pkt_continues(pkt->options) || !pkt->valid) + if (!pkt_continues(pkt->options)) break; pkt++; } @@ -652,11 +652,11 @@ static struct pkt_stream *__pkt_stream_generate_custo= m(struct ifobject *ifobj, s if (!frame->valid || !pkt_continues(frame->options)) payload++; } else { - if (frame->valid) + if (frame->valid) { len +=3D frame->len; - if (frame->valid && pkt_continues(frame->options)) - continue; - + if (pkt_continues(frame->options)) + continue; + } pkt->pkt_nb =3D pkt_nb; pkt->len =3D len; pkt->valid =3D frame->valid; @@ -1236,10 +1236,9 @@ static int __send_pkts(struct ifobject *ifobject, st= ruct xsk_socket_info *xsk, b } } =20 - if (pkt && pkt->valid) { + if (pkt && pkt->valid) valid_pkts++; - valid_frags +=3D nb_frags; - } + valid_frags +=3D nb_frags; } =20 pthread_mutex_lock(&pacing_mutex); @@ -2075,13 +2074,16 @@ int testapp_invalid_desc_mb(struct test_spec *test) {0, 0, 0, false, 0}, /* Invalid address in the second frame */ {0, XSK_UMEM__LARGE_FRAME_SIZE, 0, false, XDP_PKT_CONTD}, - {umem_size, XSK_UMEM__LARGE_FRAME_SIZE, 0, false, XDP_PKT_CONTD}, + {umem_size * 2, XSK_UMEM__LARGE_FRAME_SIZE, 0, false, XDP_PKT_CONTD}, + {0, MIN_PKT_SIZE, 0, false, 0}, /* Invalid len in the middle */ {0, XSK_UMEM__LARGE_FRAME_SIZE, 0, false, XDP_PKT_CONTD}, {0, XSK_UMEM__INVALID_FRAME_SIZE, 0, false, XDP_PKT_CONTD}, + {0, MIN_PKT_SIZE, 0, false, 0}, /* Invalid options in the middle */ {0, XSK_UMEM__LARGE_FRAME_SIZE, 0, false, XDP_PKT_CONTD}, {0, XSK_UMEM__LARGE_FRAME_SIZE, 0, false, XSK_DESC__INVALID_OPTION}, + {0, MIN_PKT_SIZE, 0, false, 0}, /* Transmit 2 frags, receive 3 */ {0, XSK_UMEM__MAX_FRAME_SIZE, 0, true, XDP_PKT_CONTD}, {0, XSK_UMEM__MAX_FRAME_SIZE, 0, true, 0}, @@ -2093,8 +2095,8 @@ int testapp_invalid_desc_mb(struct test_spec *test) =20 if (umem->unaligned_mode) { /* Crossing a chunk boundary allowed */ - pkts[12].valid =3D true; - pkts[13].valid =3D true; + pkts[15].valid =3D true; + pkts[16].valid =3D true; } =20 test->mtu =3D MAX_ETH_JUMBO_SIZE; --=20 2.55.0 From nobody Tue Sep 29 01:21:06 2026 Received: from mail-oi1-f180.google.com (mail-oi1-f180.google.com [209.85.167.180]) (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 AA4C13C872C for ; Thu, 13 Aug 2026 22:00:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.180 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786658428; cv=none; b=TPv1xy9zbGqTrJ+NZ3ZxdrIOo8z4qijGhtLF0AIKQWwbgPu5gHd1tLUFq1vp+k215ILonwHadhaxYDPp2SsBc1J1wm+xPt13+EZzEcN77gqsKeHWFiBcocAikTFIqs7Hqaoom2SdV0IeH+y4OGR60n86iBHDAUOGvgucjba3MMc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786658428; c=relaxed/simple; bh=RMeGTOEbM8dieI8j+EDh5WMW8HN23IZPs2MVxpaGdhM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=kPfqrFPdODPUqSdbqAUqKYh29SkYSeOL10J+Mkhwh/VIzV2xCudZqmEZ5T6433nQLffeoGwRTUlYr3bKbmO68bKHRgjkD6fmVfFXRAmm97ZDvmCIaULExlqfo71liEFd/Yh4m6+WVp1COAem7ieW9RiMM/05j6juda09l8OhKBM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=marliere.net; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=marliere.net header.i=@marliere.net header.b=dwBQc+xE; arc=none smtp.client-ip=209.85.167.180 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=marliere.net Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=marliere.net header.i=@marliere.net header.b="dwBQc+xE" Received: by mail-oi1-f180.google.com with SMTP id 5614622812f47-49fa951b2c6so181852b6e.1 for ; Thu, 13 Aug 2026 15:00:26 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786658426; x=1787263226; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:dkim-signature:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=cPDr3ZJlS5GTxsyqliUMtwR1qFNPfxJRKflCt05bQVg=; b=HBgF4Z+4ltDGZO6U1nDBEUo92hXHPueI3gDw/642di8Ns6S2Vs+Tp8TKc8oNlSo0Sy tZVhEbWGWMaJ219ws3XwrO+NuToNDEmTrBRp2xOZ0dRVNvELqiY1mGb+J3hDrXIxE/4f iAyfva31ebUKIHE6SO9cphDk5NHe1TzvKhAo9PFlhjUpvFAWmlxtt278jWGb4/1WKsR9 mIvnIrXlayjRbJEBWlsDgnIEh9wayiBt7z8CG1qDbCZXY+caOAH4Xn7l9JzgIHabdQAa TqzIb14sV6sI+05fkzlcDFJAGISkNakVHRVUcshQzKQ454XNGUCSAFDCWAhYt7Y+SNp/ mF0A== X-Forwarded-Encrypted: i=1; AHgh+RoBf1DB/fCpximgrVrJbnewyupxXOyifIHkvSCcu5kNX1vcymYdQoHeXDE4GY0UnQ7l7lLfgaa/pEZJ2lQ=@vger.kernel.org X-Gm-Message-State: AOJu0YyCB87dM/jtQAY/Mqzj/9hyQNKGT5ObxL/zVWfIR1sFnmQgmlY8 Bo5kG7qUEhZPOAPA8m4DmM7KUKMG849GGYf2jrZ5vWNoJl4yJdK063Pc X-Gm-Gg: AR+sD10+3pw+Ttf9Xey0ySES6RG875oBrwnxglRnA+ouDIxzPZ6eNxCKlUi6/9XK8TZ BYDHO31tWYLwt6rrJsEU45pUirqtN4LPkJZR72aX/04h20kFI3a+fcJ1qaKem88PXVm9z2aL5/O cIvRU081nmtOB/W+E515eY/OrsqKgbiAMXPlMZ5UGtKT9Ila31O+l+onQAWBUFiZdXa/izodiDx UbVEuCoqXqPM2n7NKQ+MVx2wd4UvSZuhiuxqSNnogYz73d9/kbpFOQhRSnfMSuoyjOZOd3nArOw +uc+ejfNAwtek1GIdpN8w7VdqmGZ9qjwL6cbP2dcV0Enr51PfcC5/EtyQFkNyKmL9293AW0vSTz wGb/RJM3sfWkA0TROoc5TJ5YgTwwiAboRWZrARMnQtK/WGRX0Qfja+SsofLorDuUDxWlEgzeRPT BGVa5nSpts7oEmoWd+1x2MBgP2jVLyBqePOcpicxWLRiMEhjg2HKSd2G99wuP7Mq9NUZD9PQ00X 0wY5XsRkqSwY/qKcNNCdIAPYEX5BSlBsPKwh5cSQcpFiG90mrH5QzPg3fpCwbla/w== X-Received: by 2002:a05:6808:6808:b0:4a0:cf55:3cf0 with SMTP id 5614622812f47-4b24152d08fmr1116474b6e.9.1786658425531; Thu, 13 Aug 2026 15:00:25 -0700 (PDT) Received: from mail.marliere.net (137.65.66.34.bc.googleusercontent.com. [34.66.65.137]) by smtp.gmail.com with ESMTPSA id 5614622812f47-4b22cfb1ea5sm2686341b6e.16.2026.08.13.15.00.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 13 Aug 2026 15:00:25 -0700 (PDT) Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id 5D0C960B53; Thu, 13 Aug 2026 22:00:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marliere.net; s=dkim; t=1786658424; h=from:subject:date:message-id:to:cc:mime-version:content-type: content-transfer-encoding:in-reply-to:references; bh=cPDr3ZJlS5GTxsyqliUMtwR1qFNPfxJRKflCt05bQVg=; b=dwBQc+xEEO8Lem0UqHc7a+xb1HKh8t1Mon7PDhApH2sdDGzQNN5EesIsU0WgzfFujf1Nky pnx5hVPZHEZgrrs3N7GJSbbA7gU75kXjCI7xUMVfauJS00bXrzQgG7dePjwTMzCIaTj7bp 2dkv7FWVj4R1UTzaqB/4lPAaFWQHSvclGoYwwO+Vzuv97FnFjowZe0RL3ID4zePydq+yW1 se69TfHUF7ruxldEqvJ+Sq6GhY7Lt+qXvNRUxLV7ByPMx2F+B40VpvIfOt9RiMvBE+ah0o mrIctsR13Ahd8VURzv8kx6L80B09idparmt53RzLXnz1yFlpl7oKDLQuisAJWA== From: =?utf-8?q?Ricardo_B=2E_Marli=C3=A8re_=28SUSE=29?= Date: Thu, 13 Aug 2026 19:00:04 -0300 Subject: [PATCH 7.1.y 3/4] selftests/bpf: Ensure UDP sockets are bound Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260813-7-1-y-selftests-bpf-udp_xsk-v1-3-cd5c51e7dcec@marliere.net> References: <20260813-7-1-y-selftests-bpf-udp_xsk-v1-0-cd5c51e7dcec@marliere.net> In-Reply-To: <20260813-7-1-y-selftests-bpf-udp_xsk-v1-0-cd5c51e7dcec@marliere.net> To: Alexei Starovoitov , Daniel Borkmann , Andrii Nakryiko , Martin KaFai Lau , Eduard Zingerman , Kumar Kartikeya Dwivedi , Song Liu , Yonghong Song , Jiri Olsa , Shuah Khan , sashal@kernel.org, gregkh@linuxfoundation.org Cc: linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org, stable@vger.kernel.org, =?utf-8?q?Ricardo_B=2E_Marli=C3=A8re_=28SUSE=29?= , Michal Luczaj , Kuniyuki Iwashima , Jakub Sitnicki X-Mailer: b4 0.16.0 X-Developer-Signature: v=1; a=openssh-sha256; t=1786658405; l=1781; i=ricardo@marliere.net; h=from:subject:message-id; bh=e5SB35u/vSYta099gqNsW1ZXfGRvMi7KbdZiL0YQZvQ=; b=U1NIU0lHAAAAAQAAADMAAAALc3NoLWVkMjU1MTkAAAAgguRCc5X8/UX9M40lkMnr//aFGOhce x5ezt8MFNUFlqYAAAAGcGF0YXR0AAAAAAAAAAZzaGE1MTIAAABTAAAAC3NzaC1lZDI1NTE5AAAA QEyquNT6uZ2Fxa6C+zrowcs8rlT1fTP/cvbiH4TBJWGkEO3xPD/RHonB8/fso6lAWNK61MWpzww 2AlGkAzKf/A8= X-Developer-Key: i=ricardo@marliere.net; a=openssh; fpr=SHA256:pzhe0fJpYLz+3cZ33FFPhIfaUElk9CXPFFXmalIH+1g X-Last-TLS-Session-Version: TLSv1.3 From: Michal Luczaj [ Upstream commit 65f46946e951373275d793b35129a7c3ebeaaf51 ] Update sockmap_basic tests to bind sockets before they are used. This accommodates the recent change in sockmap that rejects unbound UDP sockets. Signed-off-by: Michal Luczaj Reviewed-by: Kuniyuki Iwashima Reviewed-by: Jakub Sitnicki Link: https://lore.kernel.org/bpf/20260707-sockmap-lookup-udp-leak-v4-1-f87= 8346f27ab@rbox.co Signed-off-by: Kumar Kartikeya Dwivedi Signed-off-by: Ricardo B. Marli=C3=A8re (SUSE) --- tools/testing/selftests/bpf/prog_tests/sockmap_basic.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/testing/selftests/bpf/prog_tests/sockmap_basic.c b/tools= /testing/selftests/bpf/prog_tests/sockmap_basic.c index d2846579285f..b4019d1a5575 100644 --- a/tools/testing/selftests/bpf/prog_tests/sockmap_basic.c +++ b/tools/testing/selftests/bpf/prog_tests/sockmap_basic.c @@ -807,7 +807,7 @@ static void test_sockmap_many_socket(void) return; } =20 - udp =3D xsocket(AF_INET, SOCK_DGRAM | SOCK_NONBLOCK, 0); + udp =3D socket_loopback(AF_INET, SOCK_DGRAM | SOCK_NONBLOCK); if (udp < 0) { close(dgram); close(tcp); @@ -876,7 +876,7 @@ static void test_sockmap_many_maps(void) return; } =20 - udp =3D xsocket(AF_INET, SOCK_DGRAM | SOCK_NONBLOCK, 0); + udp =3D socket_loopback(AF_INET, SOCK_DGRAM | SOCK_NONBLOCK); if (udp < 0) { close(dgram); close(tcp); @@ -947,7 +947,7 @@ static void test_sockmap_same_sock(void) return; } =20 - udp =3D xsocket(AF_INET, SOCK_DGRAM | SOCK_NONBLOCK, 0); + udp =3D socket_loopback(AF_INET, SOCK_DGRAM | SOCK_NONBLOCK); if (udp < 0) { close(dgram); close(tcp); --=20 2.55.0 From nobody Tue Sep 29 01:21:06 2026 Received: from mail-ot1-f51.google.com (mail-ot1-f51.google.com [209.85.210.51]) (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 90288369207 for ; Thu, 13 Aug 2026 22:00:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.51 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786658431; cv=none; b=mprcctx2/sBz+9xr6sDGCHlt+kdGKG08mAVa8AWV0C8mWl6Xqhqo6kB4vaQWluK/o4smIr2zFG3MiyUQfqK2GcHLhBYdZPrMXzGr65k8KMmYoZfaGkEJoJk4Nd5GFpgQR9kpbUCw+fVD4M/9BABW5vStQFkHT3BusF46xsTe8hU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786658431; c=relaxed/simple; bh=f4RXPk+DjT/+LqiMjRSNWPZkwaS0NXEvZjl+IFDH2qA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=CLYjPPwxgHYKj4N6j30OWv3Lodg2T0a3aFtQ1rK0rohoFvQetVetseV62fm0peoI5SGtlXH9pJL598yUu405Th5DOHYOQ9HJumF/qqeeg7jbrQW+EprTWoF3Ch2/XvhZDMFmkcTI/kJKJXfFbxL7j4CeXk88HJNtZ+fcXeFmfmQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=marliere.net; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=marliere.net header.i=@marliere.net header.b=JtK5PzfS; arc=none smtp.client-ip=209.85.210.51 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=marliere.net Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=marliere.net header.i=@marliere.net header.b="JtK5PzfS" Received: by mail-ot1-f51.google.com with SMTP id 46e09a7af769-7ec1e9d3359so352048a34.0 for ; Thu, 13 Aug 2026 15:00:29 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786658428; x=1787263228; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:dkim-signature:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=Ob0Z3C3rB+WUj6cs9SnhoedQYgo3LMIap3aBNXhslKg=; b=bWrK+4vssMyaLXuCI98CqCKblcRp2/F/L0JF43yAs5d5/BxrER2Vtixn9LpJosEk+k o8xglVMwA/I+l+saSDs+uJLoEPGNmMiDlxrLHHY+tdpcDA8O/n7NeuRYE6olpCukW2Qt cXnofrsStroNBA+3OdsXK3mIufjOqfZKS1As3rgIWkYne+qSJF70UxPXZMlt4mmobCAr V5lnPzFd026r1E1riUB74NM4iRepSWseeiEyN3E90IPgIZ6ZW1Q47yZ//GQPUVtH6+pv PrAUTK8Lklyi2YWfYFZPp4UKOIi9Gin0Lbkk8LU+op5HObRjEVMkbAheWS3UnSswSI2z 8kvQ== X-Forwarded-Encrypted: i=1; AHgh+Rrre43esMQd3UY3ZKc64F4quVI6cGh4xvRpSQ/QedPg8RpXCVfQsG5BwhQHrSl0NUabJOLcz78eUt4yRbM=@vger.kernel.org X-Gm-Message-State: AOJu0YwdmYK85Zy5eGjHBkYgb7SYQimVBrdp8hi7ckxYaQXcJJlnqQoK rYY3jKWTGuAxDpBktjoYTf6I6mtKOzjN0OFGGky4brYZK7MwBoWnX0GP X-Gm-Gg: AR+sD120vRV2JB1rlucigQ9sUF3kQmJqNcaxcnYzoMAShiOCh9DvNUojCQZdb0nTkYc FTRXDYtYHCZrB0dQ7nNhkfkpzUeNoHvgjXTiOA0c60HJzEfWgdwzzWPXfn5DFU9E0v5beBJrwR5 2gNcX24l+mI2X1F6zke3+3C04EpWEUlgXIBvm7MxrrXOLEWRPD9gSv9MOQprCjq5euOJF69jB3O +9Kzw6IWBPFFuBwX+LPEboyiswyHb4u3yop0ULJI75hhxETPSzFFli4W16McJV67REssRfGyiOv 83Oj1N+gPbT5MwtuTDt+hiTtA4bROkn2wIC+ExFwoiYdCgO5jrWsNTGZEWhM0FyU0j+fKUEEY31 GJIKPc8F2C3vLLfAyeb6U5rubZyZPluoEQZ0lNAbwE5c3qCiCpnuTxuk2xlTIUbi56WbmoaLAxf mXQsVrRjtsZr8/Y6uJcIhlD68XUCu8wA6xKupeyrEuODu7q4J4TgHLjbTEHYxe42qisgEGjR728 vNTlAdjvIAPKS08P1cQuWaXKTSkON+BLHcNkxa6PDCndUSqqGwmyggRpRHZ24lkDA== X-Received: by 2002:a05:6830:67d9:b0:7d7:58b0:7685 with SMTP id 46e09a7af769-7f3de65011cmr878478a34.13.1786658428265; Thu, 13 Aug 2026 15:00:28 -0700 (PDT) Received: from mail.marliere.net (137.65.66.34.bc.googleusercontent.com. [34.66.65.137]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-7f3c9e23b6fsm3274625a34.25.2026.08.13.15.00.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 13 Aug 2026 15:00:27 -0700 (PDT) Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id 5317760B53; Thu, 13 Aug 2026 22:00:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marliere.net; s=dkim; t=1786658426; h=from:subject:date:message-id:to:cc:mime-version:content-type: content-transfer-encoding:in-reply-to:references; bh=Ob0Z3C3rB+WUj6cs9SnhoedQYgo3LMIap3aBNXhslKg=; b=JtK5PzfSxlggPYxG39CS2LwWmcY09hVT4nbQof9gQDYdmoNozyxS4r0XphDaFEtqcK+F61 /qygU/Bfq68LermI/jAGU2xtwdtwHs5ME/KML8AEdm74DzKTOi1Z/V6F8w2xYY2IK9Bs3t 3ajDRnNc2abldtcaS2yMF9zRgjlzWAktDda88RHS8dzepr3uQjJSj/mm0zSylciqOvPwYH OvSdSBlJV6GAlPkKu324q/92ghC1JCZrdBm4AOoKwPAWYPD7wkVVXz9o2HxT02UAUj/rE6 XwX99eBKRhVZ8oYYzJTZBmB8Rra4HnJPH+Axl8DfjIhdB6IppZgsyUxV8KcP4w== From: =?utf-8?q?Ricardo_B=2E_Marli=C3=A8re_=28SUSE=29?= Date: Thu, 13 Aug 2026 19:00:05 -0300 Subject: [PATCH 7.1.y 4/4] selftests/bpf: Adapt sockmap update error handling Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260813-7-1-y-selftests-bpf-udp_xsk-v1-4-cd5c51e7dcec@marliere.net> References: <20260813-7-1-y-selftests-bpf-udp_xsk-v1-0-cd5c51e7dcec@marliere.net> In-Reply-To: <20260813-7-1-y-selftests-bpf-udp_xsk-v1-0-cd5c51e7dcec@marliere.net> To: Alexei Starovoitov , Daniel Borkmann , Andrii Nakryiko , Martin KaFai Lau , Eduard Zingerman , Kumar Kartikeya Dwivedi , Song Liu , Yonghong Song , Jiri Olsa , Shuah Khan , sashal@kernel.org, gregkh@linuxfoundation.org Cc: linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org, stable@vger.kernel.org, =?utf-8?q?Ricardo_B=2E_Marli=C3=A8re_=28SUSE=29?= , Michal Luczaj , Kuniyuki Iwashima , Jakub Sitnicki X-Mailer: b4 0.16.0 X-Developer-Signature: v=1; a=openssh-sha256; t=1786658405; l=2951; i=ricardo@marliere.net; h=from:subject:message-id; bh=daM25mJqeCkkst7bMwP8EsNfCCYMsTYMH8Ejt4bMwIU=; b=U1NIU0lHAAAAAQAAADMAAAALc3NoLWVkMjU1MTkAAAAgguRCc5X8/UX9M40lkMnr//aFGOhce x5ezt8MFNUFlqYAAAAGcGF0YXR0AAAAAAAAAAZzaGE1MTIAAABTAAAAC3NzaC1lZDI1NTE5AAAA QJxktk0EEhkgQmlas4sb6c2fSVPWUAA2GpVOf+mstP82e2srCamrmcX9/VOLrESp6J2JxDg/k1p tmbSAugWULQ8= X-Developer-Key: i=ricardo@marliere.net; a=openssh; fpr=SHA256:pzhe0fJpYLz+3cZ33FFPhIfaUElk9CXPFFXmalIH+1g X-Last-TLS-Session-Version: TLSv1.3 From: Michal Luczaj [ Upstream commit 954b24d7601a93b6089cd75397370c51674d7893 ] Update sockmap_listen to accommodate the recent change in sockmap that rejects unbound UDP sockets. TCP: Reject unbound and bound (unless established or listening). UDP: Accept only bound sockets. While at it, migrate to ASSERT_* and enforce reverse xmas tree. Signed-off-by: Michal Luczaj Reviewed-by: Kuniyuki Iwashima Reviewed-by: Jakub Sitnicki Link: https://lore.kernel.org/bpf/20260707-sockmap-lookup-udp-leak-v4-3-f87= 8346f27ab@rbox.co Signed-off-by: Kumar Kartikeya Dwivedi Signed-off-by: Ricardo B. Marli=C3=A8re (SUSE) --- .../selftests/bpf/prog_tests/sockmap_listen.c | 21 +++++++++++------= ---- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/tools/testing/selftests/bpf/prog_tests/sockmap_listen.c b/tool= s/testing/selftests/bpf/prog_tests/sockmap_listen.c index cc0c68bab907..1c96a3cf4b97 100644 --- a/tools/testing/selftests/bpf/prog_tests/sockmap_listen.c +++ b/tools/testing/selftests/bpf/prog_tests/sockmap_listen.c @@ -53,8 +53,8 @@ static void test_insert_opened(struct test_sockmap_listen= *skel __always_unused, int family, int sotype, int mapfd) { u32 key =3D 0; - u64 value; int err, s; + u64 value; =20 s =3D xsocket(family, sotype, 0); if (s =3D=3D -1) @@ -63,11 +63,8 @@ static void test_insert_opened(struct test_sockmap_liste= n *skel __always_unused, errno =3D 0; value =3D s; err =3D bpf_map_update_elem(mapfd, &key, &value, BPF_NOEXIST); - if (sotype =3D=3D SOCK_STREAM) { - if (!err || errno !=3D EOPNOTSUPP) - FAIL_ERRNO("map_update: expected EOPNOTSUPP"); - } else if (err) - FAIL_ERRNO("map_update: expected success"); + ASSERT_ERR(err, "map_update"); + ASSERT_EQ(errno, EOPNOTSUPP, "errno"); xclose(s); } =20 @@ -77,8 +74,8 @@ static void test_insert_bound(struct test_sockmap_listen = *skel __always_unused, struct sockaddr_storage addr; socklen_t len =3D 0; u32 key =3D 0; - u64 value; int err, s; + u64 value; =20 init_addr_loopback(family, &addr, &len); =20 @@ -93,8 +90,12 @@ static void test_insert_bound(struct test_sockmap_listen= *skel __always_unused, errno =3D 0; value =3D s; err =3D bpf_map_update_elem(mapfd, &key, &value, BPF_NOEXIST); - if (!err || errno !=3D EOPNOTSUPP) - FAIL_ERRNO("map_update: expected EOPNOTSUPP"); + if (sotype =3D=3D SOCK_STREAM) { + ASSERT_ERR(err, "map_update"); + ASSERT_EQ(errno, EOPNOTSUPP, "errno"); + } else { + ASSERT_OK(err, "map_update"); + } close: xclose(s); } @@ -1289,7 +1290,7 @@ static void test_ops(struct test_sockmap_listen *skel= , struct bpf_map *map, /* insert */ TEST(test_insert_invalid), TEST(test_insert_opened), - TEST(test_insert_bound, SOCK_STREAM), + TEST(test_insert_bound), TEST(test_insert), /* delete */ TEST(test_delete_after_insert), --=20 2.55.0