@@ -367,11 +367,10 @@ BTF_SET_START(test_sk_ret_null_kfunc_ids)
367367BTF_ID (func , bpf_kfunc_call_test_acquire )
368368BTF_SET_END (test_sk_ret_null_kfunc_ids )
369369
370- static  void  * bpf_test_init (const  union  bpf_attr  * kattr , u32  size ,
371- 			   u32  headroom , u32  tailroom )
370+ static  void  * bpf_test_init (const  union  bpf_attr  * kattr , u32  user_size ,
371+ 			   u32  size ,  u32   headroom , u32  tailroom )
372372{
373373	void  __user  * data_in  =  u64_to_user_ptr (kattr -> test .data_in );
374- 	u32  user_size  =  kattr -> test .data_size_in ;
375374	void  * data ;
376375
377376	if  (size  <  ETH_HLEN  ||  size  >  PAGE_SIZE  -  headroom  -  tailroom )
@@ -699,7 +698,8 @@ int bpf_prog_test_run_skb(struct bpf_prog *prog, const union bpf_attr *kattr,
699698	if  (kattr -> test .flags  ||  kattr -> test .cpu )
700699		return  - EINVAL ;
701700
702- 	data  =  bpf_test_init (kattr , size , NET_SKB_PAD  +  NET_IP_ALIGN ,
701+ 	data  =  bpf_test_init (kattr , kattr -> test .data_size_in ,
702+ 			     size , NET_SKB_PAD  +  NET_IP_ALIGN ,
703703			     SKB_DATA_ALIGN (sizeof (struct  skb_shared_info )));
704704	if  (IS_ERR (data ))
705705		return  PTR_ERR (data );
@@ -908,7 +908,8 @@ int bpf_prog_test_run_xdp(struct bpf_prog *prog, const union bpf_attr *kattr,
908908	/* XDP have extra tailroom as (most) drivers use full page */ 
909909	max_data_sz  =  4096  -  headroom  -  tailroom ;
910910
911- 	data  =  bpf_test_init (kattr , max_data_sz , headroom , tailroom );
911+ 	data  =  bpf_test_init (kattr , kattr -> test .data_size_in ,
912+ 			     max_data_sz , headroom , tailroom );
912913	if  (IS_ERR (data )) {
913914		ret  =  PTR_ERR (data );
914915		goto free_ctx ;
@@ -994,7 +995,7 @@ int bpf_prog_test_run_flow_dissector(struct bpf_prog *prog,
994995	if  (size  <  ETH_HLEN )
995996		return  - EINVAL ;
996997
997- 	data  =  bpf_test_init (kattr , size , 0 , 0 );
998+ 	data  =  bpf_test_init (kattr , kattr -> test . data_size_in ,  size , 0 , 0 );
998999	if  (IS_ERR (data ))
9991000		return  PTR_ERR (data );
10001001
0 commit comments