Re: [PATCH v6 6/6] selftests/bpf: tc_tunnel - validate decap GSO and encapsulation state
"Hudson, Nick" <[email protected]> Tue, 19 May 2026 10:52:12 +0000
| Newsgroups | dev.linux.lists.sashiko,org.kernel.vger.bpf |
|---|---|
| Message-ID | <[email protected]> |
--Apple-Mail=_CB17F43A-6A3E-4102-B526-CE9D5AD217C4 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 > On May 5, 2026, at 5:14=E2=80=AFAM, [email protected] wrote: >=20 > !-------------------------------------------------------------------| > This Message Is =46rom an External Sender > This message came from outside your organization. > |-------------------------------------------------------------------! >=20 > Thank you for your contribution! Sashiko AI review found 2 potential = issue(s) to consider: > - [High] Pointer arithmetic `kskb->head + kskb->end` causes build = failures and runtime logic errors on 32-bit kernels. > - [Medium] Missing kernel feature causes test to fail instead of skip, = breaking CI on older kernels. > -- >=20 > commit f73fb4725baa7b601a1b82c32e5095c6b4294f5c > Author: Nick Hudson <[email protected]> >=20 > selftests/bpf: tc_tunnel - validate decap GSO and encapsulation state >=20 > This commit enhances the tc_tunnel selftest to validate post-decap = tunnel > state for both GSO and non-GSO packets, and checks IPXIP decap for = IPIP/SIT > paths. >=20 >> diff --git a/tools/testing/selftests/bpf/progs/test_tc_tunnel.c = b/tools/testing/selftests/bpf/progs/test_tc_tunnel.c >> index 7376df405a6b..853bca962910 100644 >> --- a/tools/testing/selftests/bpf/progs/test_tc_tunnel.c >> +++ b/tools/testing/selftests/bpf/progs/test_tc_tunnel.c > [ ... ] >> @@ -621,6 +645,11 @@ static int decap_internal(struct __sk_buff *skb, = int off, int len, char proto) >> break; >> case IPPROTO_GRE: >> olen +=3D sizeof(struct gre_hdr); >> + if (!bpf_core_enum_value_exists(enum bpf_adj_room_flags, >> + BPF_F_ADJ_ROOM_DECAP_L4_GRE)) >> + return TC_ACT_SHOT; >=20 > If the kernel is missing support for these new decapsulation flags, = will > returning TC_ACT_SHOT cause the test harness to time out and fail the = test? >=20 > Since selftests often run on older kernels, should missing features = gracefully > skip the test instead of failing it to prevent false positives and CI > breakages on stable or LTS branches? The current TC_ACT_SHOT fallback prevents silent passes, but it does = cause affected subtests to fail on kernels without the new decap flags. = We should move feature gating to prog_tests and skip unsupported = subtests there, so older kernels report SKIP instead of FAIL while = preserving strict checks when the feature exists. >=20 > [ ... ] >> @@ -655,6 +688,40 @@ static int decap_internal(struct __sk_buff *skb, = int off, int len, char proto) >> if (bpf_skb_adjust_room(skb, -olen, BPF_ADJ_ROOM_MAC, flags)) >> return TC_ACT_SHOT; >>=20 >> + kskb =3D bpf_cast_to_kern_ctx(skb); >> + shinfo =3D bpf_core_cast(kskb->head + kskb->end, struct = skb_shared_info); >=20 > Will this arithmetic work correctly on 32-bit kernels? >=20 > On 64-bit architectures, sk_buff_data_t is an integer offset, so > kskb->head + kskb->end works. However, on 32-bit platforms, = sk_buff_data_t is > a pointer (unsigned char *), making the addition of two pointers = invalid C and > causing build failures. >=20 > Furthermore, even if cross-compiled with a 64-bit vmlinux.h, adding > kskb->head to an absolute kskb->end pointer would yield an invalid = address at > runtime. Martin previous replied "Other tests have been using it to get shinfo already. I would leave it = as is. If it really would be needed to run and compile on 32-bit in the future, it could use bpf_core_field_size(kskb->end) and then do things = differently.=E2=80=9D To this. >=20 > --=20 > Sashiko AI review =C2=B7 = https://urldefense.com/v3/__https://sashiko.dev/*/patchset/20260504101759.= [email protected]?part=3D6__;Iw!!GjvTz_vk!VFiErP1-AQql4LyaLTqxj= mLQFQ7MMBQ5-R9rsHjqekoHUFNBl0WsEAX6ynWPASieLSi7E1DjAA-Rf64aLeCR$ --Apple-Mail=_CB17F43A-6A3E-4102-B526-CE9D5AD217C4 Content-Disposition: attachment; filename="smime.p7s" Content-Type: application/pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCCCc8w ggShMIIESKADAgECAhMxAAAAIa0XYPGypwcKAAAAAAAhMAoGCCqGSM49BAMCMD8xITAfBgNVBAoT GEFrYW1haSBUZWNobm9sb2dpZXMgSW5jLjEaMBgGA1UEAxMRQWthbWFpQ29ycFJvb3QtRzEwHhcN MjQxMTIxMTgzNzUyWhcNMzQxMTIxMTg0NzUyWjA8MSEwHwYDVQQKExhBa2FtYWkgVGVjaG5vbG9n aWVzIEluYy4xFzAVBgNVBAMTDkFrYW1haUNsaWVudENBMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcD QgAEjkdeMHsSTytADJ7eJ+O+5mpBfm9hVC6Cg9Wf+ER8HXid3E68IHjcCTNFSiezqYclAnIalS1I cl6hRFZiacQkd6OCAyQwggMgMBIGCSsGAQQBgjcVAQQFAgMBAAEwIwYJKwYBBAGCNxUCBBYEFOa0 4dX2BYnqjkbEVEwLgf7BQJ7ZMB0GA1UdDgQWBBS2N+ieDVUAjPmykf1ahsljEXmtXDCBrwYDVR0g BIGnMIGkMIGhBgsqAwSPTgEJCQgBATCBkTBYBggrBgEFBQcCAjBMHkoAQQBrAGEAbQBhAGkAIABD AGUAcgB0AGkAZgBpAGMAYQB0AGUAIABQAHIAYQBjAHQAaQBjAGUAIABTAHQAYQB0AGUAbQBlAG4A dDA1BggrBgEFBQcCARYpaHR0cDovL2FrYW1haWNybC5ha2FtYWkuY29tL0FrYW1haUNQUy5wZGYw bAYDVR0lBGUwYwYIKwYBBQUHAwIGCCsGAQUFBwMEBgorBgEEAYI3FAICBgorBgEEAYI3CgMEBgor BgEEAYI3CgMMBggrBgEFBQcDBwYIKwYBBQUHAwkGCSsGAQQBgjcVBQYKKwYBBAGCNxQCATAZBgkr BgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAfBgNV HSMEGDAWgBStAYfq3FmusRM5lU0PV6Akhot7vTCBgAYDVR0fBHkwdzB1oHOgcYYxaHR0cDovL2Fr YW1haWNybC5ha2FtYWkuY29tL0FrYW1haUNvcnBSb290LUcxLmNybIY8aHR0cDovL2FrYW1haWNy bC5kZncwMS5jb3JwLmFrYW1haS5jb20vQWthbWFpQ29ycFJvb3QtRzEuY3JsMIHIBggrBgEFBQcB AQSBuzCBuDA9BggrBgEFBQcwAoYxaHR0cDovL2FrYW1haWNybC5ha2FtYWkuY29tL0FrYW1haUNv cnBSb290LUcxLmNydDBIBggrBgEFBQcwAoY8aHR0cDovL2FrYW1haWNybC5kZncwMS5jb3JwLmFr YW1haS5jb20vQWthbWFpQ29ycFJvb3QtRzEuY3J0MC0GCCsGAQUFBzABhiFodHRwOi8vYWthbWFp b2NzcC5ha2FtYWkuY29tL29jc3AwCgYIKoZIzj0EAwIDRwAwRAIgaUoJ7eBk/qNcBVTJW5NC4NsO 6j4/6zQoKeKgOpeiXQUCIGkbSN83n1mMURZIK92KFRtn2X1nrZ7rcNuAQD5bvH1bMIIFJjCCBMyg AwIBAgITFwALeewU5YRKbvcMWwABAAt57DAKBggqhkjOPQQDAjA8MSEwHwYDVQQKExhBa2FtYWkg VGVjaG5vbG9naWVzIEluYy4xFzAVBgNVBAMTDkFrYW1haUNsaWVudENBMB4XDTI2MDMyMDEzNDgw MloXDTI4MDMxOTEzNDgwMlowUDEZMBcGA1UECxMQTWFjQm9vayBQcm8tM1FIVDEQMA4GA1UEAxMH bmh1ZHNvbjEhMB8GCSqGSIb3DQEJARYSbmh1ZHNvbkBha2FtYWkuY29tMIIBIjANBgkqhkiG9w0B AQEFAAOCAQ8AMIIBCgKCAQEAx+gvYqVaQAmc/yNlMv3t5CK6FN7++3ZChJpOElnFyZWj3h+VwSqN 5WD4VQn5DL515KovgCiv63DeQ1NuXNu3XKKeakHyssixhIL2hqjlPFnsrwXJ2R9B9hAGIiOBy2rK Var+w87AFUZ70jsZlI70IBnJOYsPYnZRmXBytTxVWk9V7Nnh10RuUfkZE2Ry+P18Z7glHYoQeksi hz/9uqRUEqt23qDYBR1J7bB+SSW5A3LmoTEugWYzayxb9iM0vVleEHqeuN5nihGn8Y7nIrs5sIo8 6AG2Bjl0O2VgWWVfqhl9IMQlx1ZxHAicuMvDN49LD1yMkqx+LeBLboiFQQ0MVQIDAQABo4ICzDCC AsgwCwYDVR0PBAQDAgeAMCkGA1UdJQQiMCAGCCsGAQUFBwMCBggrBgEFBQcDBAYKKwYBBAGCNwoD BDAdBgNVHQ4EFgQUD8PIZa7GFc+oX4RLtUq8oUrOL/IwRgYDVR0RBD8wPaAnBgorBgEEAYI3FAID oBkMF25odWRzb25AY29ycC5ha2FtYWkuY29tgRJuaHVkc29uQGFrYW1haS5jb20wHwYDVR0jBBgw FoAUtjfong1VAIz5spH9WobJYxF5rVwwgYAGA1UdHwR5MHcwdaBzoHGGMWh0dHA6Ly9ha2FtYWlj cmwuYWthbWFpLmNvbS9Ba2FtYWlDbGllbnRDQSgxKS5jcmyGPGh0dHA6Ly9ha2FtYWljcmwuZGZ3 MDEuY29ycC5ha2FtYWkuY29tL0FrYW1haUNsaWVudENBKDEpLmNybDCByAYIKwYBBQUHAQEEgbsw gbgwPQYIKwYBBQUHMAKGMWh0dHA6Ly9ha2FtYWljcmwuYWthbWFpLmNvbS9Ba2FtYWlDbGllbnRD QSgxKS5jcnQwSAYIKwYBBQUHMAKGPGh0dHA6Ly9ha2FtYWljcmwuZGZ3MDEuY29ycC5ha2FtYWku Y29tL0FrYW1haUNsaWVudENBKDEpLmNydDAtBggrBgEFBQcwAYYhaHR0cDovL2FrYW1haW9jc3Au YWthbWFpLmNvbS9vY3NwMDsGCSsGAQQBgjcVBwQuMCwGJCsGAQQBgjcVCILO5TqHuNQtgYWLB6Lj IYbSD4FJhaXDEJrVfwIBZAIBUzA1BgkrBgEEAYI3FQoEKDAmMAoGCCsGAQUFBwMCMAoGCCsGAQUF BwMEMAwGCisGAQQBgjcKAwQwRAYJKoZIhvcNAQkPBDcwNTAOBggqhkiG9w0DAgICAIAwDgYIKoZI hvcNAwQCAgCAMAcGBSsOAwIHMAoGCCqGSIb3DQMHMAoGCCqGSM49BAMCA0gAMEUCIBZ79THtRc/r DXpg8rSeL4tPy9/eLjXnJvYW5Ek2SUJ8AiEA5j0Wa0K9P2Vumn7N4F5MpbHW2t/kxsdwUu2Vzp6S 5BUxggHpMIIB5QIBATBTMDwxITAfBgNVBAoTGEFrYW1haSBUZWNobm9sb2dpZXMgSW5jLjEXMBUG A1UEAxMOQWthbWFpQ2xpZW50Q0ECExcAC3nsFOWESm73DFsAAQALeewwDQYJYIZIAWUDBAIBBQCg aTAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0yNjA1MTkxMDUyMDJa MC8GCSqGSIb3DQEJBDEiBCBZ1gtm8txaqpZ0Jrhy8ng01iHn8/FUJ1ozlg5YhqyfPDANBgkqhkiG 9w0BAQsFAASCAQBLSUIZjCOdqkRl9WPcxOy390Rgr0wdHxYdUsAN/R1wZCjp2wTcD9EI4qJMgPfO tkXSC9dw/w0Cte4v4CgdgYC37wRQcA+l0BZqUBD7LcZtz2al7KlaGleb+vScPoE4sk+3JwGgsRVI 7/K34A7KKkh9DJBdJgHLclFWA0/yNfAUcp1sIoMyjbFlFZejBfl2q1c9qV0KL03+k5XfMwnubA5a U/f2exJUwOjgRvAZlI+Ol0N9cvLL5kTAjD1XgSmNd9Ca39na832AbEkRQd4ngVwiVp6GoM1RA1S3 z740uwKTQ6fVC7L0B3FiVV3gQgwJBTfGwkMOdcSohppuVuz4UkaTAAAAAAAA --Apple-Mail=_CB17F43A-6A3E-4102-B526-CE9D5AD217C4--