tree:
https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git queue-5.7
head: 23adc4c86650ca8d7874875fc837db77be4f3d0f
commit: 77f237884fc3a596707c0ceb579f4c191991e99a [3/6] libnvdimm: Validate command family
indices
config: x86_64-allyesconfig (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce (this is a W=1 build):
git checkout 77f237884fc3a596707c0ceb579f4c191991e99a
# save the attached .config to linux build tree
make W=1 ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
drivers/acpi/nfit/core.c: In function 'nfit_dsm_revid':
> drivers/acpi/nfit/core.c:363:30: error:
'NVDIMM_FAMILY_MAX' undeclared (first use in this function); did you mean
'NVDIMM_FAMILY_MSFT'?
363 | static const u8
revid_table[NVDIMM_FAMILY_MAX+1][NVDIMM_CMD_MAX+1] = {
| ^~~~~~~~~~~~~~~~~
| NVDIMM_FAMILY_MSFT
drivers/acpi/nfit/core.c:363:30: note: each undeclared identifier is reported only once
for each function it appears in
In file included from include/linux/ndctl.h:16,
from drivers/acpi/nfit/core.c:9:
> include/uapi/linux/ndctl.h:242:29: error: array index in
non-array initializer
242 | #define NVDIMM_FAMILY_INTEL 0
| ^
drivers/acpi/nfit/core.c:364:4: note: in expansion of macro
'NVDIMM_FAMILY_INTEL'
364 | [NVDIMM_FAMILY_INTEL] = {
| ^~~~~~~~~~~~~~~~~~~
include/uapi/linux/ndctl.h:242:29: note: (near initialization for
'revid_table')
242 | #define NVDIMM_FAMILY_INTEL 0
| ^
drivers/acpi/nfit/core.c:364:4: note: in expansion of macro
'NVDIMM_FAMILY_INTEL'
364 | [NVDIMM_FAMILY_INTEL] = {
| ^~~~~~~~~~~~~~~~~~~
> drivers/acpi/nfit/core.c:365:5: error: array index in non-array
initializer
365 | [NVDIMM_INTEL_GET_MODES] = 2,
| ^~~~~~~~~~~~~~~~~~~~~~
drivers/acpi/nfit/core.c:365:5: note: (near initialization for 'revid_table')
drivers/acpi/nfit/core.c:366:5: error: array index in non-array initializer
366 | [NVDIMM_INTEL_GET_FWINFO] = 2,
| ^~~~~~~~~~~~~~~~~~~~~~~
drivers/acpi/nfit/core.c:366:5: note: (near initialization for 'revid_table')
drivers/acpi/nfit/core.c:367:5: error: array index in non-array initializer
367 | [NVDIMM_INTEL_START_FWUPDATE] = 2,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/acpi/nfit/core.c:367:5: note: (near initialization for 'revid_table')
drivers/acpi/nfit/core.c:368:5: error: array index in non-array initializer
368 | [NVDIMM_INTEL_SEND_FWUPDATE] = 2,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/acpi/nfit/core.c:368:5: note: (near initialization for 'revid_table')
drivers/acpi/nfit/core.c:369:5: error: array index in non-array initializer
369 | [NVDIMM_INTEL_FINISH_FWUPDATE] = 2,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/acpi/nfit/core.c:369:5: note: (near initialization for 'revid_table')
drivers/acpi/nfit/core.c:370:5: error: array index in non-array initializer
370 | [NVDIMM_INTEL_QUERY_FWUPDATE] = 2,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/acpi/nfit/core.c:370:5: note: (near initialization for 'revid_table')
drivers/acpi/nfit/core.c:371:5: error: array index in non-array initializer
371 | [NVDIMM_INTEL_SET_THRESHOLD] = 2,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/acpi/nfit/core.c:371:5: note: (near initialization for 'revid_table')
drivers/acpi/nfit/core.c:372:5: error: array index in non-array initializer
372 | [NVDIMM_INTEL_INJECT_ERROR] = 2,
| ^~~~~~~~~~~~~~~~~~~~~~~~~
drivers/acpi/nfit/core.c:372:5: note: (near initialization for 'revid_table')
drivers/acpi/nfit/core.c:373:5: error: array index in non-array initializer
373 | [NVDIMM_INTEL_GET_SECURITY_STATE] = 2,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/acpi/nfit/core.c:373:5: note: (near initialization for 'revid_table')
drivers/acpi/nfit/core.c:374:5: error: array index in non-array initializer
374 | [NVDIMM_INTEL_SET_PASSPHRASE] = 2,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/acpi/nfit/core.c:374:5: note: (near initialization for 'revid_table')
drivers/acpi/nfit/core.c:375:5: error: array index in non-array initializer
375 | [NVDIMM_INTEL_DISABLE_PASSPHRASE] = 2,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/acpi/nfit/core.c:375:5: note: (near initialization for 'revid_table')
drivers/acpi/nfit/core.c:376:5: error: array index in non-array initializer
376 | [NVDIMM_INTEL_UNLOCK_UNIT] = 2,
| ^~~~~~~~~~~~~~~~~~~~~~~~
drivers/acpi/nfit/core.c:376:5: note: (near initialization for 'revid_table')
drivers/acpi/nfit/core.c:377:5: error: array index in non-array initializer
377 | [NVDIMM_INTEL_FREEZE_LOCK] = 2,
| ^~~~~~~~~~~~~~~~~~~~~~~~
drivers/acpi/nfit/core.c:377:5: note: (near initialization for 'revid_table')
drivers/acpi/nfit/core.c:378:5: error: array index in non-array initializer
378 | [NVDIMM_INTEL_SECURE_ERASE] = 2,
| ^~~~~~~~~~~~~~~~~~~~~~~~~
drivers/acpi/nfit/core.c:378:5: note: (near initialization for 'revid_table')
drivers/acpi/nfit/core.c:379:5: error: array index in non-array initializer
379 | [NVDIMM_INTEL_OVERWRITE] = 2,
| ^~~~~~~~~~~~~~~~~~~~~~
drivers/acpi/nfit/core.c:379:5: note: (near initialization for 'revid_table')
drivers/acpi/nfit/core.c:380:5: error: array index in non-array initializer
380 | [NVDIMM_INTEL_QUERY_OVERWRITE] = 2,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/acpi/nfit/core.c:380:5: note: (near initialization for 'revid_table')
drivers/acpi/nfit/core.c:381:5: error: array index in non-array initializer
381 | [NVDIMM_INTEL_SET_MASTER_PASSPHRASE] = 2,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/acpi/nfit/core.c:381:5: note: (near initialization for 'revid_table')
drivers/acpi/nfit/core.c:382:5: error: array index in non-array initializer
382 | [NVDIMM_INTEL_MASTER_SECURE_ERASE] = 2,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/acpi/nfit/core.c:382:5: note: (near initialization for 'revid_table')
drivers/acpi/nfit/core.c:363:18: warning: unused variable 'revid_table'
[-Wunused-variable]
363 | static const u8 revid_table[NVDIMM_FAMILY_MAX+1][NVDIMM_CMD_MAX+1] = {
| ^~~~~~~~~~~
drivers/acpi/nfit/core.c: At top level:
drivers/acpi/nfit/core.c:1767:13: warning: no previous prototype for
'nfit_intel_shutdown_status' [-Wmissing-prototypes]
1767 | __weak void nfit_intel_shutdown_status(struct nfit_mem *nfit_mem)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/acpi/nfit/core.c: In function 'acpi_nfit_add_dimm':
drivers/acpi/nfit/core.c:1892:19: error: 'NVDIMM_FAMILY_MAX' undeclared (first
use in this function); did you mean 'NVDIMM_FAMILY_MSFT'?
1892 | for (i = 0; i <= NVDIMM_FAMILY_MAX; i++)
| ^~~~~~~~~~~~~~~~~
| NVDIMM_FAMILY_MSFT
drivers/acpi/nfit/core.c: In function 'acpi_nfit_init_dsms':
> drivers/acpi/nfit/core.c:2162:10: error:
'NVDIMM_BUS_FAMILY_NFIT' undeclared (first use in this function); did you mean
'NVDIMM_FAMILY_MSFT'?
2162 | set_bit(NVDIMM_BUS_FAMILY_NFIT,
&nd_desc->bus_family_mask);
| ^~~~~~~~~~~~~~~~~~~~~~
| NVDIMM_FAMILY_MSFT
#
https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git/c...
git remote add sashal-linux-stable
https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git
git fetch --no-tags sashal-linux-stable queue-5.7
git checkout 77f237884fc3a596707c0ceb579f4c191991e99a
vim +363 drivers/acpi/nfit/core.c
d6eb270c57fef3 Dan Williams 2016-12-06 360
11e14270160954 Dan Williams 2017-10-20 361 static u8 nfit_dsm_revid(unsigned family,
unsigned func)
11e14270160954 Dan Williams 2017-10-20 362 {
01091c496f920e Dan Carpenter 2020-02-25 @363 static const u8
revid_table[NVDIMM_FAMILY_MAX+1][NVDIMM_CMD_MAX+1] = {
11e14270160954 Dan Williams 2017-10-20 364 [NVDIMM_FAMILY_INTEL] = {
11e14270160954 Dan Williams 2017-10-20 @365 [NVDIMM_INTEL_GET_MODES] = 2,
11e14270160954 Dan Williams 2017-10-20 366 [NVDIMM_INTEL_GET_FWINFO] = 2,
11e14270160954 Dan Williams 2017-10-20 367 [NVDIMM_INTEL_START_FWUPDATE] = 2,
11e14270160954 Dan Williams 2017-10-20 368 [NVDIMM_INTEL_SEND_FWUPDATE] = 2,
11e14270160954 Dan Williams 2017-10-20 369 [NVDIMM_INTEL_FINISH_FWUPDATE] = 2,
11e14270160954 Dan Williams 2017-10-20 370 [NVDIMM_INTEL_QUERY_FWUPDATE] = 2,
11e14270160954 Dan Williams 2017-10-20 371 [NVDIMM_INTEL_SET_THRESHOLD] = 2,
11e14270160954 Dan Williams 2017-10-20 372 [NVDIMM_INTEL_INJECT_ERROR] = 2,
b3ed2ce024c360 Dave Jiang 2018-12-04 373 [NVDIMM_INTEL_GET_SECURITY_STATE] = 2,
b3ed2ce024c360 Dave Jiang 2018-12-04 374 [NVDIMM_INTEL_SET_PASSPHRASE] = 2,
b3ed2ce024c360 Dave Jiang 2018-12-04 375 [NVDIMM_INTEL_DISABLE_PASSPHRASE] = 2,
b3ed2ce024c360 Dave Jiang 2018-12-04 376 [NVDIMM_INTEL_UNLOCK_UNIT] = 2,
b3ed2ce024c360 Dave Jiang 2018-12-04 377 [NVDIMM_INTEL_FREEZE_LOCK] = 2,
b3ed2ce024c360 Dave Jiang 2018-12-04 378 [NVDIMM_INTEL_SECURE_ERASE] = 2,
b3ed2ce024c360 Dave Jiang 2018-12-04 379 [NVDIMM_INTEL_OVERWRITE] = 2,
b3ed2ce024c360 Dave Jiang 2018-12-04 380 [NVDIMM_INTEL_QUERY_OVERWRITE] = 2,
89fa9d8ea7bdfa Dave Jiang 2018-12-10 381 [NVDIMM_INTEL_SET_MASTER_PASSPHRASE] =
2,
89fa9d8ea7bdfa Dave Jiang 2018-12-10 382 [NVDIMM_INTEL_MASTER_SECURE_ERASE] = 2,
11e14270160954 Dan Williams 2017-10-20 383 },
11e14270160954 Dan Williams 2017-10-20 384 };
11e14270160954 Dan Williams 2017-10-20 385 u8 id;
11e14270160954 Dan Williams 2017-10-20 386
11e14270160954 Dan Williams 2017-10-20 387 if (family > NVDIMM_FAMILY_MAX)
11e14270160954 Dan Williams 2017-10-20 388 return 0;
01091c496f920e Dan Carpenter 2020-02-25 389 if (func > NVDIMM_CMD_MAX)
11e14270160954 Dan Williams 2017-10-20 390 return 0;
11e14270160954 Dan Williams 2017-10-20 391 id = revid_table[family][func];
11e14270160954 Dan Williams 2017-10-20 392 if (id == 0)
11e14270160954 Dan Williams 2017-10-20 393 return 1; /* default */
11e14270160954 Dan Williams 2017-10-20 394 return id;
11e14270160954 Dan Williams 2017-10-20 395 }
11e14270160954 Dan Williams 2017-10-20 396
:::::: The code at line 363 was first introduced by commit
:::::: 01091c496f920e634ea84b689f480c39016752a8 acpi/nfit: improve bounds checking for
'func'
:::::: TO: Dan Carpenter <dan.carpenter(a)oracle.com>
:::::: CC: Dan Williams <dan.j.williams(a)intel.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org