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>] [day] [month] [year] [list]
Date:   Fri, 26 Nov 2021 08:26:28 +0800
From:   kernel test robot <lkp@...el.com>
To:     Sascha Hauer <s.hauer@...gutronix.de>
Cc:     llvm@...ts.linux.dev, kbuild-all@...ts.01.org,
        linux-kernel@...r.kernel.org, 0day robot <lkp@...el.com>
Subject: drivers/gpu/drm/rockchip/rockchip_drm_vop2.c:2678:21: warning:
 variable 'main_plane' is uninitialized when used here

tree:   https://github.com/0day-ci/linux/commits/UPDATE-20211117-234622/Sascha-Hauer/drm-rockchip-RK356x-VOP2-support/20211117-223601
head:   bb17f3afe532266901ec476abd66abd2178e5cfb
commit: bb17f3afe532266901ec476abd66abd2178e5cfb drm: rockchip: Add VOP2 driver
date:   8 days ago
config: hexagon-randconfig-r002-20211118 (https://download.01.org/0day-ci/archive/20211126/202111260815.v5s0FohX-lkp@intel.com/config)
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://github.com/0day-ci/linux/commit/bb17f3afe532266901ec476abd66abd2178e5cfb
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review UPDATE-20211117-234622/Sascha-Hauer/drm-rockchip-RK356x-VOP2-support/20211117-223601
        git checkout bb17f3afe532266901ec476abd66abd2178e5cfb
        # save the config file to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 ARCH=hexagon 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@...el.com>

All warnings (new ones prefixed by >>):

>> drivers/gpu/drm/rockchip/rockchip_drm_vop2.c:2678:21: warning: variable 'main_plane' is uninitialized when used here [-Wuninitialized]
                           top_win_pstate = main_plane->state;
                                            ^~~~~~~~~~
   drivers/gpu/drm/rockchip/rockchip_drm_vop2.c:2661:30: note: initialize the variable 'main_plane' to silence this warning
           struct drm_plane *main_plane;
                                       ^
                                        = NULL
>> drivers/gpu/drm/rockchip/rockchip_drm_vop2.c:2943:20: warning: variable 'plane' set but not used [-Wunused-but-set-variable]
           struct drm_plane *plane;
                             ^
   2 warnings generated.
--
>> drivers/gpu/drm/rockchip/rockchip_vop2_reg.c:521:35: warning: unused variable 'rk3568_area1_scl' [-Wunused-const-variable]
   static const struct vop2_scl_regs rk3568_area1_scl = {
                                     ^
>> drivers/gpu/drm/rockchip/rockchip_vop2_reg.c:541:35: warning: unused variable 'rk3568_area2_scl' [-Wunused-const-variable]
   static const struct vop2_scl_regs rk3568_area2_scl = {
                                     ^
>> drivers/gpu/drm/rockchip/rockchip_vop2_reg.c:561:35: warning: unused variable 'rk3568_area3_scl' [-Wunused-const-variable]
   static const struct vop2_scl_regs rk3568_area3_scl = {
                                     ^
   3 warnings generated.


vim +/main_plane +2678 drivers/gpu/drm/rockchip/rockchip_drm_vop2.c

  2644	
  2645	/*
  2646	 * src: top layer
  2647	 * dst: bottom layer.
  2648	 * Cluster mixer default use win1 as top layer
  2649	 */
  2650	static void vop2_setup_cluster_alpha(struct vop2 *vop2, struct vop2_cluster *cluster)
  2651	{
  2652		uint32_t src_color_ctrl_offset = vop2->data->ctrl->cluster0_src_color_ctrl.offset;
  2653		uint32_t dst_color_ctrl_offset = vop2->data->ctrl->cluster0_dst_color_ctrl.offset;
  2654		uint32_t src_alpha_ctrl_offset = vop2->data->ctrl->cluster0_src_alpha_ctrl.offset;
  2655		uint32_t dst_alpha_ctrl_offset = vop2->data->ctrl->cluster0_dst_alpha_ctrl.offset;
  2656		uint32_t offset = (cluster->main->data->phys_id * 0x10);
  2657		struct vop2_alpha_config alpha_config;
  2658		struct vop2_alpha alpha;
  2659		struct vop2_win *main_win = cluster->main;
  2660		struct vop2_win *sub_win = cluster->sub;
  2661		struct drm_plane *main_plane;
  2662		struct drm_plane_state *top_win_pstate;
  2663		struct drm_plane_state *bottom_win_pstate;
  2664		bool src_pixel_alpha_en = false;
  2665		uint16_t src_glb_alpha_val, dst_glb_alpha_val;
  2666		bool premulti_en = false;
  2667		bool swap = false;
  2668	
  2669		if (!sub_win) {
  2670			/* At one win mode, win0 is dst/bottom win, and win1 is a all zero src/top win */
  2671			top_win_pstate = NULL;
  2672			bottom_win_pstate = main_win->base.state;
  2673			src_glb_alpha_val = 0;
  2674			dst_glb_alpha_val = main_win->base.state->alpha;
  2675		} else {
  2676			if (main_win->base.state->zpos > sub_win->base.state->zpos) {
  2677				swap = 1;
> 2678				top_win_pstate = main_plane->state;
  2679				bottom_win_pstate = sub_win->base.state;
  2680				src_glb_alpha_val = main_win->base.state->alpha;
  2681				dst_glb_alpha_val = sub_win->base.state->alpha;
  2682			} else {
  2683				swap = 0;
  2684				top_win_pstate = sub_win->base.state;
  2685				bottom_win_pstate = main_plane->state;
  2686				src_glb_alpha_val = sub_win->base.state->alpha;
  2687				dst_glb_alpha_val = main_win->base.state->alpha;
  2688			}
  2689	
  2690			if (!top_win_pstate->fb)
  2691				return;
  2692	
  2693			if (top_win_pstate->pixel_blend_mode == DRM_MODE_BLEND_PREMULTI)
  2694				premulti_en = true;
  2695			else
  2696				premulti_en = false;
  2697	
  2698			src_pixel_alpha_en = is_alpha_support(top_win_pstate->fb->format->format);
  2699		}
  2700	
  2701		if (!bottom_win_pstate->fb)
  2702			return;
  2703	
  2704		alpha_config.src_premulti_en = premulti_en;
  2705		alpha_config.dst_premulti_en = false;
  2706		alpha_config.src_pixel_alpha_en = src_pixel_alpha_en;
  2707		alpha_config.dst_pixel_alpha_en = true; /* alpha value need transfer to next mix */
  2708		alpha_config.src_glb_alpha_value = src_glb_alpha_val;
  2709		alpha_config.dst_glb_alpha_value = dst_glb_alpha_val;
  2710		vop2_parse_alpha(&alpha_config, &alpha);
  2711	
  2712		alpha.src_color_ctrl.bits.src_dst_swap = swap;
  2713		vop2_writel(vop2, src_color_ctrl_offset + offset, alpha.src_color_ctrl.val);
  2714		vop2_writel(vop2, dst_color_ctrl_offset + offset, alpha.dst_color_ctrl.val);
  2715		vop2_writel(vop2, src_alpha_ctrl_offset + offset, alpha.src_alpha_ctrl.val);
  2716		vop2_writel(vop2, dst_alpha_ctrl_offset + offset, alpha.dst_alpha_ctrl.val);
  2717	}
  2718	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ