[zen-kernel-zen-kernel:5.13/futex2-tkg 4/15] kernel/futex2.c:1089:30: error: storage size of 'tmp' isn't known
by kernel test robot
tree: https://github.com/zen-kernel/zen-kernel 5.13/futex2-tkg
head: 8eb940ffa39f19c4ddf284615dfb27a6444a3c1d
commit: 0180aec9b832267462e7d6bfc1659ac5bd32350a [4/15] futex2: Implement requeue operation
config: mips-randconfig-r026-20210720 (attached as .config)
compiler: mips64-linux-gcc (GCC) 10.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/zen-kernel/zen-kernel/commit/0180aec9b832267462e7d6bfc...
git remote add zen-kernel-zen-kernel https://github.com/zen-kernel/zen-kernel
git fetch --no-tags zen-kernel-zen-kernel 5.13/futex2-tkg
git checkout 0180aec9b832267462e7d6bfc1659ac5bd32350a
# save the attached .config to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-10.3.0 make.cross O=build_dir ARCH=mips SHELL=/bin/bash
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 >>):
kernel/futex2.c:723:16: warning: 'struct compat_futex_waitv' declared inside parameter list will not be visible outside of this definition or declaration
723 | struct compat_futex_waitv __user *uwaitv,
| ^~~~~~~~~~~~~~~~~~
kernel/futex2.c: In function 'compat_futex_parse_waitv':
kernel/futex2.c:727:28: error: storage size of 'waitv' isn't known
727 | struct compat_futex_waitv waitv;
| ^~~~~
kernel/futex2.c:731:37: error: invalid use of undefined type 'struct compat_futex_waitv'
731 | if (copy_from_user(&waitv, &uwaitv[i], sizeof(waitv)))
| ^
kernel/futex2.c:740:31: error: implicit declaration of function 'compat_ptr' [-Werror=implicit-function-declaration]
740 | futexv->objects[i].uaddr = compat_ptr(waitv.uaddr);
| ^~~~~~~~~~
kernel/futex2.c:727:28: warning: unused variable 'waitv' [-Wunused-variable]
727 | struct compat_futex_waitv waitv;
| ^~~~~
kernel/futex2.c: At top level:
kernel/futex2.c:759:36: error: expected ')' before 'struct'
759 | COMPAT_SYSCALL_DEFINE4(futex_waitv, struct compat_futex_waitv __user *, waiters,
| ^~~~~~~
| )
kernel/futex2.c:1086:18: warning: 'struct compat_futex_requeue' declared inside parameter list will not be visible outside of this definition or declaration
1086 | struct compat_futex_requeue __user *uaddr,
| ^~~~~~~~~~~~~~~~~~~~
kernel/futex2.c: In function 'compat_futex_parse_requeue':
>> kernel/futex2.c:1089:30: error: storage size of 'tmp' isn't known
1089 | struct compat_futex_requeue tmp;
| ^~~
kernel/futex2.c:1089:30: warning: unused variable 'tmp' [-Wunused-variable]
kernel/futex2.c: At top level:
kernel/futex2.c:1106:38: error: expected ')' before 'struct'
1106 | COMPAT_SYSCALL_DEFINE6(futex_requeue, struct compat_futex_requeue __user *, uaddr1,
| ^~~~~~~
| )
kernel/futex2.c:1085:12: warning: 'compat_futex_parse_requeue' defined but not used [-Wunused-function]
1085 | static int compat_futex_parse_requeue(struct futex_requeue *rq,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/futex2.c:722:12: warning: 'compat_futex_parse_waitv' defined but not used [-Wunused-function]
722 | static int compat_futex_parse_waitv(struct futex_waiter_head *futexv,
| ^~~~~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
vim +1089 kernel/futex2.c
1083
1084 #ifdef CONFIG_COMPAT
1085 static int compat_futex_parse_requeue(struct futex_requeue *rq,
1086 struct compat_futex_requeue __user *uaddr,
1087 bool *shared)
1088 {
> 1089 struct compat_futex_requeue tmp;
1090
1091 if (copy_from_user(&tmp, uaddr, sizeof(tmp)))
1092 return -EFAULT;
1093
1094 if (tmp.flags & ~FUTEXV_WAITER_MASK ||
1095 (tmp.flags & FUTEX_SIZE_MASK) != FUTEX_32)
1096 return -EINVAL;
1097
1098 *shared = (tmp.flags & FUTEX_SHARED_FLAG) ? true : false;
1099
1100 rq->uaddr = compat_ptr(tmp.uaddr);
1101 rq->flags = tmp.flags;
1102
1103 return 0;
1104 }
1105
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 2 months
[phy-linux-phy:next 2/5] drivers/phy/qualcomm/phy-qcom-qmp.c:2038:38: warning: unused variable 'sc8180x_qmp_pcie_serdes_tbl'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/phy/linux-phy.git next
head: d64519249e1d5520e8420936d662ec2cfb155dfc
commit: f839f14e24f27ccb1b822dd52f2ff4db340da52a [2/5] phy: qcom-qmp: Add sc8180x PCIe support
config: arm64-randconfig-r016-20210720 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project 87039c048c0cbc3d8cbba86187269b006bf2f373)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install arm64 cross compiling tool for clang build
# apt-get install binutils-aarch64-linux-gnu
# https://git.kernel.org/pub/scm/linux/kernel/git/phy/linux-phy.git/commit/...
git remote add phy-linux-phy https://git.kernel.org/pub/scm/linux/kernel/git/phy/linux-phy.git
git fetch --no-tags phy-linux-phy next
git checkout f839f14e24f27ccb1b822dd52f2ff4db340da52a
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
>> drivers/phy/qualcomm/phy-qcom-qmp.c:2038:38: warning: unused variable 'sc8180x_qmp_pcie_serdes_tbl' [-Wunused-const-variable]
static const struct qmp_phy_init_tbl sc8180x_qmp_pcie_serdes_tbl[] = {
^
1 warning generated.
vim +/sc8180x_qmp_pcie_serdes_tbl +2038 drivers/phy/qualcomm/phy-qcom-qmp.c
2037
> 2038 static const struct qmp_phy_init_tbl sc8180x_qmp_pcie_serdes_tbl[] = {
2039 QMP_PHY_INIT_CFG(QSERDES_V4_COM_SYSCLK_EN_SEL, 0x08),
2040 QMP_PHY_INIT_CFG(QSERDES_V4_COM_CLK_SELECT, 0x34),
2041 QMP_PHY_INIT_CFG(QSERDES_V4_COM_CORECLK_DIV_MODE1, 0x08),
2042 QMP_PHY_INIT_CFG(QSERDES_V4_COM_PLL_IVCO, 0x0f),
2043 QMP_PHY_INIT_CFG(QSERDES_V4_COM_LOCK_CMP_EN, 0x42),
2044 QMP_PHY_INIT_CFG(QSERDES_V4_COM_VCO_TUNE1_MODE0, 0x24),
2045 QMP_PHY_INIT_CFG(QSERDES_V4_COM_VCO_TUNE2_MODE1, 0x03),
2046 QMP_PHY_INIT_CFG(QSERDES_V4_COM_VCO_TUNE1_MODE1, 0xb4),
2047 QMP_PHY_INIT_CFG(QSERDES_V4_COM_VCO_TUNE_MAP, 0x02),
2048 QMP_PHY_INIT_CFG(QSERDES_V4_COM_BIN_VCOCAL_HSCLK_SEL, 0x11),
2049 QMP_PHY_INIT_CFG(QSERDES_V4_COM_DEC_START_MODE0, 0x82),
2050 QMP_PHY_INIT_CFG(QSERDES_V4_COM_DIV_FRAC_START3_MODE0, 0x03),
2051 QMP_PHY_INIT_CFG(QSERDES_V4_COM_DIV_FRAC_START2_MODE0, 0x55),
2052 QMP_PHY_INIT_CFG(QSERDES_V4_COM_DIV_FRAC_START1_MODE0, 0x55),
2053 QMP_PHY_INIT_CFG(QSERDES_V4_COM_LOCK_CMP2_MODE0, 0x1a),
2054 QMP_PHY_INIT_CFG(QSERDES_V4_COM_LOCK_CMP1_MODE0, 0x0a),
2055 QMP_PHY_INIT_CFG(QSERDES_V4_COM_DEC_START_MODE1, 0x68),
2056 QMP_PHY_INIT_CFG(QSERDES_V4_COM_DIV_FRAC_START3_MODE1, 0x02),
2057 QMP_PHY_INIT_CFG(QSERDES_V4_COM_DIV_FRAC_START2_MODE1, 0xaa),
2058 QMP_PHY_INIT_CFG(QSERDES_V4_COM_DIV_FRAC_START1_MODE1, 0xab),
2059 QMP_PHY_INIT_CFG(QSERDES_V4_COM_LOCK_CMP2_MODE1, 0x34),
2060 QMP_PHY_INIT_CFG(QSERDES_V4_COM_LOCK_CMP1_MODE1, 0x14),
2061 QMP_PHY_INIT_CFG(QSERDES_V4_COM_HSCLK_SEL, 0x01),
2062 QMP_PHY_INIT_CFG(QSERDES_V4_COM_CP_CTRL_MODE0, 0x06),
2063 QMP_PHY_INIT_CFG(QSERDES_V4_COM_PLL_RCTRL_MODE0, 0x16),
2064 QMP_PHY_INIT_CFG(QSERDES_V4_COM_PLL_CCTRL_MODE0, 0x36),
2065 QMP_PHY_INIT_CFG(QSERDES_V4_COM_CP_CTRL_MODE1, 0x06),
2066 QMP_PHY_INIT_CFG(QSERDES_V4_COM_PLL_RCTRL_MODE1, 0x16),
2067 QMP_PHY_INIT_CFG(QSERDES_V4_COM_PLL_CCTRL_MODE1, 0x36),
2068 QMP_PHY_INIT_CFG(QSERDES_V4_COM_BIN_VCOCAL_CMP_CODE2_MODE0, 0x1e),
2069 QMP_PHY_INIT_CFG(QSERDES_V4_COM_BIN_VCOCAL_CMP_CODE1_MODE0, 0xca),
2070 QMP_PHY_INIT_CFG(QSERDES_V4_COM_BIN_VCOCAL_CMP_CODE2_MODE1, 0x18),
2071 QMP_PHY_INIT_CFG(QSERDES_V4_COM_BIN_VCOCAL_CMP_CODE1_MODE1, 0xa2),
2072 QMP_PHY_INIT_CFG(QSERDES_V4_COM_SYSCLK_BUF_ENABLE, 0x07),
2073 QMP_PHY_INIT_CFG(QSERDES_V4_COM_SSC_EN_CENTER, 0x01),
2074 QMP_PHY_INIT_CFG(QSERDES_V4_COM_SSC_PER1, 0x31),
2075 QMP_PHY_INIT_CFG(QSERDES_V4_COM_SSC_PER2, 0x01),
2076 QMP_PHY_INIT_CFG(QSERDES_V4_COM_SSC_STEP_SIZE1_MODE0, 0xde),
2077 QMP_PHY_INIT_CFG(QSERDES_V4_COM_SSC_STEP_SIZE2_MODE0, 0x07),
2078 QMP_PHY_INIT_CFG(QSERDES_V4_COM_SSC_STEP_SIZE1_MODE1, 0x4c),
2079 QMP_PHY_INIT_CFG(QSERDES_V4_COM_SSC_STEP_SIZE2_MODE1, 0x06),
2080 QMP_PHY_INIT_CFG(QSERDES_V4_COM_CLK_ENABLE1, 0x90),
2081 };
2082
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 2 months
[freescale-fslc:pr/394 14893/20126] drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_pcie.c:441:6: error: implicit declaration of function 'pci_is_enabled'; did you mean 'pci_acs_enabled'?
by kernel test robot
Hi Fugang,
First bad commit (maybe != root cause):
tree: https://github.com/Freescale/linux-fslc pr/394
head: 0615afea9fc72fd8d47c3ddfb314e0d1d53c51ad
commit: f186a4e65f54a28973c743f8c007b18c1ce95be6 [14893/20126] MLK-24962 net: wireless: nxp: mxm_wifiex: upgrade to mxm5x16203 release
config: sh-allmodconfig (attached as .config)
compiler: sh4-linux-gcc (GCC) 10.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/Freescale/linux-fslc/commit/f186a4e65f54a28973c743f8c0...
git remote add freescale-fslc https://github.com/Freescale/linux-fslc
git fetch --no-tags freescale-fslc pr/394
git checkout f186a4e65f54a28973c743f8c007b18c1ce95be6
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-10.3.0 make.cross ARCH=sh
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 >>):
In file included from drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_pcie.c:31:
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_pcie.h:133:20: error: array type has incomplete element type 'struct msix_entry'
133 | struct msix_entry msix_entries[PCIE_NUM_MSIX_VECTORS];
| ^~~~~~~~~~~~
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_pcie.c:394:5: warning: no previous prototype for 'woal_pcie_probe' [-Wmissing-prototypes]
394 | int woal_pcie_probe(struct pci_dev *pdev, const struct pci_device_id *id)
| ^~~~~~~~~~~~~~~
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_pcie.c: In function 'woal_pcie_probe':
>> drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_pcie.c:441:6: error: implicit declaration of function 'pci_is_enabled'; did you mean 'pci_acs_enabled'? [-Werror=implicit-function-declaration]
441 | if (pci_is_enabled(pdev))
| ^~~~~~~~~~~~~~
| pci_acs_enabled
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_pcie.c: At top level:
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_pcie.c:896:13: warning: no previous prototype for 'woal_pcie_write_data_sync' [-Wmissing-prototypes]
896 | mlan_status woal_pcie_write_data_sync(moal_handle *handle, mlan_buffer *pmbuf,
| ^~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_pcie.c:912:13: warning: no previous prototype for 'woal_pcie_read_data_sync' [-Wmissing-prototypes]
912 | mlan_status woal_pcie_read_data_sync(moal_handle *handle, mlan_buffer *pmbuf,
| ^~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_pcie.c: In function 'woal_pcie_init':
>> drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_pcie.c:1089:8: error: implicit declaration of function 'pci_request_region'; did you mean 'pci_request_regions'? [-Werror=implicit-function-declaration]
1089 | ret = pci_request_region(pdev, 0, DRV_NAME);
| ^~~~~~~~~~~~~~~~~~
| pci_request_regions
>> drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_pcie.c:1094:19: error: implicit declaration of function 'pci_iomap'; did you mean 'pcim_iomap'? [-Werror=implicit-function-declaration]
1094 | card->pci_mmap = pci_iomap(pdev, 0, 0);
| ^~~~~~~~~
| pcim_iomap
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_pcie.c:1094:17: warning: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
1094 | card->pci_mmap = pci_iomap(pdev, 0, 0);
| ^
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_pcie.c:1104:18: warning: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
1104 | card->pci_mmap1 = pci_iomap(pdev, 2, 0);
| ^
>> drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_pcie.c:1118:2: error: implicit declaration of function 'pci_release_region'; did you mean 'pci_release_regions'? [-Werror=implicit-function-declaration]
1118 | pci_release_region(pdev, 2);
| ^~~~~~~~~~~~~~~~~~
| pci_release_regions
>> drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_pcie.c:1120:2: error: implicit declaration of function 'pci_iounmap'; did you mean 'pcim_iounmap'? [-Werror=implicit-function-declaration]
1120 | pci_iounmap(pdev, card->pci_mmap);
| ^~~~~~~~~~~
| pcim_iounmap
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_pcie.c: In function 'woal_pcie_register_dev':
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_pcie.c:1174:9: error: implicit declaration of function 'pci_enable_msix_exact' [-Werror=implicit-function-declaration]
1174 | ret = pci_enable_msix_exact(pdev, card->msix_entries, nvec);
| ^~~~~~~~~~~~~~~~~~~~~
>> drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_pcie.c:1197:6: error: implicit declaration of function 'pci_disable_msix'; did you mean 'pci_disable_sriov'? [-Werror=implicit-function-declaration]
1197 | pci_disable_msix(pdev);
| ^~~~~~~~~~~~~~~~
| pci_disable_sriov
>> drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_pcie.c:1209:9: error: implicit declaration of function 'pci_enable_msi'; did you mean 'pci_enable_ats'? [-Werror=implicit-function-declaration]
1209 | ret = pci_enable_msi(pdev);
| ^~~~~~~~~~~~~~
| pci_enable_ats
>> drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_pcie.c:1216:5: error: implicit declaration of function 'pci_disable_msi'; did you mean 'pci_disable_ats'? [-Werror=implicit-function-declaration]
1216 | pci_disable_msi(pdev);
| ^~~~~~~~~~~~~~~
| pci_disable_ats
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_pcie.c: At top level:
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_pcie.c:1418:5: warning: no previous prototype for 'woal_pcie_dump_reg_info' [-Wmissing-prototypes]
1418 | int woal_pcie_dump_reg_info(moal_handle *phandle, t_u8 *buffer)
| ^~~~~~~~~~~~~~~~~~~~~~~
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_pcie.c:1752:13: warning: no previous prototype for 'woal_read_reg_eight_bit' [-Wmissing-prototypes]
1752 | mlan_status woal_read_reg_eight_bit(moal_handle *handle, t_u32 reg, t_u8 *data)
| ^~~~~~~~~~~~~~~~~~~~~~~
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_pcie.c:1767:13: warning: no previous prototype for 'woal_pcie_rdwr_firmware' [-Wmissing-prototypes]
1767 | rdwr_status woal_pcie_rdwr_firmware(moal_handle *phandle, t_u8 doneflag)
| ^~~~~~~~~~~~~~~~~~~~~~~
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_pcie.c:2013:6: warning: no previous prototype for 'woal_pcie_dump_fw_info_v2' [-Wmissing-prototypes]
2013 | void woal_pcie_dump_fw_info_v2(moal_handle *phandle)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_pcie.c:2192:6: warning: no previous prototype for 'woal_pcie_dump_fw_info' [-Wmissing-prototypes]
2192 | void woal_pcie_dump_fw_info(moal_handle *phandle)
| ^~~~~~~~~~~~~~~~~~~~~~
In file included from drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_main.h:130,
from drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_pcie.h:62,
from drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_pcie.c:31:
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_priv.h:282:34: warning: 'woal_private_args' defined but not used [-Wunused-const-variable=]
282 | static const struct iw_priv_args woal_private_args[] = {
| ^~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
vim +441 drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_pcie.c
688b67b2c7220b Fugang Duan 2020-04-19 385
688b67b2c7220b Fugang Duan 2020-04-19 386 /**
688b67b2c7220b Fugang Duan 2020-04-19 387 * @brief This function handles PCIE driver probe
688b67b2c7220b Fugang Duan 2020-04-19 388 *
688b67b2c7220b Fugang Duan 2020-04-19 389 * @param pdev A pointer to pci_dev structure
688b67b2c7220b Fugang Duan 2020-04-19 390 * @param id A pointer to pci_device_id structure
688b67b2c7220b Fugang Duan 2020-04-19 391 *
688b67b2c7220b Fugang Duan 2020-04-19 392 * @return error code
688b67b2c7220b Fugang Duan 2020-04-19 393 */
6b4a83a75fc1dc Fugang Duan 2020-05-28 394 int woal_pcie_probe(struct pci_dev *pdev, const struct pci_device_id *id)
688b67b2c7220b Fugang Duan 2020-04-19 395 {
688b67b2c7220b Fugang Duan 2020-04-19 396 pcie_service_card *card = NULL;
688b67b2c7220b Fugang Duan 2020-04-19 397 t_u16 card_type = 0;
688b67b2c7220b Fugang Duan 2020-04-19 398 int ret = 0;
688b67b2c7220b Fugang Duan 2020-04-19 399
688b67b2c7220b Fugang Duan 2020-04-19 400 ENTER();
688b67b2c7220b Fugang Duan 2020-04-19 401
6b4a83a75fc1dc Fugang Duan 2020-05-28 402 PRINTM(MINFO, "vendor=0x%4.04X device=0x%4.04X rev=%d\n", pdev->vendor,
6b4a83a75fc1dc Fugang Duan 2020-05-28 403 pdev->device, pdev->revision);
688b67b2c7220b Fugang Duan 2020-04-19 404
688b67b2c7220b Fugang Duan 2020-04-19 405 /* Preinit PCIE device so allocate PCIE memory can be successful */
688b67b2c7220b Fugang Duan 2020-04-19 406 if (woal_pcie_preinit(pdev)) {
688b67b2c7220b Fugang Duan 2020-04-19 407 PRINTM(MFATAL, "MOAL PCIE preinit failed\n");
688b67b2c7220b Fugang Duan 2020-04-19 408 LEAVE();
688b67b2c7220b Fugang Duan 2020-04-19 409 return -EFAULT;
688b67b2c7220b Fugang Duan 2020-04-19 410 }
688b67b2c7220b Fugang Duan 2020-04-19 411
688b67b2c7220b Fugang Duan 2020-04-19 412 card = kzalloc(sizeof(pcie_service_card), GFP_KERNEL);
688b67b2c7220b Fugang Duan 2020-04-19 413 if (!card) {
688b67b2c7220b Fugang Duan 2020-04-19 414 PRINTM(MERROR, "%s: failed to alloc memory\n", __func__);
688b67b2c7220b Fugang Duan 2020-04-19 415 ret = -ENOMEM;
688b67b2c7220b Fugang Duan 2020-04-19 416 goto err;
688b67b2c7220b Fugang Duan 2020-04-19 417 }
688b67b2c7220b Fugang Duan 2020-04-19 418
688b67b2c7220b Fugang Duan 2020-04-19 419 card->dev = pdev;
688b67b2c7220b Fugang Duan 2020-04-19 420
688b67b2c7220b Fugang Duan 2020-04-19 421 card_type = woal_update_card_type(card);
688b67b2c7220b Fugang Duan 2020-04-19 422 if (!card_type) {
688b67b2c7220b Fugang Duan 2020-04-19 423 PRINTM(MERROR, "pcie probe: woal_update_card_type() failed\n");
688b67b2c7220b Fugang Duan 2020-04-19 424 ret = MLAN_STATUS_FAILURE;
688b67b2c7220b Fugang Duan 2020-04-19 425 goto err;
688b67b2c7220b Fugang Duan 2020-04-19 426 }
688b67b2c7220b Fugang Duan 2020-04-19 427 woal_pcie_init(card);
688b67b2c7220b Fugang Duan 2020-04-19 428
6b4a83a75fc1dc Fugang Duan 2020-05-28 429 if (woal_add_card(card, &card->dev->dev, &pcie_ops, card_type) ==
6b4a83a75fc1dc Fugang Duan 2020-05-28 430 NULL) {
688b67b2c7220b Fugang Duan 2020-04-19 431 woal_pcie_cleanup(card);
688b67b2c7220b Fugang Duan 2020-04-19 432 PRINTM(MERROR, "%s: failed\n", __func__);
688b67b2c7220b Fugang Duan 2020-04-19 433 ret = -EFAULT;
688b67b2c7220b Fugang Duan 2020-04-19 434 goto err;
688b67b2c7220b Fugang Duan 2020-04-19 435 }
688b67b2c7220b Fugang Duan 2020-04-19 436
688b67b2c7220b Fugang Duan 2020-04-19 437 LEAVE();
688b67b2c7220b Fugang Duan 2020-04-19 438 return ret;
688b67b2c7220b Fugang Duan 2020-04-19 439 err:
688b67b2c7220b Fugang Duan 2020-04-19 440 kfree(card);
688b67b2c7220b Fugang Duan 2020-04-19 @441 if (pci_is_enabled(pdev))
688b67b2c7220b Fugang Duan 2020-04-19 442 pci_disable_device(pdev);
688b67b2c7220b Fugang Duan 2020-04-19 443
688b67b2c7220b Fugang Duan 2020-04-19 444 LEAVE();
688b67b2c7220b Fugang Duan 2020-04-19 445 return ret;
688b67b2c7220b Fugang Duan 2020-04-19 446 }
688b67b2c7220b Fugang Duan 2020-04-19 447
:::::: The code at line 441 was first introduced by commit
:::::: 688b67b2c7220b01521ffe560da7eee33042c7bd MLK-23806-01 net: wireless: nxp: mxm_wifiex: add initial MxM wifi driver
:::::: TO: Fugang Duan <fugang.duan(a)nxp.com>
:::::: CC: Fugang Duan <fugang.duan(a)nxp.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 2 months
[arnd-playground:compat-alloc-user-space-10 35/40] drivers/net/ethernet/intel/ice/ice_main.c:6567: warning: expecting prototype for ice_do_ioctl(). Prototype was for ice_eth_ioctl() instead
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/arnd/playground.git compat-alloc-user-space-10
head: 62f24dbc07a07cc9ed7b4c817d4c6e94bbc94b48
commit: d662de8f2059807144906f19d332121b3073b621 [35/40] dev_ioctl: split out ndo_eth_ioctl
config: x86_64-randconfig-a012-20210720 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project 87039c048c0cbc3d8cbba86187269b006bf2f373)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install x86_64 cross compiling tool for clang build
# apt-get install binutils-x86-64-linux-gnu
# https://git.kernel.org/pub/scm/linux/kernel/git/arnd/playground.git/commi...
git remote add arnd-playground https://git.kernel.org/pub/scm/linux/kernel/git/arnd/playground.git
git fetch --no-tags arnd-playground compat-alloc-user-space-10
git checkout d662de8f2059807144906f19d332121b3073b621
# save the attached .config to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross O=build_dir ARCH=x86_64 SHELL=/bin/bash drivers/net/ethernet/intel/ice/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
>> drivers/net/ethernet/intel/ice/ice_main.c:6567: warning: expecting prototype for ice_do_ioctl(). Prototype was for ice_eth_ioctl() instead
Kconfig warnings: (for reference only)
WARNING: unmet direct dependencies detected for PHY_SPARX5_SERDES
Depends on (ARCH_SPARX5 || COMPILE_TEST && OF && HAS_IOMEM
Selected by
- SPARX5_SWITCH && NETDEVICES && ETHERNET && NET_VENDOR_MICROCHIP && NET_SWITCHDEV && HAS_IOMEM && OF
vim +6567 drivers/net/ethernet/intel/ice/ice_main.c
e94d4478669357 Anirudh Venkataramanan 2018-03-20 6559
77a781155a6590 Jacob Keller 2021-06-09 6560 /**
77a781155a6590 Jacob Keller 2021-06-09 6561 * ice_do_ioctl - Access the hwtstamp interface
77a781155a6590 Jacob Keller 2021-06-09 6562 * @netdev: network interface device structure
77a781155a6590 Jacob Keller 2021-06-09 6563 * @ifr: interface request data
77a781155a6590 Jacob Keller 2021-06-09 6564 * @cmd: ioctl command
77a781155a6590 Jacob Keller 2021-06-09 6565 */
d662de8f205980 Arnd Bergmann 2020-11-06 6566 static int ice_eth_ioctl(struct net_device *netdev, struct ifreq *ifr, int cmd)
77a781155a6590 Jacob Keller 2021-06-09 @6567 {
77a781155a6590 Jacob Keller 2021-06-09 6568 struct ice_netdev_priv *np = netdev_priv(netdev);
77a781155a6590 Jacob Keller 2021-06-09 6569 struct ice_pf *pf = np->vsi->back;
77a781155a6590 Jacob Keller 2021-06-09 6570
77a781155a6590 Jacob Keller 2021-06-09 6571 switch (cmd) {
77a781155a6590 Jacob Keller 2021-06-09 6572 case SIOCGHWTSTAMP:
77a781155a6590 Jacob Keller 2021-06-09 6573 return ice_ptp_get_ts_config(pf, ifr);
77a781155a6590 Jacob Keller 2021-06-09 6574 case SIOCSHWTSTAMP:
77a781155a6590 Jacob Keller 2021-06-09 6575 return ice_ptp_set_ts_config(pf, ifr);
77a781155a6590 Jacob Keller 2021-06-09 6576 default:
77a781155a6590 Jacob Keller 2021-06-09 6577 return -EOPNOTSUPP;
77a781155a6590 Jacob Keller 2021-06-09 6578 }
77a781155a6590 Jacob Keller 2021-06-09 6579 }
77a781155a6590 Jacob Keller 2021-06-09 6580
:::::: The code at line 6567 was first introduced by commit
:::::: 77a781155a659053f3b7e81a0ab115d27ff151cd ice: enable receive hardware timestamping
:::::: TO: Jacob Keller <jacob.e.keller(a)intel.com>
:::::: CC: Tony Nguyen <anthony.l.nguyen(a)intel.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 2 months
[stblinux:drivers/fixes 1/1] drivers/firmware/broadcom/tee_bnxt_fw.c:215:16: error: implicit declaration of function 'tee_shm_alloc_kernel_buf'
by kernel test robot
tree: https://github.com/Broadcom/stblinux drivers/fixes
head: 4ecd797b7e16eb7f1b86fbfd7e4a7887b192535b
commit: 4ecd797b7e16eb7f1b86fbfd7e4a7887b192535b [1/1] firmware: tee_bnxt: Release TEE shm, session, and context during kexec
config: x86_64-randconfig-a016-20210720 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project 87039c048c0cbc3d8cbba86187269b006bf2f373)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install x86_64 cross compiling tool for clang build
# apt-get install binutils-x86-64-linux-gnu
# https://github.com/Broadcom/stblinux/commit/4ecd797b7e16eb7f1b86fbfd7e4a7...
git remote add stblinux https://github.com/Broadcom/stblinux
git fetch --no-tags stblinux drivers/fixes
git checkout 4ecd797b7e16eb7f1b86fbfd7e4a7887b192535b
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All error/warnings (new ones prefixed by >>):
>> drivers/firmware/broadcom/tee_bnxt_fw.c:215:16: error: implicit declaration of function 'tee_shm_alloc_kernel_buf' [-Werror,-Wimplicit-function-declaration]
fw_shm_pool = tee_shm_alloc_kernel_buf(pvt_data.ctx, MAX_SHM_MEM_SZ);
^
>> drivers/firmware/broadcom/tee_bnxt_fw.c:215:14: warning: incompatible integer to pointer conversion assigning to 'struct tee_shm *' from 'int' [-Wint-conversion]
fw_shm_pool = tee_shm_alloc_kernel_buf(pvt_data.ctx, MAX_SHM_MEM_SZ);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning and 1 error generated.
vim +/tee_shm_alloc_kernel_buf +215 drivers/firmware/broadcom/tee_bnxt_fw.c
183
184 static int tee_bnxt_fw_probe(struct device *dev)
185 {
186 struct tee_client_device *bnxt_device = to_tee_client_device(dev);
187 int ret, err = -ENODEV;
188 struct tee_ioctl_open_session_arg sess_arg;
189 struct tee_shm *fw_shm_pool;
190
191 memset(&sess_arg, 0, sizeof(sess_arg));
192
193 /* Open context with TEE driver */
194 pvt_data.ctx = tee_client_open_context(NULL, optee_ctx_match, NULL,
195 NULL);
196 if (IS_ERR(pvt_data.ctx))
197 return -ENODEV;
198
199 /* Open session with Bnxt load Trusted App */
200 memcpy(sess_arg.uuid, bnxt_device->id.uuid.b, TEE_IOCTL_UUID_LEN);
201 sess_arg.clnt_login = TEE_IOCTL_LOGIN_PUBLIC;
202 sess_arg.num_params = 0;
203
204 ret = tee_client_open_session(pvt_data.ctx, &sess_arg, NULL);
205 if (ret < 0 || sess_arg.ret != 0) {
206 dev_err(dev, "tee_client_open_session failed, err: %x\n",
207 sess_arg.ret);
208 err = -EINVAL;
209 goto out_ctx;
210 }
211 pvt_data.session_id = sess_arg.session;
212
213 pvt_data.dev = dev;
214
> 215 fw_shm_pool = tee_shm_alloc_kernel_buf(pvt_data.ctx, MAX_SHM_MEM_SZ);
216 if (IS_ERR(fw_shm_pool)) {
217 dev_err(pvt_data.dev, "tee_shm_alloc_kernel_buf failed\n");
218 err = PTR_ERR(fw_shm_pool);
219 goto out_sess;
220 }
221
222 pvt_data.fw_shm_pool = fw_shm_pool;
223
224 return 0;
225
226 out_sess:
227 tee_client_close_session(pvt_data.ctx, pvt_data.session_id);
228 out_ctx:
229 tee_client_close_context(pvt_data.ctx);
230
231 return err;
232 }
233
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 2 months
[zen-kernel-zen-kernel:5.13/futex2-tkg 1/15] arch/nios2/kernel/syscall_table.c:13:36: warning: initialized field overwritten
by kernel test robot
tree: https://github.com/zen-kernel/zen-kernel 5.13/futex2-tkg
head: 8eb940ffa39f19c4ddf284615dfb27a6444a3c1d
commit: 37a0532a3900c993a6c2c213f20d6b8f3b93be52 [1/15] futex2: Implement wait and wake functions
config: nios2-allyesconfig (attached as .config)
compiler: nios2-linux-gcc (GCC) 10.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/zen-kernel/zen-kernel/commit/37a0532a3900c993a6c2c213f...
git remote add zen-kernel-zen-kernel https://github.com/zen-kernel/zen-kernel
git fetch --no-tags zen-kernel-zen-kernel 5.13/futex2-tkg
git checkout 37a0532a3900c993a6c2c213f20d6b8f3b93be52
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-10.3.0 make.cross ARCH=nios2
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
>> arch/nios2/kernel/syscall_table.c:13:36: warning: initialized field overwritten [-Woverride-init]
13 | #define __SYSCALL(nr, call) [nr] = (call),
| ^
include/uapi/asm-generic/unistd.h:879:1: note: in expansion of macro '__SYSCALL'
879 | __SYSCALL(__NR_futex_wake, sys_futex_wake)
| ^~~~~~~~~
arch/nios2/kernel/syscall_table.c:13:36: note: (near initialization for 'sys_call_table[444]')
13 | #define __SYSCALL(nr, call) [nr] = (call),
| ^
include/uapi/asm-generic/unistd.h:879:1: note: in expansion of macro '__SYSCALL'
879 | __SYSCALL(__NR_futex_wake, sys_futex_wake)
| ^~~~~~~~~
vim +13 arch/nios2/kernel/syscall_table.c
1000197d801329 Ley Foon Tan 2014-11-06 11
1000197d801329 Ley Foon Tan 2014-11-06 12 #undef __SYSCALL
1000197d801329 Ley Foon Tan 2014-11-06 @13 #define __SYSCALL(nr, call) [nr] = (call),
1000197d801329 Ley Foon Tan 2014-11-06 14
:::::: The code at line 13 was first introduced by commit
:::::: 1000197d801329804d30094aef5dba0265204d17 nios2: System calls handling
:::::: TO: Ley Foon Tan <lftan(a)altera.com>
:::::: CC: Ley Foon Tan <lftan(a)altera.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 2 months
[xlnx:xlnx_rebase_v5.4 942/1765] drivers/mtd/spi-nor/spi-nor.c:5196:14: error: implicit declaration of function 'of_get_next_parent'
by kernel test robot
Hi Amit,
FYI, the error/warning still remains.
tree: https://github.com/Xilinx/linux-xlnx xlnx_rebase_v5.4
head: 2f686fa6c0bf7fa168dc45dd7ce1359217212911
commit: 24bcc7359bdd609cedf0a715d77dc39e4ad782db [942/1765] mtd: spi-nor: Added axi-qspi support in spi-nor framework
config: x86_64-randconfig-r013-20210720 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project 87039c048c0cbc3d8cbba86187269b006bf2f373)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install x86_64 cross compiling tool for clang build
# apt-get install binutils-x86-64-linux-gnu
# https://github.com/Xilinx/linux-xlnx/commit/24bcc7359bdd609cedf0a715d77dc...
git remote add xlnx https://github.com/Xilinx/linux-xlnx
git fetch --no-tags xlnx xlnx_rebase_v5.4
git checkout 24bcc7359bdd609cedf0a715d77dc39e4ad782db
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All error/warnings (new ones prefixed by >>):
drivers/mtd/spi-nor/spi-nor.c:691:5: warning: variable 'code' set but not used [-Wunused-but-set-variable]
u8 code;
^
drivers/mtd/spi-nor/spi-nor.c:2741:9: warning: variable 'addr' set but not used [-Wunused-but-set-variable]
loff_t addr = 0;
^
>> drivers/mtd/spi-nor/spi-nor.c:5196:14: error: implicit declaration of function 'of_get_next_parent' [-Werror,-Wimplicit-function-declaration]
np_spi = of_get_next_parent(np);
^
>> drivers/mtd/spi-nor/spi-nor.c:5196:12: warning: incompatible integer to pointer conversion assigning to 'struct device_node *' from 'int' [-Wint-conversion]
np_spi = of_get_next_parent(np);
^ ~~~~~~~~~~~~~~~~~~~~~~
drivers/mtd/spi-nor/spi-nor.c:5266:11: error: returning 'const struct flash_info *' from a function with result type 'struct flash_info *' discards qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers]
return jinfo;
^~~~~
drivers/mtd/spi-nor/spi-nor.c:5281:9: error: returning 'const struct flash_info *' from a function with result type 'struct flash_info *' discards qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers]
return info;
^~~~
drivers/mtd/spi-nor/spi-nor.c:5295:6: warning: unused variable 'is_dual' [-Wunused-variable]
u32 is_dual;
^
drivers/mtd/spi-nor/spi-nor.c:5294:22: warning: unused variable 'np_spi' [-Wunused-variable]
struct device_node *np_spi;
^
5 warnings and 3 errors generated.
vim +/of_get_next_parent +5196 drivers/mtd/spi-nor/spi-nor.c
5162
5163 static int spi_nor_set_addr_width(struct spi_nor *nor)
5164 {
5165 struct device_node *np = spi_nor_get_flash_node(nor);
5166 struct device_node *np_spi;
5167 if (nor->addr_width) {
5168 /* already configured from SFDP */
5169 } else if (nor->info->addr_width) {
5170 nor->addr_width = nor->info->addr_width;
5171 } else if (nor->mtd.size > 0x1000000) {
5172 #ifdef CONFIG_OF
5173 np_spi = of_get_next_parent(np);
5174 if (of_property_match_string(np_spi, "compatible",
5175 "xlnx,zynq-qspi-1.0") >= 0) {
5176 int status;
5177
5178 nor->addr_width = 3;
5179 nor->params.set_4byte(nor, false);
5180 status = read_ear(nor, (struct flash_info *)nor->info);
5181 if (status < 0)
5182 dev_warn(nor->dev, "failed to read ear reg\n");
5183 else
5184 nor->curbank = status & EAR_SEGMENT_MASK;
5185 } else {
5186 #endif
5187 /*
5188 * enable 4-byte addressing if the
5189 * device exceeds 16MiB
5190 */
5191 nor->addr_width = 4;
5192 if (JEDEC_MFR(nor->info) == SNOR_MFR_SPANSION ||
5193 nor->info->flags & SPI_NOR_4B_OPCODES) {
5194 spi_nor_set_4byte_opcodes(nor);
5195 } else {
> 5196 np_spi = of_get_next_parent(np);
5197 if (of_property_match_string(np_spi,
5198 "compatible",
5199 "xlnx,xps-spi-2.00.a") >= 0) {
5200 nor->addr_width = 3;
5201 nor->params.set_4byte(nor, false);
5202 } else {
5203 nor->params.set_4byte(nor, true);
5204 if (nor->isstacked) {
5205 nor->spi->master->flags |=
5206 SPI_MASTER_U_PAGE;
5207 nor->params.set_4byte(nor, true);
5208 nor->spi->master->flags &=
5209 ~SPI_MASTER_U_PAGE;
5210 }
5211 }
5212 }
5213 #ifdef CONFIG_OF
5214 }
5215 #endif
5216 } else {
5217 nor->addr_width = 3;
5218 }
5219
5220 if (nor->addr_width > SPI_NOR_MAX_ADDR_WIDTH) {
5221 dev_err(nor->dev, "address width is too large: %u\n",
5222 nor->addr_width);
5223 return -EINVAL;
5224 }
5225
5226 /* Set 4byte opcodes when possible. */
5227 if (nor->addr_width == 4 && nor->flags & SNOR_F_4B_OPCODES &&
5228 !(nor->flags & SNOR_F_HAS_4BAIT))
5229 spi_nor_set_4byte_opcodes(nor);
5230
5231 return 0;
5232 }
5233
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 2 months
[zen-kernel-zen-kernel:5.13/futex2-tkg 3/15] kernel/futex2.c:727:28: error: storage size of 'waitv' isn't known
by kernel test robot
tree: https://github.com/zen-kernel/zen-kernel 5.13/futex2-tkg
head: 8eb940ffa39f19c4ddf284615dfb27a6444a3c1d
commit: e0c5fabdb1a5efa8d1c606485e22709fd4f90fb5 [3/15] futex2: Implement vectorized wait
config: mips-randconfig-r026-20210720 (attached as .config)
compiler: mips64-linux-gcc (GCC) 10.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/zen-kernel/zen-kernel/commit/e0c5fabdb1a5efa8d1c606485...
git remote add zen-kernel-zen-kernel https://github.com/zen-kernel/zen-kernel
git fetch --no-tags zen-kernel-zen-kernel 5.13/futex2-tkg
git checkout e0c5fabdb1a5efa8d1c606485e22709fd4f90fb5
# save the attached .config to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-10.3.0 make.cross O=build_dir ARCH=mips SHELL=/bin/bash
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 >>):
kernel/futex2.c:723:16: warning: 'struct compat_futex_waitv' declared inside parameter list will not be visible outside of this definition or declaration
723 | struct compat_futex_waitv __user *uwaitv,
| ^~~~~~~~~~~~~~~~~~
kernel/futex2.c: In function 'compat_futex_parse_waitv':
>> kernel/futex2.c:727:28: error: storage size of 'waitv' isn't known
727 | struct compat_futex_waitv waitv;
| ^~~~~
kernel/futex2.c:731:37: error: invalid use of undefined type 'struct compat_futex_waitv'
731 | if (copy_from_user(&waitv, &uwaitv[i], sizeof(waitv)))
| ^
kernel/futex2.c:740:31: error: implicit declaration of function 'compat_ptr' [-Werror=implicit-function-declaration]
740 | futexv->objects[i].uaddr = compat_ptr(waitv.uaddr);
| ^~~~~~~~~~
kernel/futex2.c:727:28: warning: unused variable 'waitv' [-Wunused-variable]
727 | struct compat_futex_waitv waitv;
| ^~~~~
kernel/futex2.c: At top level:
kernel/futex2.c:759:36: error: expected ')' before 'struct'
759 | COMPAT_SYSCALL_DEFINE4(futex_waitv, struct compat_futex_waitv __user *, waiters,
| ^~~~~~~
| )
kernel/futex2.c:722:12: warning: 'compat_futex_parse_waitv' defined but not used [-Wunused-function]
722 | static int compat_futex_parse_waitv(struct futex_waiter_head *futexv,
| ^~~~~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
vim +727 kernel/futex2.c
712
713 #ifdef CONFIG_COMPAT
714 /**
715 * compat_futex_parse_waitv - Parse a waitv array from userspace
716 * @futexv: Kernel side list of waiters to be filled
717 * @uwaitv: Userspace list to be parsed
718 * @nr_futexes: Length of futexv
719 *
720 * Return: Error code on failure, pointer to a prepared futexv otherwise
721 */
722 static int compat_futex_parse_waitv(struct futex_waiter_head *futexv,
> 723 struct compat_futex_waitv __user *uwaitv,
724 unsigned int nr_futexes)
725 {
726 struct futex_bucket *bucket;
> 727 struct compat_futex_waitv waitv;
728 unsigned int i;
729
730 for (i = 0; i < nr_futexes; i++) {
731 if (copy_from_user(&waitv, &uwaitv[i], sizeof(waitv)))
732 return -EFAULT;
733
734 if ((waitv.flags & ~FUTEXV_WAITER_MASK) ||
735 (waitv.flags & FUTEX_SIZE_MASK) != FUTEX_32)
736 return -EINVAL;
737
738 futexv->objects[i].key.pointer = 0;
739 futexv->objects[i].flags = waitv.flags;
740 futexv->objects[i].uaddr = compat_ptr(waitv.uaddr);
741 futexv->objects[i].val = waitv.val;
742 futexv->objects[i].index = i;
743
744 bucket = futex_get_bucket(compat_ptr(waitv.uaddr),
745 &futexv->objects[i].key,
746 is_object_shared);
747
748 if (IS_ERR(bucket))
749 return PTR_ERR(bucket);
750
751 futexv->objects[i].bucket = bucket;
752
753 INIT_LIST_HEAD(&futexv->objects[i].list);
754 }
755
756 return 0;
757 }
758
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 2 months
[zen-kernel-zen-kernel:5.13/futex2-tkg 1/15] arch/openrisc/kernel/sys_call_table.c:20:36: warning: initialized field overwritten
by kernel test robot
tree: https://github.com/zen-kernel/zen-kernel 5.13/futex2-tkg
head: 8eb940ffa39f19c4ddf284615dfb27a6444a3c1d
commit: 37a0532a3900c993a6c2c213f20d6b8f3b93be52 [1/15] futex2: Implement wait and wake functions
config: openrisc-randconfig-c003-20210720 (attached as .config)
compiler: or1k-linux-gcc (GCC) 10.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/zen-kernel/zen-kernel/commit/37a0532a3900c993a6c2c213f...
git remote add zen-kernel-zen-kernel https://github.com/zen-kernel/zen-kernel
git fetch --no-tags zen-kernel-zen-kernel 5.13/futex2-tkg
git checkout 37a0532a3900c993a6c2c213f20d6b8f3b93be52
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-10.3.0 make.cross ARCH=openrisc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
>> arch/openrisc/kernel/sys_call_table.c:20:36: warning: initialized field overwritten [-Woverride-init]
20 | #define __SYSCALL(nr, call) [nr] = (call),
| ^
include/uapi/asm-generic/unistd.h:879:1: note: in expansion of macro '__SYSCALL'
879 | __SYSCALL(__NR_futex_wake, sys_futex_wake)
| ^~~~~~~~~
arch/openrisc/kernel/sys_call_table.c:20:36: note: (near initialization for 'sys_call_table[444]')
20 | #define __SYSCALL(nr, call) [nr] = (call),
| ^
include/uapi/asm-generic/unistd.h:879:1: note: in expansion of macro '__SYSCALL'
879 | __SYSCALL(__NR_futex_wake, sys_futex_wake)
| ^~~~~~~~~
Kconfig warnings: (for reference only)
WARNING: unmet direct dependencies detected for LOCKDEP
Depends on DEBUG_KERNEL && LOCK_DEBUGGING_SUPPORT && (FRAME_POINTER || MIPS || PPC || S390 || MICROBLAZE || ARM || ARC || X86)
Selected by
- LOCK_STAT && DEBUG_KERNEL && LOCK_DEBUGGING_SUPPORT
- DEBUG_LOCK_ALLOC && DEBUG_KERNEL && LOCK_DEBUGGING_SUPPORT
vim +20 arch/openrisc/kernel/sys_call_table.c
09abb90107202d Jonas Bonn 2011-06-04 18
09abb90107202d Jonas Bonn 2011-06-04 19 #undef __SYSCALL
09abb90107202d Jonas Bonn 2011-06-04 @20 #define __SYSCALL(nr, call) [nr] = (call),
09abb90107202d Jonas Bonn 2011-06-04 21
:::::: The code at line 20 was first introduced by commit
:::::: 09abb90107202d3b18cf5a69076a1d05d11244e6 OpenRISC: System calls
:::::: TO: Jonas Bonn <jonas(a)southpole.se>
:::::: CC: Jonas Bonn <jonas(a)southpole.se>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 2 months
Re: [PATCH v5 18/26] hugetlb/userfaultfd: Take care of UFFDIO_COPY_MODE_WP
by kernel test robot
Hi Peter,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on kselftest/next]
[also build test ERROR on linus/master v5.14-rc2 next-20210720]
[cannot apply to hnaz-linux-mm/master asm-generic/master arm64/for-next/core linux/master tip/x86/core]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Peter-Xu/userfaultfd-wp-Support-...
base: https://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest.git next
config: s390-randconfig-r023-20210716 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project 5d5b08761f944d5b9822d582378333cc4b36a0a7)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install s390 cross compiling tool for clang build
# apt-get install binutils-s390x-linux-gnu
# https://github.com/0day-ci/linux/commit/2ad11be7ccbb4fada15c5ec48a35630d4...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Peter-Xu/userfaultfd-wp-Support-shmem-and-hugetlbfs/20210716-041947
git checkout 2ad11be7ccbb4fada15c5ec48a35630d450fc9ca
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=s390
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 >>):
In file included from mm/hugetlb.c:19:
In file included from include/linux/memblock.h:14:
In file included from arch/s390/include/asm/dma.h:5:
In file included from arch/s390/include/asm/io.h:75:
include/asm-generic/io.h:464:31: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
val = __raw_readb(PCI_IOBASE + addr);
~~~~~~~~~~ ^
include/asm-generic/io.h:477:61: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
val = __le16_to_cpu((__le16 __force)__raw_readw(PCI_IOBASE + addr));
~~~~~~~~~~ ^
include/uapi/linux/byteorder/big_endian.h:36:59: note: expanded from macro '__le16_to_cpu'
#define __le16_to_cpu(x) __swab16((__force __u16)(__le16)(x))
^
include/uapi/linux/swab.h:102:54: note: expanded from macro '__swab16'
#define __swab16(x) (__u16)__builtin_bswap16((__u16)(x))
^
In file included from mm/hugetlb.c:19:
In file included from include/linux/memblock.h:14:
In file included from arch/s390/include/asm/dma.h:5:
In file included from arch/s390/include/asm/io.h:75:
include/asm-generic/io.h:490:61: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
val = __le32_to_cpu((__le32 __force)__raw_readl(PCI_IOBASE + addr));
~~~~~~~~~~ ^
include/uapi/linux/byteorder/big_endian.h:34:59: note: expanded from macro '__le32_to_cpu'
#define __le32_to_cpu(x) __swab32((__force __u32)(__le32)(x))
^
include/uapi/linux/swab.h:115:54: note: expanded from macro '__swab32'
#define __swab32(x) (__u32)__builtin_bswap32((__u32)(x))
^
In file included from mm/hugetlb.c:19:
In file included from include/linux/memblock.h:14:
In file included from arch/s390/include/asm/dma.h:5:
In file included from arch/s390/include/asm/io.h:75:
include/asm-generic/io.h:501:33: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
__raw_writeb(value, PCI_IOBASE + addr);
~~~~~~~~~~ ^
include/asm-generic/io.h:511:59: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
__raw_writew((u16 __force)cpu_to_le16(value), PCI_IOBASE + addr);
~~~~~~~~~~ ^
include/asm-generic/io.h:521:59: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
__raw_writel((u32 __force)cpu_to_le32(value), PCI_IOBASE + addr);
~~~~~~~~~~ ^
include/asm-generic/io.h:609:20: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
readsb(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
include/asm-generic/io.h:617:20: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
readsw(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
include/asm-generic/io.h:625:20: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
readsl(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
include/asm-generic/io.h:634:21: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
writesb(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
include/asm-generic/io.h:643:21: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
writesw(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
include/asm-generic/io.h:652:21: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
writesl(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
mm/hugetlb.c:5063:29: error: implicit declaration of function 'huge_pte_uffd_wp' [-Werror,-Wimplicit-function-declaration]
if (userfaultfd_wp(vma) && huge_pte_uffd_wp(huge_ptep_get(ptep)) &&
^
>> mm/hugetlb.c:5301:14: error: implicit declaration of function 'huge_pte_mkuffd_wp' [-Werror,-Wimplicit-function-declaration]
_dst_pte = huge_pte_mkuffd_wp(_dst_pte);
^
mm/hugetlb.c:5301:14: note: did you mean 'pte_mkuffd_wp'?
include/asm-generic/pgtable_uffd.h:18:30: note: 'pte_mkuffd_wp' declared here
static __always_inline pte_t pte_mkuffd_wp(pte_t pte)
^
>> mm/hugetlb.c:5301:12: error: assigning to 'pte_t' from incompatible type 'int'
_dst_pte = huge_pte_mkuffd_wp(_dst_pte);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
12 warnings and 3 errors generated.
vim +/huge_pte_mkuffd_wp +5301 mm/hugetlb.c
5132
5133 #ifdef CONFIG_USERFAULTFD
5134 /*
5135 * Used by userfaultfd UFFDIO_COPY. Based on mcopy_atomic_pte with
5136 * modifications for huge pages.
5137 */
5138 int hugetlb_mcopy_atomic_pte(struct mm_struct *dst_mm,
5139 pte_t *dst_pte,
5140 struct vm_area_struct *dst_vma,
5141 unsigned long dst_addr,
5142 unsigned long src_addr,
5143 enum mcopy_atomic_mode mode,
5144 struct page **pagep,
5145 bool wp_copy)
5146 {
5147 bool is_continue = (mode == MCOPY_ATOMIC_CONTINUE);
5148 struct hstate *h = hstate_vma(dst_vma);
5149 struct address_space *mapping = dst_vma->vm_file->f_mapping;
5150 pgoff_t idx = vma_hugecache_offset(h, dst_vma, dst_addr);
5151 unsigned long size;
5152 int vm_shared = dst_vma->vm_flags & VM_SHARED;
5153 pte_t _dst_pte;
5154 spinlock_t *ptl;
5155 int ret = -ENOMEM;
5156 struct page *page;
5157 int writable;
5158
5159 if (is_continue) {
5160 ret = -EFAULT;
5161 page = find_lock_page(mapping, idx);
5162 if (!page)
5163 goto out;
5164 } else if (!*pagep) {
5165 /* If a page already exists, then it's UFFDIO_COPY for
5166 * a non-missing case. Return -EEXIST.
5167 */
5168 if (vm_shared &&
5169 hugetlbfs_pagecache_present(h, dst_vma, dst_addr)) {
5170 ret = -EEXIST;
5171 goto out;
5172 }
5173
5174 page = alloc_huge_page(dst_vma, dst_addr, 0);
5175 if (IS_ERR(page)) {
5176 ret = -ENOMEM;
5177 goto out;
5178 }
5179
5180 ret = copy_huge_page_from_user(page,
5181 (const void __user *) src_addr,
5182 pages_per_huge_page(h), false);
5183
5184 /* fallback to copy_from_user outside mmap_lock */
5185 if (unlikely(ret)) {
5186 ret = -ENOENT;
5187 /* Free the allocated page which may have
5188 * consumed a reservation.
5189 */
5190 restore_reserve_on_error(h, dst_vma, dst_addr, page);
5191 put_page(page);
5192
5193 /* Allocate a temporary page to hold the copied
5194 * contents.
5195 */
5196 page = alloc_huge_page_vma(h, dst_vma, dst_addr);
5197 if (!page) {
5198 ret = -ENOMEM;
5199 goto out;
5200 }
5201 *pagep = page;
5202 /* Set the outparam pagep and return to the caller to
5203 * copy the contents outside the lock. Don't free the
5204 * page.
5205 */
5206 goto out;
5207 }
5208 } else {
5209 if (vm_shared &&
5210 hugetlbfs_pagecache_present(h, dst_vma, dst_addr)) {
5211 put_page(*pagep);
5212 ret = -EEXIST;
5213 *pagep = NULL;
5214 goto out;
5215 }
5216
5217 page = alloc_huge_page(dst_vma, dst_addr, 0);
5218 if (IS_ERR(page)) {
5219 ret = -ENOMEM;
5220 *pagep = NULL;
5221 goto out;
5222 }
5223 copy_huge_page(page, *pagep);
5224 put_page(*pagep);
5225 *pagep = NULL;
5226 }
5227
5228 /*
5229 * The memory barrier inside __SetPageUptodate makes sure that
5230 * preceding stores to the page contents become visible before
5231 * the set_pte_at() write.
5232 */
5233 __SetPageUptodate(page);
5234
5235 /* Add shared, newly allocated pages to the page cache. */
5236 if (vm_shared && !is_continue) {
5237 size = i_size_read(mapping->host) >> huge_page_shift(h);
5238 ret = -EFAULT;
5239 if (idx >= size)
5240 goto out_release_nounlock;
5241
5242 /*
5243 * Serialization between remove_inode_hugepages() and
5244 * huge_add_to_page_cache() below happens through the
5245 * hugetlb_fault_mutex_table that here must be hold by
5246 * the caller.
5247 */
5248 ret = huge_add_to_page_cache(page, mapping, idx);
5249 if (ret)
5250 goto out_release_nounlock;
5251 }
5252
5253 ptl = huge_pte_lockptr(h, dst_mm, dst_pte);
5254 spin_lock(ptl);
5255
5256 /*
5257 * Recheck the i_size after holding PT lock to make sure not
5258 * to leave any page mapped (as page_mapped()) beyond the end
5259 * of the i_size (remove_inode_hugepages() is strict about
5260 * enforcing that). If we bail out here, we'll also leave a
5261 * page in the radix tree in the vm_shared case beyond the end
5262 * of the i_size, but remove_inode_hugepages() will take care
5263 * of it as soon as we drop the hugetlb_fault_mutex_table.
5264 */
5265 size = i_size_read(mapping->host) >> huge_page_shift(h);
5266 ret = -EFAULT;
5267 if (idx >= size)
5268 goto out_release_unlock;
5269
5270 ret = -EEXIST;
5271 if (!huge_pte_none(huge_ptep_get(dst_pte)))
5272 goto out_release_unlock;
5273
5274 if (vm_shared) {
5275 page_dup_rmap(page, true);
5276 } else {
5277 ClearHPageRestoreReserve(page);
5278 hugepage_add_new_anon_rmap(page, dst_vma, dst_addr);
5279 }
5280
5281 /*
5282 * For either: (1) CONTINUE on a non-shared VMA, or (2) UFFDIO_COPY
5283 * with wp flag set, don't set pte write bit.
5284 */
5285 if (wp_copy || (is_continue && !vm_shared))
5286 writable = 0;
5287 else
5288 writable = dst_vma->vm_flags & VM_WRITE;
5289
5290 _dst_pte = make_huge_pte(dst_vma, page, writable);
5291 /*
5292 * Always mark UFFDIO_COPY page dirty; note that this may not be
5293 * extremely important for hugetlbfs for now since swapping is not
5294 * supported, but we should still be clear in that this page cannot be
5295 * thrown away at will, even if write bit not set.
5296 */
5297 _dst_pte = huge_pte_mkdirty(_dst_pte);
5298 _dst_pte = pte_mkyoung(_dst_pte);
5299
5300 if (wp_copy)
> 5301 _dst_pte = huge_pte_mkuffd_wp(_dst_pte);
5302
5303 set_huge_pte_at(dst_mm, dst_addr, dst_pte, _dst_pte);
5304
5305 (void)huge_ptep_set_access_flags(dst_vma, dst_addr, dst_pte, _dst_pte,
5306 dst_vma->vm_flags & VM_WRITE);
5307 hugetlb_count_add(pages_per_huge_page(h), dst_mm);
5308
5309 /* No need to invalidate - it was non-present before */
5310 update_mmu_cache(dst_vma, dst_addr, dst_pte);
5311
5312 spin_unlock(ptl);
5313 if (!is_continue)
5314 SetHPageMigratable(page);
5315 if (vm_shared || is_continue)
5316 unlock_page(page);
5317 ret = 0;
5318 out:
5319 return ret;
5320 out_release_unlock:
5321 spin_unlock(ptl);
5322 if (vm_shared || is_continue)
5323 unlock_page(page);
5324 out_release_nounlock:
5325 restore_reserve_on_error(h, dst_vma, dst_addr, page);
5326 put_page(page);
5327 goto out;
5328 }
5329 #endif /* CONFIG_USERFAULTFD */
5330
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 2 months