Daniel Borkmann <daniel@xxxxxxxxxxxxx> wrote: > On 11/21/23 12:22 PM, Pengcheng Yang wrote: > > When using skmsg redirect, the msg is queued in psock->ingress_msg, > > and the application calling SIOCINQ ioctl will return a readable > > length of 0, and we cannot track the data length of ingress_msg with > > the ss tool. > > > > In this patch set, we added the data length in ingress_msg to the > > SIOCINQ ioctl and the rx_queue of tcp_diag. > > > > v2: > > - Add READ_ONCE()/WRITE_ONCE() on accesses to psock->msg_len > > - Mask out the increment msg_len where its not needed > > Please double check BPF CI, this series might be breaking sockmap selftests : > > https://github.com/kernel-patches/bpf/actions/runs/6922624338/job/18829650043 > Is this a misunderstanding? The selftests failure above were run on patch set v1 4 days ago, and this patch v2 is the fix for this case. > [...] > Notice: Success: 501/13458, Skipped: 57, Failed: 1 > Error: #281 sockmap_basic > Error: #281/16 sockmap_basic/sockmap skb_verdict fionread > Error: #281/16 sockmap_basic/sockmap skb_verdict fionread > test_sockmap_skb_verdict_fionread:PASS:open_and_load 0 nsec > test_sockmap_skb_verdict_fionread:PASS:bpf_prog_attach 0 nsec > test_sockmap_skb_verdict_fionread:PASS:socket_loopback(s) 0 nsec > test_sockmap_skb_verdict_fionread:PASS:create_socket_pairs(s) 0 nsec > test_sockmap_skb_verdict_fionread:PASS:bpf_map_update_elem(c1) 0 nsec > test_sockmap_skb_verdict_fionread:PASS:xsend(p0) 0 nsec > test_sockmap_skb_verdict_fionread:PASS:ioctl(FIONREAD) error 0 nsec > test_sockmap_skb_verdict_fionread:FAIL:ioctl(FIONREAD) unexpected ioctl(FIONREAD): actual 512 != expected 256 > test_sockmap_skb_verdict_fionread:PASS:recv_timeout(c0) 0 nsec > Error: #281/18 sockmap_basic/sockmap skb_verdict msg_f_peek > Error: #281/18 sockmap_basic/sockmap skb_verdict msg_f_peek > test_sockmap_skb_verdict_peek:PASS:open_and_load 0 nsec > test_sockmap_skb_verdict_peek:PASS:bpf_prog_attach 0 nsec > test_sockmap_skb_verdict_peek:PASS:socket_loopback(s) 0 nsec > test_sockmap_skb_verdict_peek:PASS:create_pairs(s) 0 nsec > test_sockmap_skb_verdict_peek:PASS:bpf_map_update_elem(c1) 0 nsec > test_sockmap_skb_verdict_peek:PASS:xsend(p1) 0 nsec > test_sockmap_skb_verdict_peek:PASS:recv(c1) 0 nsec > test_sockmap_skb_verdict_peek:PASS:ioctl(FIONREAD) error 0 nsec > test_sockmap_skb_verdict_peek:FAIL:after peek ioctl(FIONREAD) unexpected after peek ioctl(FIONREAD): actual 512 != expected 256 > test_sockmap_skb_verdict_peek:PASS:recv(p0) 0 nsec > test_sockmap_skb_verdict_peek:PASS:ioctl(FIONREAD) error 0 nsec > test_sockmap_skb_verdict_peek:PASS:after read ioctl(FIONREAD) 0 nsec > Test Results: > bpftool: PASS > test_progs-no_alu32: FAIL (returned 1) > shutdown: CLEAN > Error: Process completed with exit code 1.