tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: 704605877ce9913071214d2515a4c2b9077f5078 commit: c31dcf6c5ab41f07da38d3f270987807735ec93e [2170/7000] tcp_comp: implement tcp compression config: loongarch-randconfig-r113-20240328 (https://download.01.org/0day-ci/archive/20240329/202403290120.dpqjbxn2-lkp@i...) compiler: loongarch64-linux-gcc (GCC) 13.2.0 reproduce: (https://download.01.org/0day-ci/archive/20240329/202403290120.dpqjbxn2-lkp@i...)
If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot lkp@intel.com | Closes: https://lore.kernel.org/oe-kbuild-all/202403290120.dpqjbxn2-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
net/ipv4/tcp_comp.c:740:6: sparse: sparse: symbol 'comp_stream_read' was not declared. Should it be static? net/ipv4/tcp_comp.c:779:6: sparse: sparse: symbol 'comp_setup_strp' was not declared. Should it be static?
vim +/comp_stream_read +740 net/ipv4/tcp_comp.c
739
740 bool comp_stream_read(struct sock *sk)
741 { 742 struct tcp_comp_context *ctx = comp_get_ctx(sk); 743 744 if (!ctx) 745 return false; 746 747 if (ctx->rx.pkt || ctx->rx.dpkt) 748 return true; 749 750 return false; 751 } 752 753 static void comp_data_ready(struct sock *sk) 754 { 755 struct tcp_comp_context *ctx = comp_get_ctx(sk); 756 757 strp_data_ready(&ctx->rx.strp); 758 } 759 760 static void comp_queue(struct strparser *strp, struct sk_buff *skb) 761 { 762 struct tcp_comp_context *ctx = comp_get_ctx(strp->sk); 763 764 ctx->rx.pkt = skb; 765 strp_pause(strp); 766 ctx->rx.saved_data_ready(strp->sk); 767 } 768 769 static int comp_read_size(struct strparser *strp, struct sk_buff *skb) 770 { 771 struct strp_msg *rxm = strp_msg(skb); 772 773 if (rxm->offset > skb->len) 774 return 0; 775 776 return skb->len - rxm->offset; 777 } 778
779 void comp_setup_strp(struct sock *sk, struct tcp_comp_context *ctx)
780 { 781 struct strp_callbacks cb; 782 783 memset(&cb, 0, sizeof(cb)); 784 cb.rcv_msg = comp_queue; 785 cb.parse_msg = comp_read_size; 786 strp_init(&ctx->rx.strp, sk, &cb); 787 788 write_lock_bh(&sk->sk_callback_lock); 789 ctx->rx.saved_data_ready = sk->sk_data_ready; 790 sk->sk_data_ready = comp_data_ready; 791 write_unlock_bh(&sk->sk_callback_lock); 792 793 strp_check_rcv(&ctx->rx.strp); 794 } 795