@@ -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