Hi Mario, [auto build test WARNING on platform-drivers-x86/for-next] [also build test WARNING on next-20171016] [cannot apply to v4.14-rc5] [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: i386-randconfig-x002-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=i386 All warnings (new ones prefixed by >>): In file included from include/linux/ioport.h:12:0, from include/linux/acpi.h:25, from drivers/platform/x86/wmi.c:36: drivers/platform/x86/wmi.c: In function 'match_ioctl': drivers/platform/x86/wmi.c:861:14: error: 'struct wmi_driver' has no member named 'compat_ioctl'; did you mean 'unlocked_ioctl'? if (wdriver->compat_ioctl) ^ include/linux/compiler.h:156:30: note: in definition of macro '__trace_if' if (__builtin_constant_p(!!(cond)) ? !!(cond) : \ ^~~~ >> drivers/platform/x86/wmi.c:861:3: note: in expansion of macro 'if' if (wdriver->compat_ioctl) ^~ drivers/platform/x86/wmi.c:861:14: error: 'struct wmi_driver' has no member named 'compat_ioctl'; did you mean 'unlocked_ioctl'? if (wdriver->compat_ioctl) ^ include/linux/compiler.h:156:42: note: in definition of macro '__trace_if' if (__builtin_constant_p(!!(cond)) ? !!(cond) : \ ^~~~ >> drivers/platform/x86/wmi.c:861:3: note: in expansion of macro 'if' if (wdriver->compat_ioctl) ^~ drivers/platform/x86/wmi.c:861:14: error: 'struct wmi_driver' has no member named 'compat_ioctl'; did you mean 'unlocked_ioctl'? if (wdriver->compat_ioctl) ^ include/linux/compiler.h:167:16: note: in definition of macro '__trace_if' ______r = !!(cond); \ ^~~~ >> drivers/platform/x86/wmi.c:861:3: note: in expansion of macro 'if' if (wdriver->compat_ioctl) ^~ drivers/platform/x86/wmi.c:862:17: error: 'struct wmi_driver' has no member named 'compat_ioctl'; did you mean 'unlocked_ioctl'? ret = wdriver->compat_ioctl(&wblock->dev, cmd, arg); ^~ At top level: drivers/platform/x86/wmi.c:877:13: warning: 'wmi_compat_ioctl' defined but not used [-Wunused-function] static long wmi_compat_ioctl(struct file *filp, unsigned int cmd, ^~~~~~~~~~~~~~~~ vim +/if +861 drivers/platform/x86/wmi.c 802 803 static long match_ioctl(struct file *filp, unsigned int cmd, unsigned long arg, 804 int compat) 805 { 806 struct wmi_ioctl_buffer __user *input = 807 (struct wmi_ioctl_buffer __user *) arg; 808 struct wmi_driver *wdriver = NULL; 809 struct wmi_block *wblock = NULL; 810 struct wmi_block *next = NULL; 811 const char *driver_name; 812 u64 size; 813 int ret; 814 815 if (_IOC_TYPE(cmd) != WMI_IOC) 816 return -ENOTTY; 817 818 driver_name = filp->f_path.dentry->d_iname; 819 820 list_for_each_entry_safe(wblock, next, &wmi_block_list, list) { 821 wdriver = container_of(wblock->dev.dev.driver, 822 struct wmi_driver, driver); 823 if (!wdriver) 824 continue; 825 if (strcmp(driver_name, wdriver->driver.name) == 0) 826 break; 827 } 828 829 if (!wdriver) 830 return -ENODEV; 831 832 /* make sure we're not calling a higher instance than exists*/ 833 if (_IOC_NR(cmd) >= wblock->gblock.instance_count) 834 return -EINVAL; 835 836 /* check that required buffer size was declared by driver */ 837 if (!wblock->req_buf_size) { 838 dev_err(&wblock->dev.dev, "Required buffer size not set\n"); 839 return -EINVAL; 840 } 841 if (get_user(size, &input->length)) { 842 dev_dbg(&wblock->dev.dev, "Read length from user failed\n"); 843 return -EFAULT; 844 } 845 /* if it's too small, abort */ 846 if (size < wblock->req_buf_size) { 847 dev_err(&wblock->dev.dev, 848 "Buffer %lld too small, need at least %lld\n", 849 size, wblock->req_buf_size); 850 return -EINVAL; 851 } 852 /* if it's too big, warn, driver will only use what is needed */ 853 if (size > wblock->req_buf_size) 854 dev_warn(&wblock->dev.dev, 855 "Buffer %lld is bigger than required %lld\n", 856 size, wblock->req_buf_size); 857 858 if (!try_module_get(wdriver->driver.owner)) 859 return -EBUSY; 860 if (compat) { > 861 if (wdriver->compat_ioctl) 862 ret = wdriver->compat_ioctl(&wblock->dev, cmd, arg); 863 else 864 ret = -ENODEV; 865 } else 866 ret = wdriver->unlocked_ioctl(&wblock->dev, cmd, arg); 867 module_put(wdriver->driver.owner); 868 869 return ret; 870 } 871 static long wmi_unlocked_ioctl(struct file *filp, unsigned int cmd, 872 unsigned long arg) 873 { 874 return match_ioctl(filp, cmd, arg, 0); 875 } 876 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
Attachment:
.config.gz
Description: application/gzip