All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: kbuild@lists.01.org
Subject: drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu13/smu_v13_0_0_ppt.c:1031 smu_v13_0_0_force_clk_levels() error: buffer overflow 'single_dpm_table->dpm_levels' 16 <= 31
Date: Sat, 18 Jun 2022 17:17:53 +0800	[thread overview]
Message-ID: <202206181704.FRfydS7y-lkp@intel.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 6693 bytes --]

CC: kbuild-all(a)lists.01.org
BCC: lkp(a)intel.com
CC: linux-kernel(a)vger.kernel.org
TO: Evan Quan <evan.quan@amd.com>
CC: Alex Deucher <alexander.deucher@amd.com>
CC: Lijo Lazar <lijo.lazar@amd.com>
CC: Hawking Zhang <Hawking.Zhang@amd.com>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   4b35035bcf80ddb47c0112c4fbd84a63a2836a18
commit: 276c03a0547068026241decd2c1159df0be5941f drm/amd/smu: Update SMU13 support for SMU 13.0.0
date:   6 weeks ago
:::::: branch date: 13 hours ago
:::::: commit date: 6 weeks ago
config: ia64-randconfig-m031-20220616 (https://download.01.org/0day-ci/archive/20220618/202206181704.FRfydS7y-lkp(a)intel.com/config)
compiler: ia64-linux-gcc (GCC) 11.3.0

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>

smatch warnings:
drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu13/smu_v13_0_0_ppt.c:1031 smu_v13_0_0_force_clk_levels() error: buffer overflow 'single_dpm_table->dpm_levels' 16 <= 31

vim +1031 drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu13/smu_v13_0_0_ppt.c

276c03a0547068 Evan Quan 2022-04-06   968  
276c03a0547068 Evan Quan 2022-04-06   969  static int smu_v13_0_0_force_clk_levels(struct smu_context *smu,
276c03a0547068 Evan Quan 2022-04-06   970  					enum smu_clk_type clk_type,
276c03a0547068 Evan Quan 2022-04-06   971  					uint32_t mask)
276c03a0547068 Evan Quan 2022-04-06   972  {
276c03a0547068 Evan Quan 2022-04-06   973  	struct smu_dpm_context *smu_dpm = &smu->smu_dpm;
276c03a0547068 Evan Quan 2022-04-06   974  	struct smu_13_0_dpm_context *dpm_context = smu_dpm->dpm_context;
276c03a0547068 Evan Quan 2022-04-06   975  	struct smu_13_0_dpm_table *single_dpm_table;
276c03a0547068 Evan Quan 2022-04-06   976  	uint32_t soft_min_level, soft_max_level;
276c03a0547068 Evan Quan 2022-04-06   977  	uint32_t min_freq, max_freq;
276c03a0547068 Evan Quan 2022-04-06   978  	int ret = 0;
276c03a0547068 Evan Quan 2022-04-06   979  
276c03a0547068 Evan Quan 2022-04-06   980  	soft_min_level = mask ? (ffs(mask) - 1) : 0;
276c03a0547068 Evan Quan 2022-04-06   981  	soft_max_level = mask ? (fls(mask) - 1) : 0;
276c03a0547068 Evan Quan 2022-04-06   982  
276c03a0547068 Evan Quan 2022-04-06   983  	switch (clk_type) {
276c03a0547068 Evan Quan 2022-04-06   984  	case SMU_GFXCLK:
276c03a0547068 Evan Quan 2022-04-06   985  	case SMU_SCLK:
276c03a0547068 Evan Quan 2022-04-06   986  		single_dpm_table = &(dpm_context->dpm_tables.gfx_table);
276c03a0547068 Evan Quan 2022-04-06   987  		break;
276c03a0547068 Evan Quan 2022-04-06   988  	case SMU_MCLK:
276c03a0547068 Evan Quan 2022-04-06   989  	case SMU_UCLK:
276c03a0547068 Evan Quan 2022-04-06   990  		single_dpm_table = &(dpm_context->dpm_tables.uclk_table);
276c03a0547068 Evan Quan 2022-04-06   991  		break;
276c03a0547068 Evan Quan 2022-04-06   992  	case SMU_SOCCLK:
276c03a0547068 Evan Quan 2022-04-06   993  		single_dpm_table = &(dpm_context->dpm_tables.soc_table);
276c03a0547068 Evan Quan 2022-04-06   994  		break;
276c03a0547068 Evan Quan 2022-04-06   995  	case SMU_FCLK:
276c03a0547068 Evan Quan 2022-04-06   996  		single_dpm_table = &(dpm_context->dpm_tables.fclk_table);
276c03a0547068 Evan Quan 2022-04-06   997  		break;
276c03a0547068 Evan Quan 2022-04-06   998  	case SMU_VCLK:
276c03a0547068 Evan Quan 2022-04-06   999  	case SMU_VCLK1:
276c03a0547068 Evan Quan 2022-04-06  1000  		single_dpm_table = &(dpm_context->dpm_tables.vclk_table);
276c03a0547068 Evan Quan 2022-04-06  1001  		break;
276c03a0547068 Evan Quan 2022-04-06  1002  	case SMU_DCLK:
276c03a0547068 Evan Quan 2022-04-06  1003  	case SMU_DCLK1:
276c03a0547068 Evan Quan 2022-04-06  1004  		single_dpm_table = &(dpm_context->dpm_tables.dclk_table);
276c03a0547068 Evan Quan 2022-04-06  1005  		break;
276c03a0547068 Evan Quan 2022-04-06  1006  	default:
276c03a0547068 Evan Quan 2022-04-06  1007  		break;
276c03a0547068 Evan Quan 2022-04-06  1008  	}
276c03a0547068 Evan Quan 2022-04-06  1009  
276c03a0547068 Evan Quan 2022-04-06  1010  	switch (clk_type) {
276c03a0547068 Evan Quan 2022-04-06  1011  	case SMU_GFXCLK:
276c03a0547068 Evan Quan 2022-04-06  1012  	case SMU_SCLK:
276c03a0547068 Evan Quan 2022-04-06  1013  	case SMU_MCLK:
276c03a0547068 Evan Quan 2022-04-06  1014  	case SMU_UCLK:
276c03a0547068 Evan Quan 2022-04-06  1015  	case SMU_SOCCLK:
276c03a0547068 Evan Quan 2022-04-06  1016  	case SMU_FCLK:
276c03a0547068 Evan Quan 2022-04-06  1017  	case SMU_VCLK:
276c03a0547068 Evan Quan 2022-04-06  1018  	case SMU_VCLK1:
276c03a0547068 Evan Quan 2022-04-06  1019  	case SMU_DCLK:
276c03a0547068 Evan Quan 2022-04-06  1020  	case SMU_DCLK1:
276c03a0547068 Evan Quan 2022-04-06  1021  		if (single_dpm_table->is_fine_grained) {
276c03a0547068 Evan Quan 2022-04-06  1022  			/* There is only 2 levels for fine grained DPM */
276c03a0547068 Evan Quan 2022-04-06  1023  			soft_max_level = (soft_max_level >= 1 ? 1 : 0);
276c03a0547068 Evan Quan 2022-04-06  1024  			soft_min_level = (soft_min_level >= 1 ? 1 : 0);
276c03a0547068 Evan Quan 2022-04-06  1025  		} else {
276c03a0547068 Evan Quan 2022-04-06  1026  			if ((soft_max_level >= single_dpm_table->count) ||
276c03a0547068 Evan Quan 2022-04-06  1027  			    (soft_min_level >= single_dpm_table->count))
276c03a0547068 Evan Quan 2022-04-06  1028  				return -EINVAL;
276c03a0547068 Evan Quan 2022-04-06  1029  		}
276c03a0547068 Evan Quan 2022-04-06  1030  
276c03a0547068 Evan Quan 2022-04-06 @1031  		min_freq = single_dpm_table->dpm_levels[soft_min_level].value;
276c03a0547068 Evan Quan 2022-04-06  1032  		max_freq = single_dpm_table->dpm_levels[soft_max_level].value;
276c03a0547068 Evan Quan 2022-04-06  1033  
276c03a0547068 Evan Quan 2022-04-06  1034  		ret = smu_v13_0_set_soft_freq_limited_range(smu,
276c03a0547068 Evan Quan 2022-04-06  1035  							    clk_type,
276c03a0547068 Evan Quan 2022-04-06  1036  							    min_freq,
276c03a0547068 Evan Quan 2022-04-06  1037  							    max_freq);
276c03a0547068 Evan Quan 2022-04-06  1038  		break;
276c03a0547068 Evan Quan 2022-04-06  1039  	case SMU_DCEFCLK:
276c03a0547068 Evan Quan 2022-04-06  1040  	case SMU_PCIE:
276c03a0547068 Evan Quan 2022-04-06  1041  	default:
276c03a0547068 Evan Quan 2022-04-06  1042  		break;
276c03a0547068 Evan Quan 2022-04-06  1043  	}
276c03a0547068 Evan Quan 2022-04-06  1044  
276c03a0547068 Evan Quan 2022-04-06  1045  	return ret;
276c03a0547068 Evan Quan 2022-04-06  1046  }
276c03a0547068 Evan Quan 2022-04-06  1047  

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp

             reply	other threads:[~2022-06-18  9:17 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-06-18  9:17 kernel test robot [this message]
  -- strict thread matches above, loose matches on Subject: below --
2022-06-14  4:24 drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu13/smu_v13_0_0_ppt.c:1031 smu_v13_0_0_force_clk_levels() error: buffer overflow 'single_dpm_table->dpm_levels' 16 <= 31 kernel test robot
2022-05-31 21:28 kernel test robot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202206181704.FRfydS7y-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=kbuild@lists.01.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.