lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <efcdeb3d-49c1-bc08-6e9e-2472320ae0f5@collabora.com>
Date:   Fri, 7 Jul 2023 09:00:40 +0200
From:   Benjamin Gaignard <benjamin.gaignard@...labora.com>
To:     kernel test robot <lkp@...el.com>
Cc:     oe-kbuild-all@...ts.linux.dev, linux-kernel@...r.kernel.org,
        Mauro Carvalho Chehab <mchehab@...nel.org>,
        linux-media@...r.kernel.org,
        Nicolas Dufresne <nicolas.dufresne@...labora.com>,
        Hans Verkuil <hverkuil@...all.nl>
Subject: Re:
 drivers/media/platform/verisilicon/rockchip_vpu981_hw_av1_dec.c:1022:1:
 warning: the frame size of 1112 bytes is larger than 1024 bytes


Le 07/07/2023 à 00:40, kernel test robot a écrit :
> Hi Benjamin,
>
> FYI, the error/warning still remains.

Arnd have send a patch to fix this kind of problem:
https://lore.kernel.org/lkml/20230616144854.3818934-2-arnd@kernel.org/T/
but I don't see it the tree.
I think that why the warning still remains.

Regards,
Benjamin

>
> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> head:   a452483508d7b70b0f6c69e249ec0b3ea2330b5c
> commit: 727a400686a2c0d25015c9e44916a59b72882f83 media: verisilicon: Add Rockchip AV1 decoder
> date:   4 weeks ago
> config: arm-randconfig-r023-20230707 (https://download.01.org/0day-ci/archive/20230707/202307070653.xxncAC2W-lkp@intel.com/config)
> compiler: arm-linux-gnueabi-gcc (GCC) 12.3.0
> reproduce: (https://download.01.org/0day-ci/archive/20230707/202307070653.xxncAC2W-lkp@intel.com/reproduce)
>
> 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@...el.com>
> | Closes: https://lore.kernel.org/oe-kbuild-all/202307070653.xxncAC2W-lkp@intel.com/
>
> All warnings (new ones prefixed by >>):
>
>     drivers/media/platform/verisilicon/rockchip_vpu981_hw_av1_dec.c: In function 'rockchip_vpu981_av1_dec_set_segmentation':
>>> drivers/media/platform/verisilicon/rockchip_vpu981_hw_av1_dec.c:1022:1: warning: the frame size of 1112 bytes is larger than 1024 bytes [-Wframe-larger-than=]
>      1022 | }
>           | ^
>
>
> vim +1022 drivers/media/platform/verisilicon/rockchip_vpu981_hw_av1_dec.c
>
>     776	
>     777	static void rockchip_vpu981_av1_dec_set_segmentation(struct hantro_ctx *ctx)
>     778	{
>     779		struct hantro_av1_dec_hw_ctx *av1_dec = &ctx->av1_dec;
>     780		struct hantro_av1_dec_ctrls *ctrls = &av1_dec->ctrls;
>     781		const struct v4l2_ctrl_av1_frame *frame = ctrls->frame;
>     782		const struct v4l2_av1_segmentation *seg = &frame->segmentation;
>     783		u32 segval[V4L2_AV1_MAX_SEGMENTS][V4L2_AV1_SEG_LVL_MAX] = { 0 };
>     784		struct hantro_dev *vpu = ctx->dev;
>     785		u8 segsign = 0, preskip_segid = 0, last_active_seg = 0, i, j;
>     786	
>     787		if (!!(seg->flags & V4L2_AV1_SEGMENTATION_FLAG_ENABLED) &&
>     788		    frame->primary_ref_frame < V4L2_AV1_REFS_PER_FRAME) {
>     789			int idx = rockchip_vpu981_get_frame_index(ctx, frame->primary_ref_frame);
>     790	
>     791			if (idx >= 0) {
>     792				dma_addr_t luma_addr, mv_addr = 0;
>     793				struct hantro_decoded_buffer *seg;
>     794				size_t mv_offset = rockchip_vpu981_av1_dec_chroma_size(ctx);
>     795	
>     796				seg = vb2_to_hantro_decoded_buf(&av1_dec->frame_refs[idx].vb2_ref->vb2_buf);
>     797				luma_addr = hantro_get_dec_buf_addr(ctx, &seg->base.vb.vb2_buf);
>     798				mv_addr = luma_addr + mv_offset;
>     799	
>     800				hantro_write_addr(vpu, AV1_SEGMENTATION, mv_addr);
>     801				hantro_reg_write(vpu, &av1_use_temporal3_mvs, 1);
>     802			}
>     803		}
>     804	
>     805		hantro_reg_write(vpu, &av1_segment_temp_upd_e,
>     806				 !!(seg->flags & V4L2_AV1_SEGMENTATION_FLAG_TEMPORAL_UPDATE));
>     807		hantro_reg_write(vpu, &av1_segment_upd_e,
>     808				 !!(seg->flags & V4L2_AV1_SEGMENTATION_FLAG_UPDATE_MAP));
>     809		hantro_reg_write(vpu, &av1_segment_e,
>     810				 !!(seg->flags & V4L2_AV1_SEGMENTATION_FLAG_ENABLED));
>     811	
>     812		hantro_reg_write(vpu, &av1_error_resilient,
>     813				 !!(frame->flags & V4L2_AV1_FRAME_FLAG_ERROR_RESILIENT_MODE));
>     814	
>     815		if (IS_INTRA(frame->frame_type) ||
>     816		    !!(frame->flags & V4L2_AV1_FRAME_FLAG_ERROR_RESILIENT_MODE)) {
>     817			hantro_reg_write(vpu, &av1_use_temporal3_mvs, 0);
>     818		}
>     819	
>     820		if (seg->flags & V4L2_AV1_SEGMENTATION_FLAG_ENABLED) {
>     821			int s;
>     822	
>     823			for (s = 0; s < V4L2_AV1_MAX_SEGMENTS; s++) {
>     824				if (seg->feature_enabled[s] &
>     825				    V4L2_AV1_SEGMENT_FEATURE_ENABLED(V4L2_AV1_SEG_LVL_ALT_Q)) {
>     826					segval[s][V4L2_AV1_SEG_LVL_ALT_Q] =
>     827					    clamp(abs(seg->feature_data[s][V4L2_AV1_SEG_LVL_ALT_Q]),
>     828						  0, 255);
>     829					segsign |=
>     830						(seg->feature_data[s][V4L2_AV1_SEG_LVL_ALT_Q] < 0) << s;
>     831				}
>     832	
>     833				if (seg->feature_enabled[s] &
>     834				    V4L2_AV1_SEGMENT_FEATURE_ENABLED(V4L2_AV1_SEG_LVL_ALT_LF_Y_V))
>     835					segval[s][V4L2_AV1_SEG_LVL_ALT_LF_Y_V] =
>     836						clamp(abs(seg->feature_data[s][V4L2_AV1_SEG_LVL_ALT_LF_Y_V]),
>     837						      -63, 63);
>     838	
>     839				if (seg->feature_enabled[s] &
>     840				    V4L2_AV1_SEGMENT_FEATURE_ENABLED(V4L2_AV1_SEG_LVL_ALT_LF_Y_H))
>     841					segval[s][V4L2_AV1_SEG_LVL_ALT_LF_Y_H] =
>     842					    clamp(abs(seg->feature_data[s][V4L2_AV1_SEG_LVL_ALT_LF_Y_H]),
>     843						  -63, 63);
>     844	
>     845				if (seg->feature_enabled[s] &
>     846				    V4L2_AV1_SEGMENT_FEATURE_ENABLED(V4L2_AV1_SEG_LVL_ALT_LF_U))
>     847					segval[s][V4L2_AV1_SEG_LVL_ALT_LF_U] =
>     848					    clamp(abs(seg->feature_data[s][V4L2_AV1_SEG_LVL_ALT_LF_U]),
>     849						  -63, 63);
>     850	
>     851				if (seg->feature_enabled[s] &
>     852				    V4L2_AV1_SEGMENT_FEATURE_ENABLED(V4L2_AV1_SEG_LVL_ALT_LF_V))
>     853					segval[s][V4L2_AV1_SEG_LVL_ALT_LF_V] =
>     854					    clamp(abs(seg->feature_data[s][V4L2_AV1_SEG_LVL_ALT_LF_V]),
>     855						  -63, 63);
>     856	
>     857				if (frame->frame_type && seg->feature_enabled[s] &
>     858				    V4L2_AV1_SEGMENT_FEATURE_ENABLED(V4L2_AV1_SEG_LVL_REF_FRAME))
>     859					segval[s][V4L2_AV1_SEG_LVL_REF_FRAME]++;
>     860	
>     861				if (seg->feature_enabled[s] &
>     862				    V4L2_AV1_SEGMENT_FEATURE_ENABLED(V4L2_AV1_SEG_LVL_REF_SKIP))
>     863					segval[s][V4L2_AV1_SEG_LVL_REF_SKIP] = 1;
>     864	
>     865				if (seg->feature_enabled[s] &
>     866				    V4L2_AV1_SEGMENT_FEATURE_ENABLED(V4L2_AV1_SEG_LVL_REF_GLOBALMV))
>     867					segval[s][V4L2_AV1_SEG_LVL_REF_GLOBALMV] = 1;
>     868			}
>     869		}
>     870	
>     871		for (i = 0; i < V4L2_AV1_MAX_SEGMENTS; i++) {
>     872			for (j = 0; j < V4L2_AV1_SEG_LVL_MAX; j++) {
>     873				if (seg->feature_enabled[i]
>     874				    & V4L2_AV1_SEGMENT_FEATURE_ENABLED(j)) {
>     875					preskip_segid |= (j >= V4L2_AV1_SEG_LVL_REF_FRAME);
>     876					last_active_seg = max(i, last_active_seg);
>     877				}
>     878			}
>     879		}
>     880	
>     881		hantro_reg_write(vpu, &av1_last_active_seg, last_active_seg);
>     882		hantro_reg_write(vpu, &av1_preskip_segid, preskip_segid);
>     883	
>     884		hantro_reg_write(vpu, &av1_seg_quant_sign, segsign);
>     885	
>     886		/* Write QP, filter level, ref frame and skip for every segment */
>     887		hantro_reg_write(vpu, &av1_quant_seg0,
>     888				 segval[0][V4L2_AV1_SEG_LVL_ALT_Q]);
>     889		hantro_reg_write(vpu, &av1_filt_level_delta0_seg0,
>     890				 segval[0][V4L2_AV1_SEG_LVL_ALT_LF_Y_V]);
>     891		hantro_reg_write(vpu, &av1_filt_level_delta1_seg0,
>     892				 segval[0][V4L2_AV1_SEG_LVL_ALT_LF_Y_H]);
>     893		hantro_reg_write(vpu, &av1_filt_level_delta2_seg0,
>     894				 segval[0][V4L2_AV1_SEG_LVL_ALT_LF_U]);
>     895		hantro_reg_write(vpu, &av1_filt_level_delta3_seg0,
>     896				 segval[0][V4L2_AV1_SEG_LVL_ALT_LF_V]);
>     897		hantro_reg_write(vpu, &av1_refpic_seg0,
>     898				 segval[0][V4L2_AV1_SEG_LVL_REF_FRAME]);
>     899		hantro_reg_write(vpu, &av1_skip_seg0,
>     900				 segval[0][V4L2_AV1_SEG_LVL_REF_SKIP]);
>     901		hantro_reg_write(vpu, &av1_global_mv_seg0,
>     902				 segval[0][V4L2_AV1_SEG_LVL_REF_GLOBALMV]);
>     903	
>     904		hantro_reg_write(vpu, &av1_quant_seg1,
>     905				 segval[1][V4L2_AV1_SEG_LVL_ALT_Q]);
>     906		hantro_reg_write(vpu, &av1_filt_level_delta0_seg1,
>     907				 segval[1][V4L2_AV1_SEG_LVL_ALT_LF_Y_V]);
>     908		hantro_reg_write(vpu, &av1_filt_level_delta1_seg1,
>     909				 segval[1][V4L2_AV1_SEG_LVL_ALT_LF_Y_H]);
>     910		hantro_reg_write(vpu, &av1_filt_level_delta2_seg1,
>     911				 segval[1][V4L2_AV1_SEG_LVL_ALT_LF_U]);
>     912		hantro_reg_write(vpu, &av1_filt_level_delta3_seg1,
>     913				 segval[1][V4L2_AV1_SEG_LVL_ALT_LF_V]);
>     914		hantro_reg_write(vpu, &av1_refpic_seg1,
>     915				 segval[1][V4L2_AV1_SEG_LVL_REF_FRAME]);
>     916		hantro_reg_write(vpu, &av1_skip_seg1,
>     917				 segval[1][V4L2_AV1_SEG_LVL_REF_SKIP]);
>     918		hantro_reg_write(vpu, &av1_global_mv_seg1,
>     919				 segval[1][V4L2_AV1_SEG_LVL_REF_GLOBALMV]);
>     920	
>     921		hantro_reg_write(vpu, &av1_quant_seg2,
>     922				 segval[2][V4L2_AV1_SEG_LVL_ALT_Q]);
>     923		hantro_reg_write(vpu, &av1_filt_level_delta0_seg2,
>     924				 segval[2][V4L2_AV1_SEG_LVL_ALT_LF_Y_V]);
>     925		hantro_reg_write(vpu, &av1_filt_level_delta1_seg2,
>     926				 segval[2][V4L2_AV1_SEG_LVL_ALT_LF_Y_H]);
>     927		hantro_reg_write(vpu, &av1_filt_level_delta2_seg2,
>     928				 segval[2][V4L2_AV1_SEG_LVL_ALT_LF_U]);
>     929		hantro_reg_write(vpu, &av1_filt_level_delta3_seg2,
>     930				 segval[2][V4L2_AV1_SEG_LVL_ALT_LF_V]);
>     931		hantro_reg_write(vpu, &av1_refpic_seg2,
>     932				 segval[2][V4L2_AV1_SEG_LVL_REF_FRAME]);
>     933		hantro_reg_write(vpu, &av1_skip_seg2,
>     934				 segval[2][V4L2_AV1_SEG_LVL_REF_SKIP]);
>     935		hantro_reg_write(vpu, &av1_global_mv_seg2,
>     936				 segval[2][V4L2_AV1_SEG_LVL_REF_GLOBALMV]);
>     937	
>     938		hantro_reg_write(vpu, &av1_quant_seg3,
>     939				 segval[3][V4L2_AV1_SEG_LVL_ALT_Q]);
>     940		hantro_reg_write(vpu, &av1_filt_level_delta0_seg3,
>     941				 segval[3][V4L2_AV1_SEG_LVL_ALT_LF_Y_V]);
>     942		hantro_reg_write(vpu, &av1_filt_level_delta1_seg3,
>     943				 segval[3][V4L2_AV1_SEG_LVL_ALT_LF_Y_H]);
>     944		hantro_reg_write(vpu, &av1_filt_level_delta2_seg3,
>     945				 segval[3][V4L2_AV1_SEG_LVL_ALT_LF_U]);
>     946		hantro_reg_write(vpu, &av1_filt_level_delta3_seg3,
>     947				 segval[3][V4L2_AV1_SEG_LVL_ALT_LF_V]);
>     948		hantro_reg_write(vpu, &av1_refpic_seg3,
>     949				 segval[3][V4L2_AV1_SEG_LVL_REF_FRAME]);
>     950		hantro_reg_write(vpu, &av1_skip_seg3,
>     951				 segval[3][V4L2_AV1_SEG_LVL_REF_SKIP]);
>     952		hantro_reg_write(vpu, &av1_global_mv_seg3,
>     953				 segval[3][V4L2_AV1_SEG_LVL_REF_GLOBALMV]);
>     954	
>     955		hantro_reg_write(vpu, &av1_quant_seg4,
>     956				 segval[4][V4L2_AV1_SEG_LVL_ALT_Q]);
>     957		hantro_reg_write(vpu, &av1_filt_level_delta0_seg4,
>     958				 segval[4][V4L2_AV1_SEG_LVL_ALT_LF_Y_V]);
>     959		hantro_reg_write(vpu, &av1_filt_level_delta1_seg4,
>     960				 segval[4][V4L2_AV1_SEG_LVL_ALT_LF_Y_H]);
>     961		hantro_reg_write(vpu, &av1_filt_level_delta2_seg4,
>     962				 segval[4][V4L2_AV1_SEG_LVL_ALT_LF_U]);
>     963		hantro_reg_write(vpu, &av1_filt_level_delta3_seg4,
>     964				 segval[4][V4L2_AV1_SEG_LVL_ALT_LF_V]);
>     965		hantro_reg_write(vpu, &av1_refpic_seg4,
>     966				 segval[4][V4L2_AV1_SEG_LVL_REF_FRAME]);
>     967		hantro_reg_write(vpu, &av1_skip_seg4,
>     968				 segval[4][V4L2_AV1_SEG_LVL_REF_SKIP]);
>     969		hantro_reg_write(vpu, &av1_global_mv_seg4,
>     970				 segval[4][V4L2_AV1_SEG_LVL_REF_GLOBALMV]);
>     971	
>     972		hantro_reg_write(vpu, &av1_quant_seg5,
>     973				 segval[5][V4L2_AV1_SEG_LVL_ALT_Q]);
>     974		hantro_reg_write(vpu, &av1_filt_level_delta0_seg5,
>     975				 segval[5][V4L2_AV1_SEG_LVL_ALT_LF_Y_V]);
>     976		hantro_reg_write(vpu, &av1_filt_level_delta1_seg5,
>     977				 segval[5][V4L2_AV1_SEG_LVL_ALT_LF_Y_H]);
>     978		hantro_reg_write(vpu, &av1_filt_level_delta2_seg5,
>     979				 segval[5][V4L2_AV1_SEG_LVL_ALT_LF_U]);
>     980		hantro_reg_write(vpu, &av1_filt_level_delta3_seg5,
>     981				 segval[5][V4L2_AV1_SEG_LVL_ALT_LF_V]);
>     982		hantro_reg_write(vpu, &av1_refpic_seg5,
>     983				 segval[5][V4L2_AV1_SEG_LVL_REF_FRAME]);
>     984		hantro_reg_write(vpu, &av1_skip_seg5,
>     985				 segval[5][V4L2_AV1_SEG_LVL_REF_SKIP]);
>     986		hantro_reg_write(vpu, &av1_global_mv_seg5,
>     987				 segval[5][V4L2_AV1_SEG_LVL_REF_GLOBALMV]);
>     988	
>     989		hantro_reg_write(vpu, &av1_quant_seg6,
>     990				 segval[6][V4L2_AV1_SEG_LVL_ALT_Q]);
>     991		hantro_reg_write(vpu, &av1_filt_level_delta0_seg6,
>     992				 segval[6][V4L2_AV1_SEG_LVL_ALT_LF_Y_V]);
>     993		hantro_reg_write(vpu, &av1_filt_level_delta1_seg6,
>     994				 segval[6][V4L2_AV1_SEG_LVL_ALT_LF_Y_H]);
>     995		hantro_reg_write(vpu, &av1_filt_level_delta2_seg6,
>     996				 segval[6][V4L2_AV1_SEG_LVL_ALT_LF_U]);
>     997		hantro_reg_write(vpu, &av1_filt_level_delta3_seg6,
>     998				 segval[6][V4L2_AV1_SEG_LVL_ALT_LF_V]);
>     999		hantro_reg_write(vpu, &av1_refpic_seg6,
>    1000				 segval[6][V4L2_AV1_SEG_LVL_REF_FRAME]);
>    1001		hantro_reg_write(vpu, &av1_skip_seg6,
>    1002				 segval[6][V4L2_AV1_SEG_LVL_REF_SKIP]);
>    1003		hantro_reg_write(vpu, &av1_global_mv_seg6,
>    1004				 segval[6][V4L2_AV1_SEG_LVL_REF_GLOBALMV]);
>    1005	
>    1006		hantro_reg_write(vpu, &av1_quant_seg7,
>    1007				 segval[7][V4L2_AV1_SEG_LVL_ALT_Q]);
>    1008		hantro_reg_write(vpu, &av1_filt_level_delta0_seg7,
>    1009				 segval[7][V4L2_AV1_SEG_LVL_ALT_LF_Y_V]);
>    1010		hantro_reg_write(vpu, &av1_filt_level_delta1_seg7,
>    1011				 segval[7][V4L2_AV1_SEG_LVL_ALT_LF_Y_H]);
>    1012		hantro_reg_write(vpu, &av1_filt_level_delta2_seg7,
>    1013				 segval[7][V4L2_AV1_SEG_LVL_ALT_LF_U]);
>    1014		hantro_reg_write(vpu, &av1_filt_level_delta3_seg7,
>    1015				 segval[7][V4L2_AV1_SEG_LVL_ALT_LF_V]);
>    1016		hantro_reg_write(vpu, &av1_refpic_seg7,
>    1017				 segval[7][V4L2_AV1_SEG_LVL_REF_FRAME]);
>    1018		hantro_reg_write(vpu, &av1_skip_seg7,
>    1019				 segval[7][V4L2_AV1_SEG_LVL_REF_SKIP]);
>    1020		hantro_reg_write(vpu, &av1_global_mv_seg7,
>    1021				 segval[7][V4L2_AV1_SEG_LVL_REF_GLOBALMV]);
>> 1022	}
>    1023	
>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ