Re: [PATCH] staging: sm750fb: make g_fbmode array pointers const;prevent accidental modification of entries.
kernel test robot <[email protected]>
| Newsgroups | dev.linux.lists.oe-kbuild |
|---|---|
| Message-ID | <[email protected]> |
:::::: :::::: Manual check reason: "linux-review patch is more than 7 days old, verify it wasn't already superseded" :::::: BCC: [email protected] CC: [email protected] CC: [email protected] In-Reply-To: <[email protected]> References: <[email protected]> TO: Alexandros Xanthakis <[email protected]> TO: [email protected] TO: [email protected] TO: [email protected] CC: [email protected] CC: [email protected] CC: [email protected] CC: Alexandros Xanthakis <[email protected]> Hi Alexandros, kernel test robot noticed the following build errors: [auto build test ERROR on staging/staging-testing] url: https://github.com/intel-lab-lkp/linux/commits/Alexandros-Xanthakis/staging-sm750fb-make-g_fbmode-array-pointers-const-prevent-accidental-modification-of-entries/20260806-034325 base: staging/staging-testing patch link: https://lore.kernel.org/r/20260806004325.3253-1-xanthakis.alexandre%40gmail.com patch subject: [PATCH] staging: sm750fb: make g_fbmode array pointers const;prevent accidental modification of entries. :::::: branch date: 16 hours ago :::::: commit date: 16 hours ago config: powerpc64-randconfig-001-20260820 (https://download.01.org/0day-ci/archive/20260821/[email protected]/config) compiler: clang version 24.0.0git (https://github.com/llvm/llvm-project 935bfc708590c60147a79c7df145bb6e68b1d388) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260821/[email protected]/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 <[email protected]> | Closes: https://lore.kernel.org/r/[email protected]/ All errors (new ones prefixed by >>): >> drivers/staging/sm750fb/sm750.c:762:19: error: cannot assign to variable 'g_fbmode' with const-qualified type 'const char *const[2]' 762 | g_fbmode[index] = g_def_fbmode; | ~~~~~~~~~~~~~~~ ^ drivers/staging/sm750fb/sm750.c:15:27: note: variable 'g_fbmode' declared const here 15 | static const char * const g_fbmode[] = {NULL, NULL}; | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ drivers/staging/sm750fb/sm750.c:764:20: error: cannot assign to variable 'g_fbmode' with const-qualified type 'const char *const[2]' 764 | g_fbmode[index] = g_fbmode[0]; | ~~~~~~~~~~~~~~~ ^ drivers/staging/sm750fb/sm750.c:15:27: note: variable 'g_fbmode' declared const here 15 | static const char * const g_fbmode[] = {NULL, NULL}; | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ drivers/staging/sm750fb/sm750.c:872:17: error: cannot assign to variable 'g_fbmode' with const-qualified type 'const char *const[2]' 872 | g_fbmode[0] = opt; | ~~~~~~~~~~~ ^ drivers/staging/sm750fb/sm750.c:15:27: note: variable 'g_fbmode' declared const here 15 | static const char * const g_fbmode[] = {NULL, NULL}; | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ drivers/staging/sm750fb/sm750.c:876:17: error: cannot assign to variable 'g_fbmode' with const-qualified type 'const char *const[2]' 876 | g_fbmode[1] = opt; | ~~~~~~~~~~~ ^ drivers/staging/sm750fb/sm750.c:15:27: note: variable 'g_fbmode' declared const here 15 | static const char * const g_fbmode[] = {NULL, NULL}; | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 4 errors generated. vim +762 drivers/staging/sm750fb/sm750.c 81dee67e215b23f Sudip Mukherjee 2015-03-03 696 81dee67e215b23f Sudip Mukherjee 2015-03-03 697 static int lynxfb_set_fbinfo(struct fb_info *info, int index) 81dee67e215b23f Sudip Mukherjee 2015-03-03 698 { 81dee67e215b23f Sudip Mukherjee 2015-03-03 699 int i; 81dee67e215b23f Sudip Mukherjee 2015-03-03 700 struct lynxfb_par *par; e359b6a863e19f2 Mike Rapoport 2015-10-26 701 struct sm750_dev *sm750_dev; 81dee67e215b23f Sudip Mukherjee 2015-03-03 702 struct lynxfb_crtc *crtc; 81dee67e215b23f Sudip Mukherjee 2015-03-03 703 struct lynxfb_output *output; 81dee67e215b23f Sudip Mukherjee 2015-03-03 704 struct fb_var_screeninfo *var; 81dee67e215b23f Sudip Mukherjee 2015-03-03 705 struct fb_fix_screeninfo *fix; 81dee67e215b23f Sudip Mukherjee 2015-03-03 706 81dee67e215b23f Sudip Mukherjee 2015-03-03 707 const struct fb_videomode *pdb[] = { 81dee67e215b23f Sudip Mukherjee 2015-03-03 708 lynx750_ext, NULL, vesa_modes, 81dee67e215b23f Sudip Mukherjee 2015-03-03 709 }; 81dee67e215b23f Sudip Mukherjee 2015-03-03 710 int cdb[] = {ARRAY_SIZE(lynx750_ext), 0, VESA_MODEDB_SIZE}; d0856045f0e9fc9 Hungyu Lin 2026-04-01 711 static const char * const fix_id[2] = { 81dee67e215b23f Sudip Mukherjee 2015-03-03 712 "sm750_fb1", "sm750_fb2", 81dee67e215b23f Sudip Mukherjee 2015-03-03 713 }; 81dee67e215b23f Sudip Mukherjee 2015-03-03 714 81dee67e215b23f Sudip Mukherjee 2015-03-03 715 int ret, line_length; 81dee67e215b23f Sudip Mukherjee 2015-03-03 716 81dee67e215b23f Sudip Mukherjee 2015-03-03 717 ret = 0; 81dee67e215b23f Sudip Mukherjee 2015-03-03 718 par = (struct lynxfb_par *)info->par; e359b6a863e19f2 Mike Rapoport 2015-10-26 719 sm750_dev = par->dev; 81dee67e215b23f Sudip Mukherjee 2015-03-03 720 crtc = &par->crtc; 81dee67e215b23f Sudip Mukherjee 2015-03-03 721 output = &par->output; 81dee67e215b23f Sudip Mukherjee 2015-03-03 722 var = &info->var; 81dee67e215b23f Sudip Mukherjee 2015-03-03 723 fix = &info->fix; 81dee67e215b23f Sudip Mukherjee 2015-03-03 724 81dee67e215b23f Sudip Mukherjee 2015-03-03 725 /* set index */ 81dee67e215b23f Sudip Mukherjee 2015-03-03 726 par->index = index; 81dee67e215b23f Sudip Mukherjee 2015-03-03 727 output->channel = &crtc->channel; 81dee67e215b23f Sudip Mukherjee 2015-03-03 728 sm750fb_set_drv(par); 81dee67e215b23f Sudip Mukherjee 2015-03-03 729 d11ac7cbcc266c6 Sudip Mukherjee 2015-08-07 730 /* d11ac7cbcc266c6 Sudip Mukherjee 2015-08-07 731 * set current cursor variable and proc pointer, d11ac7cbcc266c6 Sudip Mukherjee 2015-08-07 732 * must be set after crtc member initialized d11ac7cbcc266c6 Sudip Mukherjee 2015-08-07 733 */ fdc234d85210d91 Benjamin Philip 2021-07-28 734 crtc->cursor.offset = crtc->o_screen + crtc->vidmem_size - 1024; 1be54c03f7519c9 Jad Keskes 2026-06-19 735 crtc->cursor.mmio = sm750_dev->mmio + e359b6a863e19f2 Mike Rapoport 2015-10-26 736 0x800f0 + (int)crtc->channel * 0x140; 81dee67e215b23f Sudip Mukherjee 2015-03-03 737 cd33da26036ea54 Christopher Carbone 2022-08-23 738 crtc->cursor.max_h = 64; cd33da26036ea54 Christopher Carbone 2022-08-23 739 crtc->cursor.max_w = 64; 39f9137268ee3df Benjamin Philip 2021-07-26 740 crtc->cursor.size = crtc->cursor.max_h * crtc->cursor.max_w * 2 / 8; f50b4602fea62fe Jennifer Guo 2026-05-09 741 crtc->cursor.vstart = sm750_dev->vmem + crtc->cursor.offset; 81dee67e215b23f Sudip Mukherjee 2015-03-03 742 3de08a2d14ff8c7 Lorenzo Stoakes 2015-03-20 743 memset_io(crtc->cursor.vstart, 0, crtc->cursor.size); f7c8a046577e09d Thomas Zimmermann 2023-11-27 744 if (!g_hwcursor) 52d0744d751d8f1 Arnd Bergmann 2016-11-09 745 sm750_hw_cursor_disable(&crtc->cursor); 81dee67e215b23f Sudip Mukherjee 2015-03-03 746 81dee67e215b23f Sudip Mukherjee 2015-03-03 747 /* set info->fbops, must be set before fb_find_mode */ e359b6a863e19f2 Mike Rapoport 2015-10-26 748 if (!sm750_dev->accel_off) { 81dee67e215b23f Sudip Mukherjee 2015-03-03 749 /* use 2d acceleration */ f7c8a046577e09d Thomas Zimmermann 2023-11-27 750 if (!g_hwcursor) f7c8a046577e09d Thomas Zimmermann 2023-11-27 751 info->fbops = &lynxfb_ops_accel; f7c8a046577e09d Thomas Zimmermann 2023-11-27 752 else f7c8a046577e09d Thomas Zimmermann 2023-11-27 753 info->fbops = &lynxfb_ops_accel_with_cursor; f7c8a046577e09d Thomas Zimmermann 2023-11-27 754 } else { f7c8a046577e09d Thomas Zimmermann 2023-11-27 755 if (!g_hwcursor) 81dee67e215b23f Sudip Mukherjee 2015-03-03 756 info->fbops = &lynxfb_ops; f7c8a046577e09d Thomas Zimmermann 2023-11-27 757 else f7c8a046577e09d Thomas Zimmermann 2023-11-27 758 info->fbops = &lynxfb_ops_with_cursor; f7c8a046577e09d Thomas Zimmermann 2023-11-27 759 } 81dee67e215b23f Sudip Mukherjee 2015-03-03 760 81dee67e215b23f Sudip Mukherjee 2015-03-03 761 if (!g_fbmode[index]) { 81dee67e215b23f Sudip Mukherjee 2015-03-03 @762 g_fbmode[index] = g_def_fbmode; 81dee67e215b23f Sudip Mukherjee 2015-03-03 763 if (index) 81dee67e215b23f Sudip Mukherjee 2015-03-03 764 g_fbmode[index] = g_fbmode[0]; 81dee67e215b23f Sudip Mukherjee 2015-03-03 765 } 81dee67e215b23f Sudip Mukherjee 2015-03-03 766 81dee67e215b23f Sudip Mukherjee 2015-03-03 767 for (i = 0; i < 3; i++) { 81dee67e215b23f Sudip Mukherjee 2015-03-03 768 ret = fb_find_mode(var, info, g_fbmode[index], 81dee67e215b23f Sudip Mukherjee 2015-03-03 769 pdb[i], cdb[i], NULL, 8); 81dee67e215b23f Sudip Mukherjee 2015-03-03 770 db7fb3588ab4920 Artem Lytkin 2026-02-23 771 if (ret == 1 || ret == 2) 81dee67e215b23f Sudip Mukherjee 2015-03-03 772 break; 81dee67e215b23f Sudip Mukherjee 2015-03-03 773 } 81dee67e215b23f Sudip Mukherjee 2015-03-03 774 81dee67e215b23f Sudip Mukherjee 2015-03-03 775 /* set par */ 81dee67e215b23f Sudip Mukherjee 2015-03-03 776 par->info = info; 81dee67e215b23f Sudip Mukherjee 2015-03-03 777 81dee67e215b23f Sudip Mukherjee 2015-03-03 778 /* set info */ e3a3f9f5123683b Mike Rapoport 2015-10-26 779 line_length = ALIGN((var->xres_virtual * var->bits_per_pixel / 8), e3a3f9f5123683b Mike Rapoport 2015-10-26 780 crtc->line_pad); 81dee67e215b23f Sudip Mukherjee 2015-03-03 781 81dee67e215b23f Sudip Mukherjee 2015-03-03 782 info->pseudo_palette = &par->pseudo_palette[0]; cc59bde1c920ab6 Benjamin Philip 2021-07-28 783 info->screen_base = crtc->v_screen; 81dee67e215b23f Sudip Mukherjee 2015-03-03 784 info->screen_size = line_length * var->yres_virtual; 81dee67e215b23f Sudip Mukherjee 2015-03-03 785 81dee67e215b23f Sudip Mukherjee 2015-03-03 786 /* set info->fix */ 81dee67e215b23f Sudip Mukherjee 2015-03-03 787 fix->type = FB_TYPE_PACKED_PIXELS; 81dee67e215b23f Sudip Mukherjee 2015-03-03 788 fix->type_aux = 0; 81dee67e215b23f Sudip Mukherjee 2015-03-03 789 fix->xpanstep = crtc->xpanstep; 81dee67e215b23f Sudip Mukherjee 2015-03-03 790 fix->ypanstep = crtc->ypanstep; 81dee67e215b23f Sudip Mukherjee 2015-03-03 791 fix->ywrapstep = crtc->ywrapstep; 81dee67e215b23f Sudip Mukherjee 2015-03-03 792 fix->accel = FB_ACCEL_SMI; 81dee67e215b23f Sudip Mukherjee 2015-03-03 793 8c475735085a7db Tim Wassink 2025-12-21 794 strscpy(fix->id, fix_id[index], sizeof(fix->id)); 81dee67e215b23f Sudip Mukherjee 2015-03-03 795 fdc234d85210d91 Benjamin Philip 2021-07-28 796 fix->smem_start = crtc->o_screen + sm750_dev->vidmem_start; d11ac7cbcc266c6 Sudip Mukherjee 2015-08-07 797 /* d11ac7cbcc266c6 Sudip Mukherjee 2015-08-07 798 * according to mmap experiment from user space application, 81dee67e215b23f Sudip Mukherjee 2015-03-03 799 * fix->mmio_len should not larger than virtual size 81dee67e215b23f Sudip Mukherjee 2015-03-03 800 * (xres_virtual x yres_virtual x ByPP) 81dee67e215b23f Sudip Mukherjee 2015-03-03 801 * Below line maybe buggy when user mmap fb dev node and write 81dee67e215b23f Sudip Mukherjee 2015-03-03 802 * data into the bound over virtual size d11ac7cbcc266c6 Sudip Mukherjee 2015-08-07 803 */ 81dee67e215b23f Sudip Mukherjee 2015-03-03 804 fix->smem_len = crtc->vidmem_size; 81dee67e215b23f Sudip Mukherjee 2015-03-03 805 info->screen_size = fix->smem_len; 81dee67e215b23f Sudip Mukherjee 2015-03-03 806 fix->line_length = line_length; e359b6a863e19f2 Mike Rapoport 2015-10-26 807 fix->mmio_start = sm750_dev->vidreg_start; e359b6a863e19f2 Mike Rapoport 2015-10-26 808 fix->mmio_len = sm750_dev->vidreg_size; b610e1193a917f4 Matej Dujava 2020-04-30 809 b610e1193a917f4 Matej Dujava 2020-04-30 810 lynxfb_set_visual_mode(info); 81dee67e215b23f Sudip Mukherjee 2015-03-03 811 81dee67e215b23f Sudip Mukherjee 2015-03-03 812 /* set var */ 81dee67e215b23f Sudip Mukherjee 2015-03-03 813 var->activate = FB_ACTIVATE_NOW; 81dee67e215b23f Sudip Mukherjee 2015-03-03 814 var->accel_flags = 0; 81dee67e215b23f Sudip Mukherjee 2015-03-03 815 var->vmode = FB_VMODE_NONINTERLACED; 81dee67e215b23f Sudip Mukherjee 2015-03-03 816 61c507cf652da1b Michel von Czettritz 2015-03-26 817 ret = fb_alloc_cmap(&info->cmap, 256, 0); 61c507cf652da1b Michel von Czettritz 2015-03-26 818 if (ret < 0) { fbab250eb51d6d6 Artem Lytkin 2026-02-07 819 dev_err(info->device, "Could not allocate memory for cmap.\n"); 81dee67e215b23f Sudip Mukherjee 2015-03-03 820 goto exit; 81dee67e215b23f Sudip Mukherjee 2015-03-03 821 } 81dee67e215b23f Sudip Mukherjee 2015-03-03 822 81dee67e215b23f Sudip Mukherjee 2015-03-03 823 exit: 81dee67e215b23f Sudip Mukherjee 2015-03-03 824 lynxfb_ops_check_var(var, info); 81dee67e215b23f Sudip Mukherjee 2015-03-03 825 return ret; 81dee67e215b23f Sudip Mukherjee 2015-03-03 826 } 81dee67e215b23f Sudip Mukherjee 2015-03-03 827 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki