-
Notifications
You must be signed in to change notification settings - Fork 54.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update #347
base: master
Are you sure you want to change the base?
Update #347
Conversation
Update the master repo
This repo is mirror-only - nothing will be accepted here for legitimate reasons. Please see:
|
Check if there are valid length of bytes to transfer before starting dma. without this check we can see below kernel warning when we try to map a zero size buffers. ------------[ cut here ]------------ WARNING: CPU: 0 PID: 0 at drivers/iommu/dma-iommu.c:1046 iommu_dma_unmap_page+0xe0/0xfc Modules linked in: CPU: 0 PID: 0 Comm: swapper/0 Tainted: G W 6.3.0-rc1-dirty torvalds#347 Hardware name: Qualcomm Technologies, Inc. Robotics RB5 (DT) pstate: 804000c5 (Nzcv daIF +PAN -UAO -TCO -DIT -SSBS BTYPE=--) pc : iommu_dma_unmap_page+0xe0/0xfc lr : iommu_dma_unmap_page+0x38/0xfc ... Call trace: iommu_dma_unmap_page+0xe0/0xfc dma_unmap_page_attrs+0x30/0x1ec geni_se_tx_dma_unprep+0x58/0x80 qcom_geni_serial_isr+0x350/0x750 __handle_irq_event_percpu+0x58/0x148 handle_irq_event_percpu+0x18/0x4c handle_irq_event+0x48/0x88 handle_fasteoi_irq+0xb0/0x130 generic_handle_domain_irq+0x2c/0x44 gic_handle_irq+0xd4/0x140 call_on_irq_stack+0x24/0x4c do_interrupt_handler+0x80/0x84 el1_interrupt+0x38/0x6c el1h_64_irq_handler+0x18/0x24 el1h_64_irq+0x64/0x68 cpuidle_enter_state+0x1e4/0x310 cpuidle_enter+0x3c/0x54 call_cpuidle+0x1c/0x40 do_idle+0x204/0x260 cpu_startup_entry+0x28/0x2c kernel_init+0x0/0x12c arch_post_acpi_subsys_init+0x0/0x8 start_kernel+0x3cc/0x74c __primary_switched+0xbc/0xc4 Fixes: 2aaa43c ("tty: serial: qcom-geni-serial: add support for serial engine DMA") Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Enable CPU v4 instruction tests for arm64. Below are the test results from BPF test_progs selftests: # ./test_progs -t ldsx_insn,verifier_sdiv,verifier_movsx,verifier_ldsx,verifier_gotol,verifier_bswap torvalds#115/1 ldsx_insn/map_val and probed_memory:OK torvalds#115/2 ldsx_insn/ctx_member_sign_ext:OK torvalds#115/3 ldsx_insn/ctx_member_narrow_sign_ext:OK torvalds#115 ldsx_insn:OK torvalds#302/1 verifier_bswap/BSWAP, 16:OK torvalds#302/2 verifier_bswap/BSWAP, 16 @unpriv:OK torvalds#302/3 verifier_bswap/BSWAP, 32:OK torvalds#302/4 verifier_bswap/BSWAP, 32 @unpriv:OK torvalds#302/5 verifier_bswap/BSWAP, 64:OK torvalds#302/6 verifier_bswap/BSWAP, 64 @unpriv:OK torvalds#302 verifier_bswap:OK torvalds#316/1 verifier_gotol/gotol, small_imm:OK torvalds#316/2 verifier_gotol/gotol, small_imm @unpriv:OK torvalds#316 verifier_gotol:OK torvalds#324/1 verifier_ldsx/LDSX, S8:OK torvalds#324/2 verifier_ldsx/LDSX, S8 @unpriv:OK torvalds#324/3 verifier_ldsx/LDSX, S16:OK torvalds#324/4 verifier_ldsx/LDSX, S16 @unpriv:OK torvalds#324/5 verifier_ldsx/LDSX, S32:OK torvalds#324/6 verifier_ldsx/LDSX, S32 @unpriv:OK torvalds#324/7 verifier_ldsx/LDSX, S8 range checking, privileged:OK torvalds#324/8 verifier_ldsx/LDSX, S16 range checking:OK torvalds#324/9 verifier_ldsx/LDSX, S16 range checking @unpriv:OK torvalds#324/10 verifier_ldsx/LDSX, S32 range checking:OK torvalds#324/11 verifier_ldsx/LDSX, S32 range checking @unpriv:OK torvalds#324 verifier_ldsx:OK torvalds#335/1 verifier_movsx/MOV32SX, S8:OK torvalds#335/2 verifier_movsx/MOV32SX, S8 @unpriv:OK torvalds#335/3 verifier_movsx/MOV32SX, S16:OK torvalds#335/4 verifier_movsx/MOV32SX, S16 @unpriv:OK torvalds#335/5 verifier_movsx/MOV64SX, S8:OK torvalds#335/6 verifier_movsx/MOV64SX, S8 @unpriv:OK torvalds#335/7 verifier_movsx/MOV64SX, S16:OK torvalds#335/8 verifier_movsx/MOV64SX, S16 @unpriv:OK torvalds#335/9 verifier_movsx/MOV64SX, S32:OK torvalds#335/10 verifier_movsx/MOV64SX, S32 @unpriv:OK torvalds#335/11 verifier_movsx/MOV32SX, S8, range_check:OK torvalds#335/12 verifier_movsx/MOV32SX, S8, range_check @unpriv:OK torvalds#335/13 verifier_movsx/MOV32SX, S16, range_check:OK torvalds#335/14 verifier_movsx/MOV32SX, S16, range_check @unpriv:OK torvalds#335/15 verifier_movsx/MOV32SX, S16, range_check 2:OK torvalds#335/16 verifier_movsx/MOV32SX, S16, range_check 2 @unpriv:OK torvalds#335/17 verifier_movsx/MOV64SX, S8, range_check:OK torvalds#335/18 verifier_movsx/MOV64SX, S8, range_check @unpriv:OK torvalds#335/19 verifier_movsx/MOV64SX, S16, range_check:OK torvalds#335/20 verifier_movsx/MOV64SX, S16, range_check @unpriv:OK torvalds#335/21 verifier_movsx/MOV64SX, S32, range_check:OK torvalds#335/22 verifier_movsx/MOV64SX, S32, range_check @unpriv:OK torvalds#335/23 verifier_movsx/MOV64SX, S16, R10 Sign Extension:OK torvalds#335/24 verifier_movsx/MOV64SX, S16, R10 Sign Extension @unpriv:OK torvalds#335 verifier_movsx:OK torvalds#347/1 verifier_sdiv/SDIV32, non-zero imm divisor, check 1:OK torvalds#347/2 verifier_sdiv/SDIV32, non-zero imm divisor, check 1 @unpriv:OK torvalds#347/3 verifier_sdiv/SDIV32, non-zero imm divisor, check 2:OK torvalds#347/4 verifier_sdiv/SDIV32, non-zero imm divisor, check 2 @unpriv:OK torvalds#347/5 verifier_sdiv/SDIV32, non-zero imm divisor, check 3:OK torvalds#347/6 verifier_sdiv/SDIV32, non-zero imm divisor, check 3 @unpriv:OK torvalds#347/7 verifier_sdiv/SDIV32, non-zero imm divisor, check 4:OK torvalds#347/8 verifier_sdiv/SDIV32, non-zero imm divisor, check 4 @unpriv:OK torvalds#347/9 verifier_sdiv/SDIV32, non-zero imm divisor, check 5:OK torvalds#347/10 verifier_sdiv/SDIV32, non-zero imm divisor, check 5 @unpriv:OK torvalds#347/11 verifier_sdiv/SDIV32, non-zero imm divisor, check 6:OK torvalds#347/12 verifier_sdiv/SDIV32, non-zero imm divisor, check 6 @unpriv:OK torvalds#347/13 verifier_sdiv/SDIV32, non-zero imm divisor, check 7:OK torvalds#347/14 verifier_sdiv/SDIV32, non-zero imm divisor, check 7 @unpriv:OK torvalds#347/15 verifier_sdiv/SDIV32, non-zero imm divisor, check 8:OK torvalds#347/16 verifier_sdiv/SDIV32, non-zero imm divisor, check 8 @unpriv:OK torvalds#347/17 verifier_sdiv/SDIV32, non-zero reg divisor, check 1:OK torvalds#347/18 verifier_sdiv/SDIV32, non-zero reg divisor, check 1 @unpriv:OK torvalds#347/19 verifier_sdiv/SDIV32, non-zero reg divisor, check 2:OK torvalds#347/20 verifier_sdiv/SDIV32, non-zero reg divisor, check 2 @unpriv:OK torvalds#347/21 verifier_sdiv/SDIV32, non-zero reg divisor, check 3:OK torvalds#347/22 verifier_sdiv/SDIV32, non-zero reg divisor, check 3 @unpriv:OK torvalds#347/23 verifier_sdiv/SDIV32, non-zero reg divisor, check 4:OK torvalds#347/24 verifier_sdiv/SDIV32, non-zero reg divisor, check 4 @unpriv:OK torvalds#347/25 verifier_sdiv/SDIV32, non-zero reg divisor, check 5:OK torvalds#347/26 verifier_sdiv/SDIV32, non-zero reg divisor, check 5 @unpriv:OK torvalds#347/27 verifier_sdiv/SDIV32, non-zero reg divisor, check 6:OK torvalds#347/28 verifier_sdiv/SDIV32, non-zero reg divisor, check 6 @unpriv:OK torvalds#347/29 verifier_sdiv/SDIV32, non-zero reg divisor, check 7:OK torvalds#347/30 verifier_sdiv/SDIV32, non-zero reg divisor, check 7 @unpriv:OK torvalds#347/31 verifier_sdiv/SDIV32, non-zero reg divisor, check 8:OK torvalds#347/32 verifier_sdiv/SDIV32, non-zero reg divisor, check 8 @unpriv:OK torvalds#347/33 verifier_sdiv/SDIV64, non-zero imm divisor, check 1:OK torvalds#347/34 verifier_sdiv/SDIV64, non-zero imm divisor, check 1 @unpriv:OK torvalds#347/35 verifier_sdiv/SDIV64, non-zero imm divisor, check 2:OK torvalds#347/36 verifier_sdiv/SDIV64, non-zero imm divisor, check 2 @unpriv:OK torvalds#347/37 verifier_sdiv/SDIV64, non-zero imm divisor, check 3:OK torvalds#347/38 verifier_sdiv/SDIV64, non-zero imm divisor, check 3 @unpriv:OK torvalds#347/39 verifier_sdiv/SDIV64, non-zero imm divisor, check 4:OK torvalds#347/40 verifier_sdiv/SDIV64, non-zero imm divisor, check 4 @unpriv:OK torvalds#347/41 verifier_sdiv/SDIV64, non-zero imm divisor, check 5:OK torvalds#347/42 verifier_sdiv/SDIV64, non-zero imm divisor, check 5 @unpriv:OK torvalds#347/43 verifier_sdiv/SDIV64, non-zero imm divisor, check 6:OK torvalds#347/44 verifier_sdiv/SDIV64, non-zero imm divisor, check 6 @unpriv:OK torvalds#347/45 verifier_sdiv/SDIV64, non-zero reg divisor, check 1:OK torvalds#347/46 verifier_sdiv/SDIV64, non-zero reg divisor, check 1 @unpriv:OK torvalds#347/47 verifier_sdiv/SDIV64, non-zero reg divisor, check 2:OK torvalds#347/48 verifier_sdiv/SDIV64, non-zero reg divisor, check 2 @unpriv:OK torvalds#347/49 verifier_sdiv/SDIV64, non-zero reg divisor, check 3:OK torvalds#347/50 verifier_sdiv/SDIV64, non-zero reg divisor, check 3 @unpriv:OK torvalds#347/51 verifier_sdiv/SDIV64, non-zero reg divisor, check 4:OK torvalds#347/52 verifier_sdiv/SDIV64, non-zero reg divisor, check 4 @unpriv:OK torvalds#347/53 verifier_sdiv/SDIV64, non-zero reg divisor, check 5:OK torvalds#347/54 verifier_sdiv/SDIV64, non-zero reg divisor, check 5 @unpriv:OK torvalds#347/55 verifier_sdiv/SDIV64, non-zero reg divisor, check 6:OK torvalds#347/56 verifier_sdiv/SDIV64, non-zero reg divisor, check 6 @unpriv:OK torvalds#347/57 verifier_sdiv/SMOD32, non-zero imm divisor, check 1:OK torvalds#347/58 verifier_sdiv/SMOD32, non-zero imm divisor, check 1 @unpriv:OK torvalds#347/59 verifier_sdiv/SMOD32, non-zero imm divisor, check 2:OK torvalds#347/60 verifier_sdiv/SMOD32, non-zero imm divisor, check 2 @unpriv:OK torvalds#347/61 verifier_sdiv/SMOD32, non-zero imm divisor, check 3:OK torvalds#347/62 verifier_sdiv/SMOD32, non-zero imm divisor, check 3 @unpriv:OK torvalds#347/63 verifier_sdiv/SMOD32, non-zero imm divisor, check 4:OK torvalds#347/64 verifier_sdiv/SMOD32, non-zero imm divisor, check 4 @unpriv:OK torvalds#347/65 verifier_sdiv/SMOD32, non-zero imm divisor, check 5:OK torvalds#347/66 verifier_sdiv/SMOD32, non-zero imm divisor, check 5 @unpriv:OK torvalds#347/67 verifier_sdiv/SMOD32, non-zero imm divisor, check 6:OK torvalds#347/68 verifier_sdiv/SMOD32, non-zero imm divisor, check 6 @unpriv:OK torvalds#347/69 verifier_sdiv/SMOD32, non-zero reg divisor, check 1:OK torvalds#347/70 verifier_sdiv/SMOD32, non-zero reg divisor, check 1 @unpriv:OK torvalds#347/71 verifier_sdiv/SMOD32, non-zero reg divisor, check 2:OK torvalds#347/72 verifier_sdiv/SMOD32, non-zero reg divisor, check 2 @unpriv:OK torvalds#347/73 verifier_sdiv/SMOD32, non-zero reg divisor, check 3:OK torvalds#347/74 verifier_sdiv/SMOD32, non-zero reg divisor, check 3 @unpriv:OK torvalds#347/75 verifier_sdiv/SMOD32, non-zero reg divisor, check 4:OK torvalds#347/76 verifier_sdiv/SMOD32, non-zero reg divisor, check 4 @unpriv:OK torvalds#347/77 verifier_sdiv/SMOD32, non-zero reg divisor, check 5:OK torvalds#347/78 verifier_sdiv/SMOD32, non-zero reg divisor, check 5 @unpriv:OK torvalds#347/79 verifier_sdiv/SMOD32, non-zero reg divisor, check 6:OK torvalds#347/80 verifier_sdiv/SMOD32, non-zero reg divisor, check 6 @unpriv:OK torvalds#347/81 verifier_sdiv/SMOD64, non-zero imm divisor, check 1:OK torvalds#347/82 verifier_sdiv/SMOD64, non-zero imm divisor, check 1 @unpriv:OK torvalds#347/83 verifier_sdiv/SMOD64, non-zero imm divisor, check 2:OK torvalds#347/84 verifier_sdiv/SMOD64, non-zero imm divisor, check 2 @unpriv:OK torvalds#347/85 verifier_sdiv/SMOD64, non-zero imm divisor, check 3:OK torvalds#347/86 verifier_sdiv/SMOD64, non-zero imm divisor, check 3 @unpriv:OK torvalds#347/87 verifier_sdiv/SMOD64, non-zero imm divisor, check 4:OK torvalds#347/88 verifier_sdiv/SMOD64, non-zero imm divisor, check 4 @unpriv:OK torvalds#347/89 verifier_sdiv/SMOD64, non-zero imm divisor, check 5:OK torvalds#347/90 verifier_sdiv/SMOD64, non-zero imm divisor, check 5 @unpriv:OK torvalds#347/91 verifier_sdiv/SMOD64, non-zero imm divisor, check 6:OK torvalds#347/92 verifier_sdiv/SMOD64, non-zero imm divisor, check 6 @unpriv:OK torvalds#347/93 verifier_sdiv/SMOD64, non-zero imm divisor, check 7:OK torvalds#347/94 verifier_sdiv/SMOD64, non-zero imm divisor, check 7 @unpriv:OK torvalds#347/95 verifier_sdiv/SMOD64, non-zero imm divisor, check 8:OK torvalds#347/96 verifier_sdiv/SMOD64, non-zero imm divisor, check 8 @unpriv:OK torvalds#347/97 verifier_sdiv/SMOD64, non-zero reg divisor, check 1:OK torvalds#347/98 verifier_sdiv/SMOD64, non-zero reg divisor, check 1 @unpriv:OK torvalds#347/99 verifier_sdiv/SMOD64, non-zero reg divisor, check 2:OK torvalds#347/100 verifier_sdiv/SMOD64, non-zero reg divisor, check 2 @unpriv:OK torvalds#347/101 verifier_sdiv/SMOD64, non-zero reg divisor, check 3:OK torvalds#347/102 verifier_sdiv/SMOD64, non-zero reg divisor, check 3 @unpriv:OK torvalds#347/103 verifier_sdiv/SMOD64, non-zero reg divisor, check 4:OK torvalds#347/104 verifier_sdiv/SMOD64, non-zero reg divisor, check 4 @unpriv:OK torvalds#347/105 verifier_sdiv/SMOD64, non-zero reg divisor, check 5:OK torvalds#347/106 verifier_sdiv/SMOD64, non-zero reg divisor, check 5 @unpriv:OK torvalds#347/107 verifier_sdiv/SMOD64, non-zero reg divisor, check 6:OK torvalds#347/108 verifier_sdiv/SMOD64, non-zero reg divisor, check 6 @unpriv:OK torvalds#347/109 verifier_sdiv/SMOD64, non-zero reg divisor, check 7:OK torvalds#347/110 verifier_sdiv/SMOD64, non-zero reg divisor, check 7 @unpriv:OK torvalds#347/111 verifier_sdiv/SMOD64, non-zero reg divisor, check 8:OK torvalds#347/112 verifier_sdiv/SMOD64, non-zero reg divisor, check 8 @unpriv:OK torvalds#347/113 verifier_sdiv/SDIV32, zero divisor:OK torvalds#347/114 verifier_sdiv/SDIV32, zero divisor @unpriv:OK torvalds#347/115 verifier_sdiv/SDIV64, zero divisor:OK torvalds#347/116 verifier_sdiv/SDIV64, zero divisor @unpriv:OK torvalds#347/117 verifier_sdiv/SMOD32, zero divisor:OK torvalds#347/118 verifier_sdiv/SMOD32, zero divisor @unpriv:OK torvalds#347/119 verifier_sdiv/SMOD64, zero divisor:OK torvalds#347/120 verifier_sdiv/SMOD64, zero divisor @unpriv:OK torvalds#347 verifier_sdiv:OK Summary: 6/166 PASSED, 0 SKIPPED, 0 FAILED Signed-off-by: Xu Kuohai <xukuohai@huawei.com> Signed-off-by: Daniel Borkmann <daniel@iogearbox.net> Tested-by: Florent Revest <revest@chromium.org> Acked-by: Yonghong Song <yonghong.song@linux.dev> Acked-by: Florent Revest <revest@chromium.org> Link: https://lore.kernel.org/bpf/20230815154158.717901-8-xukuohai@huaweicloud.com
# ./vmtest.sh -- ./test_progs -t netkit [...] ./test_progs -t netkit [ 1.140780] bpf_testmod: loading out-of-tree module taints kernel. [ 1.141127] bpf_testmod: module verification failed: signature and/or required key missing - tainting kernel [ 1.284601] tsc: Refined TSC clocksource calibration: 3408.006 MHz [ 1.286672] clocksource: tsc: mask: 0xffffffffffffffff max_cycles: 0x311fd9b189d, max_idle_ns: 440795225691 ns [ 1.290384] clocksource: Switched to clocksource tsc torvalds#345 tc_netkit_basic:OK torvalds#346 tc_netkit_device:OK torvalds#347 tc_netkit_multi_links:OK torvalds#348 tc_netkit_multi_opts:OK torvalds#349 tc_netkit_neigh_links:OK torvalds#350 tc_netkit_pkt_type:OK Summary: 6/0 PASSED, 0 SKIPPED, 0 FAILED Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Add a test case to assert that the skb->pkt_type which was set from the BPF program is retained from the netkit xmit side to the peer's device at tcx ingress location. # ./vmtest.sh -- ./test_progs -t netkit [...] ./test_progs -t netkit [ 1.140780] bpf_testmod: loading out-of-tree module taints kernel. [ 1.141127] bpf_testmod: module verification failed: signature and/or required key missing - tainting kernel [ 1.284601] tsc: Refined TSC clocksource calibration: 3408.006 MHz [ 1.286672] clocksource: tsc: mask: 0xffffffffffffffff max_cycles: 0x311fd9b189d, max_idle_ns: 440795225691 ns [ 1.290384] clocksource: Switched to clocksource tsc torvalds#345 tc_netkit_basic:OK torvalds#346 tc_netkit_device:OK torvalds#347 tc_netkit_multi_links:OK torvalds#348 tc_netkit_multi_opts:OK torvalds#349 tc_netkit_neigh_links:OK torvalds#350 tc_netkit_pkt_type:OK Summary: 6/0 PASSED, 0 SKIPPED, 0 FAILED Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Add a test case to assert that the skb->pkt_type which was set from the BPF program is retained from the netkit xmit side to the peer's device at tcx ingress location. # ./vmtest.sh -- ./test_progs -t netkit [...] ./test_progs -t netkit [ 1.140780] bpf_testmod: loading out-of-tree module taints kernel. [ 1.141127] bpf_testmod: module verification failed: signature and/or required key missing - tainting kernel [ 1.284601] tsc: Refined TSC clocksource calibration: 3408.006 MHz [ 1.286672] clocksource: tsc: mask: 0xffffffffffffffff max_cycles: 0x311fd9b189d, max_idle_ns: 440795225691 ns [ 1.290384] clocksource: Switched to clocksource tsc torvalds#345 tc_netkit_basic:OK torvalds#346 tc_netkit_device:OK torvalds#347 tc_netkit_multi_links:OK torvalds#348 tc_netkit_multi_opts:OK torvalds#349 tc_netkit_neigh_links:OK torvalds#350 tc_netkit_pkt_type:OK Summary: 6/0 PASSED, 0 SKIPPED, 0 FAILED Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Add a test case to assert that the skb->pkt_type which was set from the BPF program is retained from the netkit xmit side to the peer's device at tcx ingress location. # ./vmtest.sh -- ./test_progs -t netkit [...] ./test_progs -t netkit [ 1.140780] bpf_testmod: loading out-of-tree module taints kernel. [ 1.141127] bpf_testmod: module verification failed: signature and/or required key missing - tainting kernel [ 1.284601] tsc: Refined TSC clocksource calibration: 3408.006 MHz [ 1.286672] clocksource: tsc: mask: 0xffffffffffffffff max_cycles: 0x311fd9b189d, max_idle_ns: 440795225691 ns [ 1.290384] clocksource: Switched to clocksource tsc torvalds#345 tc_netkit_basic:OK torvalds#346 tc_netkit_device:OK torvalds#347 tc_netkit_multi_links:OK torvalds#348 tc_netkit_multi_opts:OK torvalds#349 tc_netkit_neigh_links:OK torvalds#350 tc_netkit_pkt_type:OK Summary: 6/0 PASSED, 0 SKIPPED, 0 FAILED Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Add a test case to assert that the skb->pkt_type which was set from the BPF program is retained from the netkit xmit side to the peer's device at tcx ingress location. # ./vmtest.sh -- ./test_progs -t netkit [...] ./test_progs -t netkit [ 1.140780] bpf_testmod: loading out-of-tree module taints kernel. [ 1.141127] bpf_testmod: module verification failed: signature and/or required key missing - tainting kernel [ 1.284601] tsc: Refined TSC clocksource calibration: 3408.006 MHz [ 1.286672] clocksource: tsc: mask: 0xffffffffffffffff max_cycles: 0x311fd9b189d, max_idle_ns: 440795225691 ns [ 1.290384] clocksource: Switched to clocksource tsc torvalds#345 tc_netkit_basic:OK torvalds#346 tc_netkit_device:OK torvalds#347 tc_netkit_multi_links:OK torvalds#348 tc_netkit_multi_opts:OK torvalds#349 tc_netkit_neigh_links:OK torvalds#350 tc_netkit_pkt_type:OK Summary: 6/0 PASSED, 0 SKIPPED, 0 FAILED Signed-off-by: Daniel Borkmann <daniel@iogearbox.net> Link: https://lore.kernel.org/r/20240524163619.26001-4-daniel@iogearbox.net Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Add a test case to assert that the skb->pkt_type which was set from the BPF program is retained from the netkit xmit side to the peer's device at tcx ingress location. # ./vmtest.sh -- ./test_progs -t netkit [...] ./test_progs -t netkit [ 1.140780] bpf_testmod: loading out-of-tree module taints kernel. [ 1.141127] bpf_testmod: module verification failed: signature and/or required key missing - tainting kernel [ 1.284601] tsc: Refined TSC clocksource calibration: 3408.006 MHz [ 1.286672] clocksource: tsc: mask: 0xffffffffffffffff max_cycles: 0x311fd9b189d, max_idle_ns: 440795225691 ns [ 1.290384] clocksource: Switched to clocksource tsc torvalds#345 tc_netkit_basic:OK torvalds#346 tc_netkit_device:OK torvalds#347 tc_netkit_multi_links:OK torvalds#348 tc_netkit_multi_opts:OK torvalds#349 tc_netkit_neigh_links:OK torvalds#350 tc_netkit_pkt_type:OK Summary: 6/0 PASSED, 0 SKIPPED, 0 FAILED Signed-off-by: Daniel Borkmann <daniel@iogearbox.net> Link: https://lore.kernel.org/r/20240524163619.26001-4-daniel@iogearbox.net Signed-off-by: Alexei Starovoitov <ast@kernel.org>
No description provided.