Re: [PATCH v8 12/15] platform/x86: dell-smbios: Add filtering support

From: kbuild test robot
Date: Tue Oct 17 2017 - 00:12:04 EST


Hi Mario,

[auto build test ERROR on platform-drivers-x86/for-next]
[also build test ERROR on v4.14-rc5 next-20171016]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url: https://github.com/0day-ci/linux/commits/Mario-Limonciello/Introduce-support-for-Dell-SMBIOS-over-WMI/20171017-103109
base: git://git.infradead.org/users/dvhart/linux-platform-drivers-x86.git for-next
config: x86_64-randconfig-x001-201742 (attached as .config)
compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
reproduce:
# save the attached .config to linux build tree
make ARCH=x86_64

All errors (new ones prefixed by >>):

>> drivers/platform/x86/dell-smbios.c:53:3: error: 'CAP_SYS_ADMIN' undeclared here (not in a function)
{CAP_SYS_ADMIN, CLASS_TOKEN_READ, SELECT_TOKEN_STD},
^~~~~~~~~~~~~
>> drivers/platform/x86/dell-smbios.c:88:3: error: initializer element is not constant
{CAP_SYS_ADMIN, CAPSULE_EN_TOKEN, CAPSULE_DIS_TOKEN},
^~~~~~~~~~~~~
drivers/platform/x86/dell-smbios.c:88:3: note: (near initialization for 'token_whitelist[0].need_capability')
drivers/platform/x86/dell-smbios.c: In function 'dell_smbios_call_filter':
drivers/platform/x86/dell-smbios.c:245:8: error: implicit declaration of function 'capable' [-Werror=implicit-function-declaration]
capable(token_whitelist[i].need_capability)) {
^~~~~~~
>> drivers/platform/x86/dell-smbios.c:271:14: error: 'CAP_SYS_RAWIO' undeclared (first use in this function)
if (capable(CAP_SYS_RAWIO)) {
^~~~~~~~~~~~~
drivers/platform/x86/dell-smbios.c:271:14: note: each undeclared identifier is reported only once for each function it appears in
cc1: some warnings being treated as errors

vim +/CAP_SYS_ADMIN +53 drivers/platform/x86/dell-smbios.c

47
48 /* calls that are whitelisted for given capabilities */
49 static struct smbios_call call_whitelist[] = {
50 /* generally tokens are allowed, but may be further filtered or
51 * restricted by token blacklist or whitelist
52 */
> 53 {CAP_SYS_ADMIN, CLASS_TOKEN_READ, SELECT_TOKEN_STD},
54 {CAP_SYS_ADMIN, CLASS_TOKEN_READ, SELECT_TOKEN_AC},
55 {CAP_SYS_ADMIN, CLASS_TOKEN_READ, SELECT_TOKEN_BAT},
56 {CAP_SYS_ADMIN, CLASS_TOKEN_WRITE, SELECT_TOKEN_STD},
57 {CAP_SYS_ADMIN, CLASS_TOKEN_WRITE, SELECT_TOKEN_AC},
58 {CAP_SYS_ADMIN, CLASS_TOKEN_WRITE, SELECT_TOKEN_BAT},
59 /* used by userspace: fwupdate */
60 {CAP_SYS_ADMIN, CLASS_ADMIN_PROP, SELECT_ADMIN_PROP},
61 /* used by userspace: fwupd */
62 {CAP_SYS_ADMIN, CLASS_INFO, SELECT_DOCK},
63 {CAP_SYS_ADMIN, CLASS_FLASH_INTERFACE, SELECT_FLASH_INTERFACE},
64 };
65
66 /* calls that are explicitly blacklisted */
67 static struct smbios_call call_blacklist[] = {
68 {0x0000, 01, 07}, /* manufacturing use */
69 {0x0000, 06, 05}, /* manufacturing use */
70 {0x0000, 11, 03}, /* write once */
71 {0x0000, 11, 07}, /* write once */
72 {0x0000, 11, 11}, /* write once */
73 {0x0000, 19, -1}, /* diagnostics */
74 /* handled by kernel: dell-laptop */
75 {0x0000, CLASS_INFO, SELECT_RFKILL},
76 {0x0000, CLASS_KBD_BACKLIGHT, SELECT_KBD_BACKLIGHT},
77 };
78
79 struct token_range {
80 u32 need_capability;
81 u16 min;
82 u16 max;
83 };
84
85 /* tokens that are whitelisted for given capabilities */
86 static struct token_range token_whitelist[] = {
87 /* used by userspace: fwupdate */
> 88 {CAP_SYS_ADMIN, CAPSULE_EN_TOKEN, CAPSULE_DIS_TOKEN},
89 /* can indicate to userspace that WMI is needed */
90 {0x0000, WSMT_EN_TOKEN, WSMT_DIS_TOKEN}
91 };
92

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation

Attachment: .config.gz
Description: application/gzip