Re: [PATCH 3/5] megaraid_sas: Early detection of VD deletion through RaidMap update
by kernel test robot
Hi Chandrakanth,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on v5.12-rc3]
[cannot apply to mkp-scsi/for-next scsi/for-next next-20210317]
[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/Chandrakanth-Patil/megaraid_sas-...
base: 1e28eed17697bcf343c6743f0028cc3b5dd88bf0
config: arm64-defconfig (attached as .config)
compiler: aarch64-linux-gcc (GCC) 9.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/0day-ci/linux/commit/dadb835ed01309bcd9a8d51a01ad4467d...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Chandrakanth-Patil/megaraid_sas-Update-driver-version-to-07-717-01-00-rc1/20210318-031205
git checkout dadb835ed01309bcd9a8d51a01ad4467dc71aea6
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 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/scsi/megaraid/megaraid_sas_base.c:3502:1: warning: no previous prototype for 'megasas_set_sdev_removed_by_fw' [-Wmissing-prototypes]
3502 | megasas_set_sdev_removed_by_fw(struct megasas_instance *instance)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
vim +/megasas_set_sdev_removed_by_fw +3502 drivers/scsi/megaraid/megaraid_sas_base.c
3500
3501 void
> 3502 megasas_set_sdev_removed_by_fw(struct megasas_instance *instance)
3503 {
3504 struct scsi_device *sdev;
3505 struct MR_PRIV_DEVICE *mr_device_priv_data;
3506 uint channel, id, i;
3507
3508 for (i = 0; (i < MEGASAS_MAX_LD_IDS); i++) {
3509 if (instance->ld_ids_prev[i] != 0xff &&
3510 instance->ld_ids_from_raidmap[i] == 0xff) {
3511 channel = MEGASAS_MAX_PD_CHANNELS +
3512 (instance->ld_ids_prev[i] /
3513 MEGASAS_MAX_DEV_PER_CHANNEL);
3514 id = (instance->ld_ids_prev[i] %
3515 MEGASAS_MAX_DEV_PER_CHANNEL);
3516
3517 if (megasas_dbg_lvl & LD_PD_DEBUG)
3518 dev_info(&instance->pdev->dev,
3519 "index %d old 0x%x new 0x%x from %s\n",
3520 i, instance->ld_ids_prev[i],
3521 instance->ld_ids_from_raidmap[i],
3522 __func__);
3523
3524 sdev = scsi_device_lookup(instance->host, channel, id, 0);
3525 if (sdev) {
3526 mr_device_priv_data = sdev->hostdata;
3527 mr_device_priv_data->device_removed_by_fw = true;
3528 scsi_device_put(sdev);
3529 }
3530 }
3531 }
3532 }
3533
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 6 months
Re: [PATCH v3 2/2] drm: bridge: cdns-mhdp8546: Enable HDCP
by kernel test robot
Hi Parshuram,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on robh/for-next]
[also build test WARNING on linux/master linus/master v5.12-rc3 next-20210317]
[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/Parshuram-Thombare/enable-HDCP-i...
base: https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git for-next
config: x86_64-randconfig-a016-20210317 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project 8ef111222a3dd12a9175f69c3bff598c46e8bdf7)
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/0day-ci/linux/commit/9c8eb15a5059a553e08304619775dd7af...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Parshuram-Thombare/enable-HDCP-in-Cadence-MHDP-bridge-driver/20210318-000928
git checkout 9c8eb15a5059a553e08304619775dd7af4394eb1
# 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 warnings (new ones prefixed by >>):
>> drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-hdcp.c:502:5: warning: no previous prototype for function 'cdns_mhdp_hdcp_set_lc' [-Wmissing-prototypes]
int cdns_mhdp_hdcp_set_lc(struct cdns_mhdp_device *mhdp, u8 *val)
^
drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-hdcp.c:502:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int cdns_mhdp_hdcp_set_lc(struct cdns_mhdp_device *mhdp, u8 *val)
^
static
>> drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-hdcp.c:516:1: warning: no previous prototype for function 'cdns_mhdp_hdcp_set_public_key_params' [-Wmissing-prototypes]
cdns_mhdp_hdcp_set_public_key_params(struct cdns_mhdp_device *mhdp,
^
drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-hdcp.c:515:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int
^
static
2 warnings generated.
vim +/cdns_mhdp_hdcp_set_lc +502 drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-hdcp.c
501
> 502 int cdns_mhdp_hdcp_set_lc(struct cdns_mhdp_device *mhdp, u8 *val)
503 {
504 int ret;
505
506 mutex_lock(&mhdp->mbox_mutex);
507 ret = cdns_mhdp_secure_mailbox_send(mhdp, MB_MODULE_ID_HDCP_GENERAL,
508 HDCP_GENERAL_SET_LC_128,
509 16, val);
510 mutex_unlock(&mhdp->mbox_mutex);
511
512 return ret;
513 }
514
515 int
> 516 cdns_mhdp_hdcp_set_public_key_params(struct cdns_mhdp_device *mhdp,
517 struct cdns_hdcp_tx_public_key_param *val)
518 {
519 int ret;
520
521 mutex_lock(&mhdp->mbox_mutex);
522 ret = cdns_mhdp_secure_mailbox_send(mhdp, MB_MODULE_ID_HDCP_TX,
523 HDCP2X_TX_SET_PUBLIC_KEY_PARAMS,
524 sizeof(*val), (u8 *)val);
525 mutex_unlock(&mhdp->mbox_mutex);
526
527 return ret;
528 }
529
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 6 months
Re: [PATCH v5 11/13] media: hantro: Introduce G2/HEVC decoder
by kernel test robot
Hi Benjamin,
I love your patch! Perhaps something to improve:
[auto build test WARNING on sunxi/sunxi/for-next]
[also build test WARNING on robh/for-next v5.12-rc3 next-20210317]
[cannot apply to linuxtv-media/master]
[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/Benjamin-Gaignard/Add-HANTRO-G2-...
base: https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux.git sunxi/for-next
config: nios2-allyesconfig (attached as .config)
compiler: nios2-linux-gcc (GCC) 9.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/0day-ci/linux/commit/92ff85add6e176c236b18f2a6a3e86468...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Benjamin-Gaignard/Add-HANTRO-G2-HEVC-decoder-support-for-IMX8MQ/20210318-013515
git checkout 92ff85add6e176c236b18f2a6a3e86468e5fb849
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.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 >>):
>> drivers/staging/media/hantro/hantro_g2_hevc_dec.c:520:6: warning: no previous prototype for 'hantro_g2_check_idle' [-Wmissing-prototypes]
520 | void hantro_g2_check_idle(struct hantro_dev *vpu)
| ^~~~~~~~~~~~~~~~~~~~
vim +/hantro_g2_check_idle +520 drivers/staging/media/hantro/hantro_g2_hevc_dec.c
519
> 520 void hantro_g2_check_idle(struct hantro_dev *vpu)
521 {
522 int i;
523
524 for (i = 0; i < 3; i++) {
525 u32 status;
526
527 /* Make sure the VPU is idle */
528 status = vdpu_read(vpu, HEVC_REG_INTERRUPT);
529 if (status & HEVC_REG_INTERRUPT_DEC_E) {
530 dev_warn(vpu->dev, "device still running, aborting");
531 status |= HEVC_REG_INTERRUPT_DEC_ABORT_E | HEVC_REG_INTERRUPT_DEC_IRQ_DIS;
532 vdpu_write(vpu, status, HEVC_REG_INTERRUPT);
533 }
534 }
535 }
536
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 6 months
Re: [PATCH net-next v1] misc: Add Renesas Synchronization Management Unit (SMU) support
by kernel test robot
Hi,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on net-next/master]
url: https://github.com/0day-ci/linux/commits/min-li-xe-renesas-com/misc-Add-R...
base: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git ebfbc46b35cb70b9fbd88f376d7a33b79f60adff
config: xtensa-allyesconfig (attached as .config)
compiler: xtensa-linux-gcc (GCC) 9.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/0day-ci/linux/commit/2b3ca22001b1bb3ea6466c970c9026457...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review min-li-xe-renesas-com/misc-Add-Renesas-Synchronization-Management-Unit-SMU-support/20210318-020345
git checkout 2b3ca22001b1bb3ea6466c970c9026457d5b6fa3
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=xtensa
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 >>):
>> error: include/uapi/linux/rsmu.h: missing "WITH Linux-syscall-note" for SPDX-License-Identifier
--
>> error: include/uapi/linux/rsmu.h: missing "WITH Linux-syscall-note" for SPDX-License-Identifier
make[2]: *** [scripts/Makefile.headersinst:63: usr/include/linux/rsmu.h] Error 1
make[2]: Target '__headers' not remade because of errors.
make[1]: *** [Makefile:1335: headers] Error 2
make[1]: Target 'headers_install' not remade because of errors.
make: *** [Makefile:215: __sub-make] Error 2
make: Target 'headers_install' not remade because of errors.
--
>> error: include/uapi/linux/rsmu.h: missing "WITH Linux-syscall-note" for SPDX-License-Identifier
make[2]: *** [scripts/Makefile.headersinst:63: usr/include/linux/rsmu.h] Error 1
make[2]: Target '__headers' not remade because of errors.
make[1]: *** [Makefile:1335: headers] Error 2
make[1]: Target 'modules_prepare' not remade because of errors.
make: *** [Makefile:215: __sub-make] Error 2
make: Target 'modules_prepare' not remade because of errors.
--
scripts/genksyms/parse.y: warning: 9 shift/reduce conflicts [-Wconflicts-sr]
scripts/genksyms/parse.y: warning: 5 reduce/reduce conflicts [-Wconflicts-rr]
>> error: include/uapi/linux/rsmu.h: missing "WITH Linux-syscall-note" for SPDX-License-Identifier
make[2]: *** [scripts/Makefile.headersinst:63: usr/include/linux/rsmu.h] Error 1
make[2]: Target '__headers' not remade because of errors.
make[1]: *** [Makefile:1335: headers] Error 2
make[1]: Target 'prepare' not remade because of errors.
make: *** [Makefile:215: __sub-make] Error 2
make: Target 'prepare' not remade because of errors.
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 6 months
Re: [PATCH] ACPI: scan: Turn off unused power resources during initialization
by kernel test robot
Hi "Rafael,
I love your patch! Yet something to improve:
[auto build test ERROR on pm/linux-next]
[also build test ERROR on linux/master linus/master v5.12-rc3 next-20210317]
[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/Rafael-J-Wysocki/ACPI-scan-Turn-...
base: https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git linux-next
config: x86_64-randconfig-c022-20210317 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
# https://github.com/0day-ci/linux/commit/2462e52396b65921f0c83dfe19d5fcd99...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Rafael-J-Wysocki/ACPI-scan-Turn-off-unused-power-resources-during-initialization/20210318-005323
git checkout 2462e52396b65921f0c83dfe19d5fcd9927d3498
# 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 >>):
ld: drivers/acpi/scan.o: in function `acpi_scan_init':
>> drivers/acpi/scan.c:2363: undefined reference to `acpi_turn_off_unused_power_resources'
vim +2363 drivers/acpi/scan.c
2290
2291 int __init acpi_scan_init(void)
2292 {
2293 int result;
2294 acpi_status status;
2295 struct acpi_table_stao *stao_ptr;
2296
2297 acpi_pci_root_init();
2298 acpi_pci_link_init();
2299 acpi_processor_init();
2300 acpi_platform_init();
2301 acpi_lpss_init();
2302 acpi_apd_init();
2303 acpi_cmos_rtc_init();
2304 acpi_container_init();
2305 acpi_memory_hotplug_init();
2306 acpi_watchdog_init();
2307 acpi_pnp_init();
2308 acpi_int340x_thermal_init();
2309 acpi_amba_init();
2310 acpi_init_lpit();
2311
2312 acpi_scan_add_handler(&generic_device_handler);
2313
2314 /*
2315 * If there is STAO table, check whether it needs to ignore the UART
2316 * device in SPCR table.
2317 */
2318 status = acpi_get_table(ACPI_SIG_STAO, 0,
2319 (struct acpi_table_header **)&stao_ptr);
2320 if (ACPI_SUCCESS(status)) {
2321 if (stao_ptr->header.length > sizeof(struct acpi_table_stao))
2322 pr_info(PREFIX "STAO Name List not yet supported.\n");
2323
2324 if (stao_ptr->ignore_uart)
2325 acpi_get_spcr_uart_addr();
2326
2327 acpi_put_table((struct acpi_table_header *)stao_ptr);
2328 }
2329
2330 acpi_gpe_apply_masked_gpes();
2331 acpi_update_all_gpes();
2332
2333 /*
2334 * Although we call __add_memory() that is documented to require the
2335 * device_hotplug_lock, it is not necessary here because this is an
2336 * early code when userspace or any other code path cannot trigger
2337 * hotplug/hotunplug operations.
2338 */
2339 mutex_lock(&acpi_scan_lock);
2340 /*
2341 * Enumerate devices in the ACPI namespace.
2342 */
2343 result = acpi_bus_scan(ACPI_ROOT_OBJECT);
2344 if (result)
2345 goto out;
2346
2347 result = acpi_bus_get_device(ACPI_ROOT_OBJECT, &acpi_root);
2348 if (result)
2349 goto out;
2350
2351 /* Fixed feature devices do not exist on HW-reduced platform */
2352 if (!acpi_gbl_reduced_hardware) {
2353 result = acpi_bus_scan_fixed();
2354 if (result) {
2355 acpi_detach_data(acpi_root->handle,
2356 acpi_scan_drop_device);
2357 acpi_device_del(acpi_root);
2358 put_device(&acpi_root->dev);
2359 goto out;
2360 }
2361 }
2362
> 2363 acpi_turn_off_unused_power_resources();
2364
2365 acpi_scan_initialized = true;
2366
2367 out:
2368 mutex_unlock(&acpi_scan_lock);
2369 return result;
2370 }
2371
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 6 months
[android-common:android-4.19-q 3/3] kernel/sys_ni.c:47:1: warning: no previous prototype for function '__arm64_compat_sys_io_getevents'
by kernel test robot
tree: https://android.googlesource.com/kernel/common android-4.19-q
head: 5380d7867800a1fe2987983d824207d4e6065cee
commit: 5380d7867800a1fe2987983d824207d4e6065cee [3/3] ANDROID: arm64: fix function types in COND_SYSCALL
config: arm64-randconfig-r013-20210317 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project 8ef111222a3dd12a9175f69c3bff598c46e8bdf7)
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
git remote add android-common https://android.googlesource.com/kernel/common
git fetch --no-tags android-common android-4.19-q
git checkout 5380d7867800a1fe2987983d824207d4e6065cee
# 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 >>):
asmlinkage __weak long __arm64_sys_##name(const struct pt_regs *regs) \
^
<scratch space>:6:1: note: expanded from here
__arm64_sys_io_setup
^
kernel/sys_ni.c:39:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
arch/arm64/include/asm/syscall_wrapper.h:79:20: note: expanded from macro 'COND_SYSCALL'
asmlinkage __weak long __arm64_sys_##name(const struct pt_regs *regs) \
^
kernel/sys_ni.c:40:1: warning: no previous prototype for function '__arm64_compat_sys_io_setup' [-Wmissing-prototypes]
COND_SYSCALL_COMPAT(io_setup);
^
arch/arm64/include/asm/syscall_wrapper.h:41:25: note: expanded from macro 'COND_SYSCALL_COMPAT'
asmlinkage __weak long __arm64_compat_sys_##name(const struct pt_regs *__unused)\
^
<scratch space>:7:1: note: expanded from here
__arm64_compat_sys_io_setup
^
kernel/sys_ni.c:40:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
arch/arm64/include/asm/syscall_wrapper.h:41:20: note: expanded from macro 'COND_SYSCALL_COMPAT'
asmlinkage __weak long __arm64_compat_sys_##name(const struct pt_regs *__unused)\
^
kernel/sys_ni.c:41:1: warning: no previous prototype for function '__arm64_sys_io_destroy' [-Wmissing-prototypes]
COND_SYSCALL(io_destroy);
^
arch/arm64/include/asm/syscall_wrapper.h:79:25: note: expanded from macro 'COND_SYSCALL'
asmlinkage __weak long __arm64_sys_##name(const struct pt_regs *regs) \
^
<scratch space>:8:1: note: expanded from here
__arm64_sys_io_destroy
^
kernel/sys_ni.c:41:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
arch/arm64/include/asm/syscall_wrapper.h:79:20: note: expanded from macro 'COND_SYSCALL'
asmlinkage __weak long __arm64_sys_##name(const struct pt_regs *regs) \
^
kernel/sys_ni.c:42:1: warning: no previous prototype for function '__arm64_sys_io_submit' [-Wmissing-prototypes]
COND_SYSCALL(io_submit);
^
arch/arm64/include/asm/syscall_wrapper.h:79:25: note: expanded from macro 'COND_SYSCALL'
asmlinkage __weak long __arm64_sys_##name(const struct pt_regs *regs) \
^
<scratch space>:9:1: note: expanded from here
__arm64_sys_io_submit
^
kernel/sys_ni.c:42:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
arch/arm64/include/asm/syscall_wrapper.h:79:20: note: expanded from macro 'COND_SYSCALL'
asmlinkage __weak long __arm64_sys_##name(const struct pt_regs *regs) \
^
kernel/sys_ni.c:43:1: warning: no previous prototype for function '__arm64_compat_sys_io_submit' [-Wmissing-prototypes]
COND_SYSCALL_COMPAT(io_submit);
^
arch/arm64/include/asm/syscall_wrapper.h:41:25: note: expanded from macro 'COND_SYSCALL_COMPAT'
asmlinkage __weak long __arm64_compat_sys_##name(const struct pt_regs *__unused)\
^
<scratch space>:10:1: note: expanded from here
__arm64_compat_sys_io_submit
^
kernel/sys_ni.c:43:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
arch/arm64/include/asm/syscall_wrapper.h:41:20: note: expanded from macro 'COND_SYSCALL_COMPAT'
asmlinkage __weak long __arm64_compat_sys_##name(const struct pt_regs *__unused)\
^
kernel/sys_ni.c:44:1: warning: no previous prototype for function '__arm64_sys_io_cancel' [-Wmissing-prototypes]
COND_SYSCALL(io_cancel);
^
arch/arm64/include/asm/syscall_wrapper.h:79:25: note: expanded from macro 'COND_SYSCALL'
asmlinkage __weak long __arm64_sys_##name(const struct pt_regs *regs) \
^
<scratch space>:11:1: note: expanded from here
__arm64_sys_io_cancel
^
kernel/sys_ni.c:44:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
arch/arm64/include/asm/syscall_wrapper.h:79:20: note: expanded from macro 'COND_SYSCALL'
asmlinkage __weak long __arm64_sys_##name(const struct pt_regs *regs) \
^
kernel/sys_ni.c:45:1: warning: no previous prototype for function '__arm64_sys_io_getevents' [-Wmissing-prototypes]
COND_SYSCALL(io_getevents);
^
arch/arm64/include/asm/syscall_wrapper.h:79:25: note: expanded from macro 'COND_SYSCALL'
asmlinkage __weak long __arm64_sys_##name(const struct pt_regs *regs) \
^
<scratch space>:12:1: note: expanded from here
__arm64_sys_io_getevents
^
kernel/sys_ni.c:45:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
arch/arm64/include/asm/syscall_wrapper.h:79:20: note: expanded from macro 'COND_SYSCALL'
asmlinkage __weak long __arm64_sys_##name(const struct pt_regs *regs) \
^
kernel/sys_ni.c:46:1: warning: no previous prototype for function '__arm64_sys_io_pgetevents' [-Wmissing-prototypes]
COND_SYSCALL(io_pgetevents);
^
arch/arm64/include/asm/syscall_wrapper.h:79:25: note: expanded from macro 'COND_SYSCALL'
asmlinkage __weak long __arm64_sys_##name(const struct pt_regs *regs) \
^
<scratch space>:13:1: note: expanded from here
__arm64_sys_io_pgetevents
^
kernel/sys_ni.c:46:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
arch/arm64/include/asm/syscall_wrapper.h:79:20: note: expanded from macro 'COND_SYSCALL'
asmlinkage __weak long __arm64_sys_##name(const struct pt_regs *regs) \
^
>> kernel/sys_ni.c:47:1: warning: no previous prototype for function '__arm64_compat_sys_io_getevents' [-Wmissing-prototypes]
COND_SYSCALL_COMPAT(io_getevents);
^
arch/arm64/include/asm/syscall_wrapper.h:41:25: note: expanded from macro 'COND_SYSCALL_COMPAT'
asmlinkage __weak long __arm64_compat_sys_##name(const struct pt_regs *__unused)\
^
<scratch space>:14:1: note: expanded from here
__arm64_compat_sys_io_getevents
^
kernel/sys_ni.c:47:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
arch/arm64/include/asm/syscall_wrapper.h:41:20: note: expanded from macro 'COND_SYSCALL_COMPAT'
asmlinkage __weak long __arm64_compat_sys_##name(const struct pt_regs *__unused)\
^
kernel/sys_ni.c:48:1: warning: no previous prototype for function '__arm64_compat_sys_io_pgetevents' [-Wmissing-prototypes]
COND_SYSCALL_COMPAT(io_pgetevents);
^
arch/arm64/include/asm/syscall_wrapper.h:41:25: note: expanded from macro 'COND_SYSCALL_COMPAT'
asmlinkage __weak long __arm64_compat_sys_##name(const struct pt_regs *__unused)\
^
<scratch space>:15:1: note: expanded from here
__arm64_compat_sys_io_pgetevents
^
kernel/sys_ni.c:48:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
arch/arm64/include/asm/syscall_wrapper.h:41:20: note: expanded from macro 'COND_SYSCALL_COMPAT'
asmlinkage __weak long __arm64_compat_sys_##name(const struct pt_regs *__unused)\
^
kernel/sys_ni.c:55:1: warning: no previous prototype for function '__arm64_sys_lookup_dcookie' [-Wmissing-prototypes]
COND_SYSCALL(lookup_dcookie);
^
arch/arm64/include/asm/syscall_wrapper.h:79:25: note: expanded from macro 'COND_SYSCALL'
asmlinkage __weak long __arm64_sys_##name(const struct pt_regs *regs) \
^
<scratch space>:16:1: note: expanded from here
__arm64_sys_lookup_dcookie
^
kernel/sys_ni.c:55:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
arch/arm64/include/asm/syscall_wrapper.h:79:20: note: expanded from macro 'COND_SYSCALL'
asmlinkage __weak long __arm64_sys_##name(const struct pt_regs *regs) \
^
kernel/sys_ni.c:56:1: warning: no previous prototype for function '__arm64_compat_sys_lookup_dcookie' [-Wmissing-prototypes]
COND_SYSCALL_COMPAT(lookup_dcookie);
^
arch/arm64/include/asm/syscall_wrapper.h:41:25: note: expanded from macro 'COND_SYSCALL_COMPAT'
asmlinkage __weak long __arm64_compat_sys_##name(const struct pt_regs *__unused)\
^
<scratch space>:17:1: note: expanded from here
__arm64_compat_sys_lookup_dcookie
^
kernel/sys_ni.c:56:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
arch/arm64/include/asm/syscall_wrapper.h:41:20: note: expanded from macro 'COND_SYSCALL_COMPAT'
asmlinkage __weak long __arm64_compat_sys_##name(const struct pt_regs *__unused)\
^
kernel/sys_ni.c:59:1: warning: no previous prototype for function '__arm64_sys_eventfd2' [-Wmissing-prototypes]
COND_SYSCALL(eventfd2);
^
arch/arm64/include/asm/syscall_wrapper.h:79:25: note: expanded from macro 'COND_SYSCALL'
asmlinkage __weak long __arm64_sys_##name(const struct pt_regs *regs) \
^
<scratch space>:18:1: note: expanded from here
__arm64_sys_eventfd2
^
kernel/sys_ni.c:59:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
arch/arm64/include/asm/syscall_wrapper.h:79:20: note: expanded from macro 'COND_SYSCALL'
asmlinkage __weak long __arm64_sys_##name(const struct pt_regs *regs) \
^
kernel/sys_ni.c:62:1: warning: no previous prototype for function '__arm64_sys_epoll_create1' [-Wmissing-prototypes]
COND_SYSCALL(epoll_create1);
^
arch/arm64/include/asm/syscall_wrapper.h:79:25: note: expanded from macro 'COND_SYSCALL'
asmlinkage __weak long __arm64_sys_##name(const struct pt_regs *regs) \
^
<scratch space>:19:1: note: expanded from here
__arm64_sys_epoll_create1
^
kernel/sys_ni.c:62:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
arch/arm64/include/asm/syscall_wrapper.h:79:20: note: expanded from macro 'COND_SYSCALL'
asmlinkage __weak long __arm64_sys_##name(const struct pt_regs *regs) \
^
kernel/sys_ni.c:63:1: warning: no previous prototype for function '__arm64_sys_epoll_ctl' [-Wmissing-prototypes]
COND_SYSCALL(epoll_ctl);
^
arch/arm64/include/asm/syscall_wrapper.h:79:25: note: expanded from macro 'COND_SYSCALL'
asmlinkage __weak long __arm64_sys_##name(const struct pt_regs *regs) \
^
<scratch space>:20:1: note: expanded from here
__arm64_sys_epoll_ctl
^
kernel/sys_ni.c:63:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
arch/arm64/include/asm/syscall_wrapper.h:79:20: note: expanded from macro 'COND_SYSCALL'
asmlinkage __weak long __arm64_sys_##name(const struct pt_regs *regs) \
^
kernel/sys_ni.c:64:1: warning: no previous prototype for function '__arm64_sys_epoll_pwait' [-Wmissing-prototypes]
COND_SYSCALL(epoll_pwait);
^
arch/arm64/include/asm/syscall_wrapper.h:79:25: note: expanded from macro 'COND_SYSCALL'
asmlinkage __weak long __arm64_sys_##name(const struct pt_regs *regs) \
^
<scratch space>:21:1: note: expanded from here
__arm64_sys_epoll_pwait
^
kernel/sys_ni.c:64:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
--
asmlinkage __weak long __arm64_sys_##name(const struct pt_regs *regs) \
^
<scratch space>:26:1: note: expanded from here
__arm64_sys_ioprio_set
^
kernel/sys_ni.c:77:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
arch/arm64/include/asm/syscall_wrapper.h:79:20: note: expanded from macro 'COND_SYSCALL'
asmlinkage __weak long __arm64_sys_##name(const struct pt_regs *regs) \
^
kernel/sys_ni.c:78:1: warning: no previous prototype for function '__arm64_sys_ioprio_get' [-Wmissing-prototypes]
COND_SYSCALL(ioprio_get);
^
arch/arm64/include/asm/syscall_wrapper.h:79:25: note: expanded from macro 'COND_SYSCALL'
asmlinkage __weak long __arm64_sys_##name(const struct pt_regs *regs) \
^
<scratch space>:27:1: note: expanded from here
__arm64_sys_ioprio_get
^
kernel/sys_ni.c:78:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
arch/arm64/include/asm/syscall_wrapper.h:79:20: note: expanded from macro 'COND_SYSCALL'
asmlinkage __weak long __arm64_sys_##name(const struct pt_regs *regs) \
^
kernel/sys_ni.c:81:1: warning: no previous prototype for function '__arm64_sys_flock' [-Wmissing-prototypes]
COND_SYSCALL(flock);
^
arch/arm64/include/asm/syscall_wrapper.h:79:25: note: expanded from macro 'COND_SYSCALL'
asmlinkage __weak long __arm64_sys_##name(const struct pt_regs *regs) \
^
<scratch space>:28:1: note: expanded from here
__arm64_sys_flock
^
kernel/sys_ni.c:81:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
arch/arm64/include/asm/syscall_wrapper.h:79:20: note: expanded from macro 'COND_SYSCALL'
asmlinkage __weak long __arm64_sys_##name(const struct pt_regs *regs) \
^
kernel/sys_ni.c:94:1: warning: no previous prototype for function '__arm64_sys_quotactl' [-Wmissing-prototypes]
COND_SYSCALL(quotactl);
^
arch/arm64/include/asm/syscall_wrapper.h:79:25: note: expanded from macro 'COND_SYSCALL'
asmlinkage __weak long __arm64_sys_##name(const struct pt_regs *regs) \
^
<scratch space>:29:1: note: expanded from here
__arm64_sys_quotactl
^
kernel/sys_ni.c:94:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
arch/arm64/include/asm/syscall_wrapper.h:79:20: note: expanded from macro 'COND_SYSCALL'
asmlinkage __weak long __arm64_sys_##name(const struct pt_regs *regs) \
^
kernel/sys_ni.c:105:1: warning: no previous prototype for function '__arm64_sys_signalfd4' [-Wmissing-prototypes]
COND_SYSCALL(signalfd4);
^
arch/arm64/include/asm/syscall_wrapper.h:79:25: note: expanded from macro 'COND_SYSCALL'
asmlinkage __weak long __arm64_sys_##name(const struct pt_regs *regs) \
^
<scratch space>:30:1: note: expanded from here
__arm64_sys_signalfd4
^
kernel/sys_ni.c:105:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
arch/arm64/include/asm/syscall_wrapper.h:79:20: note: expanded from macro 'COND_SYSCALL'
asmlinkage __weak long __arm64_sys_##name(const struct pt_regs *regs) \
^
kernel/sys_ni.c:106:1: warning: no previous prototype for function '__arm64_compat_sys_signalfd4' [-Wmissing-prototypes]
COND_SYSCALL_COMPAT(signalfd4);
^
arch/arm64/include/asm/syscall_wrapper.h:41:25: note: expanded from macro 'COND_SYSCALL_COMPAT'
asmlinkage __weak long __arm64_compat_sys_##name(const struct pt_regs *__unused)\
^
<scratch space>:31:1: note: expanded from here
__arm64_compat_sys_signalfd4
^
kernel/sys_ni.c:106:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
arch/arm64/include/asm/syscall_wrapper.h:41:20: note: expanded from macro 'COND_SYSCALL_COMPAT'
asmlinkage __weak long __arm64_compat_sys_##name(const struct pt_regs *__unused)\
^
kernel/sys_ni.c:115:1: warning: no previous prototype for function '__arm64_sys_timerfd_create' [-Wmissing-prototypes]
COND_SYSCALL(timerfd_create);
^
arch/arm64/include/asm/syscall_wrapper.h:79:25: note: expanded from macro 'COND_SYSCALL'
asmlinkage __weak long __arm64_sys_##name(const struct pt_regs *regs) \
^
<scratch space>:32:1: note: expanded from here
__arm64_sys_timerfd_create
^
kernel/sys_ni.c:115:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
arch/arm64/include/asm/syscall_wrapper.h:79:20: note: expanded from macro 'COND_SYSCALL'
asmlinkage __weak long __arm64_sys_##name(const struct pt_regs *regs) \
^
kernel/sys_ni.c:116:1: warning: no previous prototype for function '__arm64_sys_timerfd_settime' [-Wmissing-prototypes]
COND_SYSCALL(timerfd_settime);
^
arch/arm64/include/asm/syscall_wrapper.h:79:25: note: expanded from macro 'COND_SYSCALL'
asmlinkage __weak long __arm64_sys_##name(const struct pt_regs *regs) \
^
<scratch space>:33:1: note: expanded from here
__arm64_sys_timerfd_settime
^
kernel/sys_ni.c:116:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
arch/arm64/include/asm/syscall_wrapper.h:79:20: note: expanded from macro 'COND_SYSCALL'
asmlinkage __weak long __arm64_sys_##name(const struct pt_regs *regs) \
^
>> kernel/sys_ni.c:117:1: warning: no previous prototype for function '__arm64_compat_sys_timerfd_settime' [-Wmissing-prototypes]
COND_SYSCALL_COMPAT(timerfd_settime);
^
arch/arm64/include/asm/syscall_wrapper.h:41:25: note: expanded from macro 'COND_SYSCALL_COMPAT'
asmlinkage __weak long __arm64_compat_sys_##name(const struct pt_regs *__unused)\
^
<scratch space>:34:1: note: expanded from here
__arm64_compat_sys_timerfd_settime
^
kernel/sys_ni.c:117:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
arch/arm64/include/asm/syscall_wrapper.h:41:20: note: expanded from macro 'COND_SYSCALL_COMPAT'
asmlinkage __weak long __arm64_compat_sys_##name(const struct pt_regs *__unused)\
^
kernel/sys_ni.c:118:1: warning: no previous prototype for function '__arm64_sys_timerfd_gettime' [-Wmissing-prototypes]
COND_SYSCALL(timerfd_gettime);
^
arch/arm64/include/asm/syscall_wrapper.h:79:25: note: expanded from macro 'COND_SYSCALL'
asmlinkage __weak long __arm64_sys_##name(const struct pt_regs *regs) \
^
<scratch space>:35:1: note: expanded from here
__arm64_sys_timerfd_gettime
^
kernel/sys_ni.c:118:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
arch/arm64/include/asm/syscall_wrapper.h:79:20: note: expanded from macro 'COND_SYSCALL'
asmlinkage __weak long __arm64_sys_##name(const struct pt_regs *regs) \
^
>> kernel/sys_ni.c:119:1: warning: no previous prototype for function '__arm64_compat_sys_timerfd_gettime' [-Wmissing-prototypes]
COND_SYSCALL_COMPAT(timerfd_gettime);
^
arch/arm64/include/asm/syscall_wrapper.h:41:25: note: expanded from macro 'COND_SYSCALL_COMPAT'
asmlinkage __weak long __arm64_compat_sys_##name(const struct pt_regs *__unused)\
^
<scratch space>:36:1: note: expanded from here
__arm64_compat_sys_timerfd_gettime
^
kernel/sys_ni.c:119:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
arch/arm64/include/asm/syscall_wrapper.h:41:20: note: expanded from macro 'COND_SYSCALL_COMPAT'
asmlinkage __weak long __arm64_compat_sys_##name(const struct pt_regs *__unused)\
^
kernel/sys_ni.c:124:1: warning: no previous prototype for function '__arm64_sys_acct' [-Wmissing-prototypes]
COND_SYSCALL(acct);
^
arch/arm64/include/asm/syscall_wrapper.h:79:25: note: expanded from macro 'COND_SYSCALL'
asmlinkage __weak long __arm64_sys_##name(const struct pt_regs *regs) \
^
<scratch space>:37:1: note: expanded from here
__arm64_sys_acct
^
kernel/sys_ni.c:124:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
arch/arm64/include/asm/syscall_wrapper.h:79:20: note: expanded from macro 'COND_SYSCALL'
asmlinkage __weak long __arm64_sys_##name(const struct pt_regs *regs) \
^
kernel/sys_ni.c:127:1: warning: no previous prototype for function '__arm64_sys_capget' [-Wmissing-prototypes]
COND_SYSCALL(capget);
^
arch/arm64/include/asm/syscall_wrapper.h:79:25: note: expanded from macro 'COND_SYSCALL'
asmlinkage __weak long __arm64_sys_##name(const struct pt_regs *regs) \
^
<scratch space>:38:1: note: expanded from here
__arm64_sys_capget
^
kernel/sys_ni.c:127:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
arch/arm64/include/asm/syscall_wrapper.h:79:20: note: expanded from macro 'COND_SYSCALL'
asmlinkage __weak long __arm64_sys_##name(const struct pt_regs *regs) \
^
kernel/sys_ni.c:128:1: warning: no previous prototype for function '__arm64_sys_capset' [-Wmissing-prototypes]
COND_SYSCALL(capset);
^
arch/arm64/include/asm/syscall_wrapper.h:79:25: note: expanded from macro 'COND_SYSCALL'
asmlinkage __weak long __arm64_sys_##name(const struct pt_regs *regs) \
^
<scratch space>:39:1: note: expanded from here
__arm64_sys_capset
^
kernel/sys_ni.c:128:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
arch/arm64/include/asm/syscall_wrapper.h:79:20: note: expanded from macro 'COND_SYSCALL'
asmlinkage __weak long __arm64_sys_##name(const struct pt_regs *regs) \
^
kernel/sys_ni.c:137:1: warning: no previous prototype for function '__arm64_sys_futex' [-Wmissing-prototypes]
COND_SYSCALL(futex);
^
arch/arm64/include/asm/syscall_wrapper.h:79:25: note: expanded from macro 'COND_SYSCALL'
asmlinkage __weak long __arm64_sys_##name(const struct pt_regs *regs) \
^
<scratch space>:40:1: note: expanded from here
__arm64_sys_futex
^
kernel/sys_ni.c:137:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
arch/arm64/include/asm/syscall_wrapper.h:79:20: note: expanded from macro 'COND_SYSCALL'
asmlinkage __weak long __arm64_sys_##name(const struct pt_regs *regs) \
^
>> kernel/sys_ni.c:138:1: warning: no previous prototype for function '__arm64_compat_sys_futex' [-Wmissing-prototypes]
COND_SYSCALL_COMPAT(futex);
^
arch/arm64/include/asm/syscall_wrapper.h:41:25: note: expanded from macro 'COND_SYSCALL_COMPAT'
asmlinkage __weak long __arm64_compat_sys_##name(const struct pt_regs *__unused)\
^
<scratch space>:41:1: note: expanded from here
__arm64_compat_sys_futex
^
kernel/sys_ni.c:138:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
arch/arm64/include/asm/syscall_wrapper.h:41:20: note: expanded from macro 'COND_SYSCALL_COMPAT'
asmlinkage __weak long __arm64_compat_sys_##name(const struct pt_regs *__unused)\
^
kernel/sys_ni.c:139:1: warning: no previous prototype for function '__arm64_sys_set_robust_list' [-Wmissing-prototypes]
COND_SYSCALL(set_robust_list);
^
arch/arm64/include/asm/syscall_wrapper.h:79:25: note: expanded from macro 'COND_SYSCALL'
asmlinkage __weak long __arm64_sys_##name(const struct pt_regs *regs) \
^
<scratch space>:42:1: note: expanded from here
__arm64_sys_set_robust_list
^
kernel/sys_ni.c:139:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
arch/arm64/include/asm/syscall_wrapper.h:79:20: note: expanded from macro 'COND_SYSCALL'
asmlinkage __weak long __arm64_sys_##name(const struct pt_regs *regs) \
^
kernel/sys_ni.c:140:1: warning: no previous prototype for function '__arm64_compat_sys_set_robust_list' [-Wmissing-prototypes]
COND_SYSCALL_COMPAT(set_robust_list);
^
arch/arm64/include/asm/syscall_wrapper.h:41:25: note: expanded from macro 'COND_SYSCALL_COMPAT'
asmlinkage __weak long __arm64_compat_sys_##name(const struct pt_regs *__unused)\
^
<scratch space>:43:1: note: expanded from here
__arm64_compat_sys_set_robust_list
^
kernel/sys_ni.c:140:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
arch/arm64/include/asm/syscall_wrapper.h:41:20: note: expanded from macro 'COND_SYSCALL_COMPAT'
asmlinkage __weak long __arm64_compat_sys_##name(const struct pt_regs *__unused)\
^
kernel/sys_ni.c:141:1: warning: no previous prototype for function '__arm64_sys_get_robust_list' [-Wmissing-prototypes]
COND_SYSCALL(get_robust_list);
^
arch/arm64/include/asm/syscall_wrapper.h:79:25: note: expanded from macro 'COND_SYSCALL'
asmlinkage __weak long __arm64_sys_##name(const struct pt_regs *regs) \
^
<scratch space>:44:1: note: expanded from here
__arm64_sys_get_robust_list
^
kernel/sys_ni.c:141:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
arch/arm64/include/asm/syscall_wrapper.h:79:20: note: expanded from macro 'COND_SYSCALL'
asmlinkage __weak long __arm64_sys_##name(const struct pt_regs *regs) \
^
kernel/sys_ni.c:142:1: warning: no previous prototype for function '__arm64_compat_sys_get_robust_list' [-Wmissing-prototypes]
COND_SYSCALL_COMPAT(get_robust_list);
^
arch/arm64/include/asm/syscall_wrapper.h:41:25: note: expanded from macro 'COND_SYSCALL_COMPAT'
asmlinkage __weak long __arm64_compat_sys_##name(const struct pt_regs *__unused)\
^
<scratch space>:45:1: note: expanded from here
__arm64_compat_sys_get_robust_list
^
kernel/sys_ni.c:142:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
arch/arm64/include/asm/syscall_wrapper.h:41:20: note: expanded from macro 'COND_SYSCALL_COMPAT'
asmlinkage __weak long __arm64_compat_sys_##name(const struct pt_regs *__unused)\
^
kernel/sys_ni.c:149:1: warning: no previous prototype for function '__arm64_sys_kexec_load' [-Wmissing-prototypes]
COND_SYSCALL(kexec_load);
^
arch/arm64/include/asm/syscall_wrapper.h:79:25: note: expanded from macro 'COND_SYSCALL'
asmlinkage __weak long __arm64_sys_##name(const struct pt_regs *regs) \
^
<scratch space>:46:1: note: expanded from here
__arm64_sys_kexec_load
^
kernel/sys_ni.c:149:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
arch/arm64/include/asm/syscall_wrapper.h:79:20: note: expanded from macro 'COND_SYSCALL'
asmlinkage __weak long __arm64_sys_##name(const struct pt_regs *regs) \
^
kernel/sys_ni.c:150:1: warning: no previous prototype for function '__arm64_compat_sys_kexec_load' [-Wmissing-prototypes]
COND_SYSCALL_COMPAT(kexec_load);
^
arch/arm64/include/asm/syscall_wrapper.h:41:25: note: expanded from macro 'COND_SYSCALL_COMPAT'
asmlinkage __weak long __arm64_compat_sys_##name(const struct pt_regs *__unused)\
^
<scratch space>:47:1: note: expanded from here
__arm64_compat_sys_kexec_load
^
kernel/sys_ni.c:150:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
arch/arm64/include/asm/syscall_wrapper.h:41:20: note: expanded from macro 'COND_SYSCALL_COMPAT'
asmlinkage __weak long __arm64_compat_sys_##name(const struct pt_regs *__unused)\
^
kernel/sys_ni.c:153:1: warning: no previous prototype for function '__arm64_sys_init_module' [-Wmissing-prototypes]
COND_SYSCALL(init_module);
^
arch/arm64/include/asm/syscall_wrapper.h:79:25: note: expanded from macro 'COND_SYSCALL'
asmlinkage __weak long __arm64_sys_##name(const struct pt_regs *regs) \
^
<scratch space>:48:1: note: expanded from here
__arm64_sys_init_module
^
kernel/sys_ni.c:153:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
..
vim +/__arm64_compat_sys_io_getevents +47 kernel/sys_ni.c
67a7acd3773a94 Dominik Brodowski 2018-03-04 32
70dd4b3160798b Dominik Brodowski 2018-03-06 33 /*
70dd4b3160798b Dominik Brodowski 2018-03-06 34 * This list is kept in the same order as include/uapi/asm-generic/unistd.h.
70dd4b3160798b Dominik Brodowski 2018-03-06 35 * Architecture specific entries go below, followed by deprecated or obsolete
70dd4b3160798b Dominik Brodowski 2018-03-06 36 * system calls.
70dd4b3160798b Dominik Brodowski 2018-03-06 37 */
70dd4b3160798b Dominik Brodowski 2018-03-06 38
67a7acd3773a94 Dominik Brodowski 2018-03-04 39 COND_SYSCALL(io_setup);
67a7acd3773a94 Dominik Brodowski 2018-03-04 40 COND_SYSCALL_COMPAT(io_setup);
67a7acd3773a94 Dominik Brodowski 2018-03-04 41 COND_SYSCALL(io_destroy);
67a7acd3773a94 Dominik Brodowski 2018-03-04 42 COND_SYSCALL(io_submit);
67a7acd3773a94 Dominik Brodowski 2018-03-04 43 COND_SYSCALL_COMPAT(io_submit);
67a7acd3773a94 Dominik Brodowski 2018-03-04 44 COND_SYSCALL(io_cancel);
67a7acd3773a94 Dominik Brodowski 2018-03-04 45 COND_SYSCALL(io_getevents);
7a074e96dee625 Christoph Hellwig 2018-05-02 46 COND_SYSCALL(io_pgetevents);
67a7acd3773a94 Dominik Brodowski 2018-03-04 @47 COND_SYSCALL_COMPAT(io_getevents);
7a074e96dee625 Christoph Hellwig 2018-05-02 48 COND_SYSCALL_COMPAT(io_pgetevents);
70dd4b3160798b Dominik Brodowski 2018-03-06 49
70dd4b3160798b Dominik Brodowski 2018-03-06 50 /* fs/xattr.c */
70dd4b3160798b Dominik Brodowski 2018-03-06 51
70dd4b3160798b Dominik Brodowski 2018-03-06 52 /* fs/dcache.c */
70dd4b3160798b Dominik Brodowski 2018-03-06 53
70dd4b3160798b Dominik Brodowski 2018-03-06 54 /* fs/cookies.c */
67a7acd3773a94 Dominik Brodowski 2018-03-04 55 COND_SYSCALL(lookup_dcookie);
67a7acd3773a94 Dominik Brodowski 2018-03-04 56 COND_SYSCALL_COMPAT(lookup_dcookie);
70dd4b3160798b Dominik Brodowski 2018-03-06 57
70dd4b3160798b Dominik Brodowski 2018-03-06 58 /* fs/eventfd.c */
67a7acd3773a94 Dominik Brodowski 2018-03-04 59 COND_SYSCALL(eventfd2);
70dd4b3160798b Dominik Brodowski 2018-03-06 60
70dd4b3160798b Dominik Brodowski 2018-03-06 61 /* fs/eventfd.c */
67a7acd3773a94 Dominik Brodowski 2018-03-04 62 COND_SYSCALL(epoll_create1);
67a7acd3773a94 Dominik Brodowski 2018-03-04 63 COND_SYSCALL(epoll_ctl);
67a7acd3773a94 Dominik Brodowski 2018-03-04 64 COND_SYSCALL(epoll_pwait);
67a7acd3773a94 Dominik Brodowski 2018-03-04 65 COND_SYSCALL_COMPAT(epoll_pwait);
70dd4b3160798b Dominik Brodowski 2018-03-06 66
70dd4b3160798b Dominik Brodowski 2018-03-06 67 /* fs/fcntl.c */
70dd4b3160798b Dominik Brodowski 2018-03-06 68
70dd4b3160798b Dominik Brodowski 2018-03-06 69 /* fs/inotify_user.c */
67a7acd3773a94 Dominik Brodowski 2018-03-04 70 COND_SYSCALL(inotify_init1);
67a7acd3773a94 Dominik Brodowski 2018-03-04 71 COND_SYSCALL(inotify_add_watch);
67a7acd3773a94 Dominik Brodowski 2018-03-04 72 COND_SYSCALL(inotify_rm_watch);
70dd4b3160798b Dominik Brodowski 2018-03-06 73
70dd4b3160798b Dominik Brodowski 2018-03-06 74 /* fs/ioctl.c */
70dd4b3160798b Dominik Brodowski 2018-03-06 75
70dd4b3160798b Dominik Brodowski 2018-03-06 76 /* fs/ioprio.c */
67a7acd3773a94 Dominik Brodowski 2018-03-04 77 COND_SYSCALL(ioprio_set);
67a7acd3773a94 Dominik Brodowski 2018-03-04 78 COND_SYSCALL(ioprio_get);
70dd4b3160798b Dominik Brodowski 2018-03-06 79
70dd4b3160798b Dominik Brodowski 2018-03-06 80 /* fs/locks.c */
67a7acd3773a94 Dominik Brodowski 2018-03-04 81 COND_SYSCALL(flock);
70dd4b3160798b Dominik Brodowski 2018-03-06 82
70dd4b3160798b Dominik Brodowski 2018-03-06 83 /* fs/namei.c */
70dd4b3160798b Dominik Brodowski 2018-03-06 84
70dd4b3160798b Dominik Brodowski 2018-03-06 85 /* fs/namespace.c */
70dd4b3160798b Dominik Brodowski 2018-03-06 86
70dd4b3160798b Dominik Brodowski 2018-03-06 87 /* fs/nfsctl.c */
70dd4b3160798b Dominik Brodowski 2018-03-06 88
70dd4b3160798b Dominik Brodowski 2018-03-06 89 /* fs/open.c */
70dd4b3160798b Dominik Brodowski 2018-03-06 90
70dd4b3160798b Dominik Brodowski 2018-03-06 91 /* fs/pipe.c */
70dd4b3160798b Dominik Brodowski 2018-03-06 92
70dd4b3160798b Dominik Brodowski 2018-03-06 93 /* fs/quota.c */
67a7acd3773a94 Dominik Brodowski 2018-03-04 94 COND_SYSCALL(quotactl);
70dd4b3160798b Dominik Brodowski 2018-03-06 95
70dd4b3160798b Dominik Brodowski 2018-03-06 96 /* fs/readdir.c */
70dd4b3160798b Dominik Brodowski 2018-03-06 97
70dd4b3160798b Dominik Brodowski 2018-03-06 98 /* fs/read_write.c */
70dd4b3160798b Dominik Brodowski 2018-03-06 99
70dd4b3160798b Dominik Brodowski 2018-03-06 100 /* fs/sendfile.c */
70dd4b3160798b Dominik Brodowski 2018-03-06 101
70dd4b3160798b Dominik Brodowski 2018-03-06 102 /* fs/select.c */
70dd4b3160798b Dominik Brodowski 2018-03-06 103
70dd4b3160798b Dominik Brodowski 2018-03-06 104 /* fs/signalfd.c */
67a7acd3773a94 Dominik Brodowski 2018-03-04 105 COND_SYSCALL(signalfd4);
67a7acd3773a94 Dominik Brodowski 2018-03-04 106 COND_SYSCALL_COMPAT(signalfd4);
70dd4b3160798b Dominik Brodowski 2018-03-06 107
70dd4b3160798b Dominik Brodowski 2018-03-06 108 /* fs/splice.c */
70dd4b3160798b Dominik Brodowski 2018-03-06 109
70dd4b3160798b Dominik Brodowski 2018-03-06 110 /* fs/stat.c */
70dd4b3160798b Dominik Brodowski 2018-03-06 111
70dd4b3160798b Dominik Brodowski 2018-03-06 112 /* fs/sync.c */
70dd4b3160798b Dominik Brodowski 2018-03-06 113
70dd4b3160798b Dominik Brodowski 2018-03-06 114 /* fs/timerfd.c */
67a7acd3773a94 Dominik Brodowski 2018-03-04 115 COND_SYSCALL(timerfd_create);
67a7acd3773a94 Dominik Brodowski 2018-03-04 116 COND_SYSCALL(timerfd_settime);
67a7acd3773a94 Dominik Brodowski 2018-03-04 @117 COND_SYSCALL_COMPAT(timerfd_settime);
67a7acd3773a94 Dominik Brodowski 2018-03-04 118 COND_SYSCALL(timerfd_gettime);
67a7acd3773a94 Dominik Brodowski 2018-03-04 @119 COND_SYSCALL_COMPAT(timerfd_gettime);
70dd4b3160798b Dominik Brodowski 2018-03-06 120
70dd4b3160798b Dominik Brodowski 2018-03-06 121 /* fs/utimes.c */
70dd4b3160798b Dominik Brodowski 2018-03-06 122
70dd4b3160798b Dominik Brodowski 2018-03-06 123 /* kernel/acct.c */
67a7acd3773a94 Dominik Brodowski 2018-03-04 124 COND_SYSCALL(acct);
70dd4b3160798b Dominik Brodowski 2018-03-06 125
70dd4b3160798b Dominik Brodowski 2018-03-06 126 /* kernel/capability.c */
67a7acd3773a94 Dominik Brodowski 2018-03-04 127 COND_SYSCALL(capget);
67a7acd3773a94 Dominik Brodowski 2018-03-04 128 COND_SYSCALL(capset);
70dd4b3160798b Dominik Brodowski 2018-03-06 129
70dd4b3160798b Dominik Brodowski 2018-03-06 130 /* kernel/exec_domain.c */
70dd4b3160798b Dominik Brodowski 2018-03-06 131
70dd4b3160798b Dominik Brodowski 2018-03-06 132 /* kernel/exit.c */
70dd4b3160798b Dominik Brodowski 2018-03-06 133
70dd4b3160798b Dominik Brodowski 2018-03-06 134 /* kernel/fork.c */
70dd4b3160798b Dominik Brodowski 2018-03-06 135
70dd4b3160798b Dominik Brodowski 2018-03-06 136 /* kernel/futex.c */
67a7acd3773a94 Dominik Brodowski 2018-03-04 137 COND_SYSCALL(futex);
67a7acd3773a94 Dominik Brodowski 2018-03-04 @138 COND_SYSCALL_COMPAT(futex);
67a7acd3773a94 Dominik Brodowski 2018-03-04 139 COND_SYSCALL(set_robust_list);
67a7acd3773a94 Dominik Brodowski 2018-03-04 140 COND_SYSCALL_COMPAT(set_robust_list);
67a7acd3773a94 Dominik Brodowski 2018-03-04 141 COND_SYSCALL(get_robust_list);
67a7acd3773a94 Dominik Brodowski 2018-03-04 142 COND_SYSCALL_COMPAT(get_robust_list);
70dd4b3160798b Dominik Brodowski 2018-03-06 143
70dd4b3160798b Dominik Brodowski 2018-03-06 144 /* kernel/hrtimer.c */
70dd4b3160798b Dominik Brodowski 2018-03-06 145
70dd4b3160798b Dominik Brodowski 2018-03-06 146 /* kernel/itimer.c */
70dd4b3160798b Dominik Brodowski 2018-03-06 147
70dd4b3160798b Dominik Brodowski 2018-03-06 148 /* kernel/kexec.c */
67a7acd3773a94 Dominik Brodowski 2018-03-04 149 COND_SYSCALL(kexec_load);
67a7acd3773a94 Dominik Brodowski 2018-03-04 150 COND_SYSCALL_COMPAT(kexec_load);
70dd4b3160798b Dominik Brodowski 2018-03-06 151
70dd4b3160798b Dominik Brodowski 2018-03-06 152 /* kernel/module.c */
67a7acd3773a94 Dominik Brodowski 2018-03-04 153 COND_SYSCALL(init_module);
67a7acd3773a94 Dominik Brodowski 2018-03-04 154 COND_SYSCALL(delete_module);
70dd4b3160798b Dominik Brodowski 2018-03-06 155
70dd4b3160798b Dominik Brodowski 2018-03-06 156 /* kernel/posix-timers.c */
70dd4b3160798b Dominik Brodowski 2018-03-06 157
70dd4b3160798b Dominik Brodowski 2018-03-06 158 /* kernel/printk.c */
67a7acd3773a94 Dominik Brodowski 2018-03-04 159 COND_SYSCALL(syslog);
70dd4b3160798b Dominik Brodowski 2018-03-06 160
70dd4b3160798b Dominik Brodowski 2018-03-06 161 /* kernel/ptrace.c */
70dd4b3160798b Dominik Brodowski 2018-03-06 162
70dd4b3160798b Dominik Brodowski 2018-03-06 163 /* kernel/sched/core.c */
70dd4b3160798b Dominik Brodowski 2018-03-06 164
70dd4b3160798b Dominik Brodowski 2018-03-06 165 /* kernel/signal.c */
70dd4b3160798b Dominik Brodowski 2018-03-06 166
70dd4b3160798b Dominik Brodowski 2018-03-06 167 /* kernel/sys.c */
67a7acd3773a94 Dominik Brodowski 2018-03-04 168 COND_SYSCALL(setregid);
67a7acd3773a94 Dominik Brodowski 2018-03-04 169 COND_SYSCALL(setgid);
67a7acd3773a94 Dominik Brodowski 2018-03-04 170 COND_SYSCALL(setreuid);
67a7acd3773a94 Dominik Brodowski 2018-03-04 171 COND_SYSCALL(setuid);
67a7acd3773a94 Dominik Brodowski 2018-03-04 172 COND_SYSCALL(setresuid);
67a7acd3773a94 Dominik Brodowski 2018-03-04 173 COND_SYSCALL(getresuid);
67a7acd3773a94 Dominik Brodowski 2018-03-04 174 COND_SYSCALL(setresgid);
67a7acd3773a94 Dominik Brodowski 2018-03-04 175 COND_SYSCALL(getresgid);
67a7acd3773a94 Dominik Brodowski 2018-03-04 176 COND_SYSCALL(setfsuid);
67a7acd3773a94 Dominik Brodowski 2018-03-04 177 COND_SYSCALL(setfsgid);
67a7acd3773a94 Dominik Brodowski 2018-03-04 178 COND_SYSCALL(setgroups);
67a7acd3773a94 Dominik Brodowski 2018-03-04 179 COND_SYSCALL(getgroups);
70dd4b3160798b Dominik Brodowski 2018-03-06 180
70dd4b3160798b Dominik Brodowski 2018-03-06 181 /* kernel/time.c */
70dd4b3160798b Dominik Brodowski 2018-03-06 182
70dd4b3160798b Dominik Brodowski 2018-03-06 183 /* kernel/timer.c */
70dd4b3160798b Dominik Brodowski 2018-03-06 184
70dd4b3160798b Dominik Brodowski 2018-03-06 185 /* ipc/mqueue.c */
67a7acd3773a94 Dominik Brodowski 2018-03-04 186 COND_SYSCALL(mq_open);
67a7acd3773a94 Dominik Brodowski 2018-03-04 187 COND_SYSCALL_COMPAT(mq_open);
67a7acd3773a94 Dominik Brodowski 2018-03-04 188 COND_SYSCALL(mq_unlink);
67a7acd3773a94 Dominik Brodowski 2018-03-04 189 COND_SYSCALL(mq_timedsend);
67a7acd3773a94 Dominik Brodowski 2018-03-04 @190 COND_SYSCALL_COMPAT(mq_timedsend);
67a7acd3773a94 Dominik Brodowski 2018-03-04 191 COND_SYSCALL(mq_timedreceive);
67a7acd3773a94 Dominik Brodowski 2018-03-04 @192 COND_SYSCALL_COMPAT(mq_timedreceive);
67a7acd3773a94 Dominik Brodowski 2018-03-04 193 COND_SYSCALL(mq_notify);
67a7acd3773a94 Dominik Brodowski 2018-03-04 194 COND_SYSCALL_COMPAT(mq_notify);
67a7acd3773a94 Dominik Brodowski 2018-03-04 195 COND_SYSCALL(mq_getsetattr);
67a7acd3773a94 Dominik Brodowski 2018-03-04 196 COND_SYSCALL_COMPAT(mq_getsetattr);
70dd4b3160798b Dominik Brodowski 2018-03-06 197
70dd4b3160798b Dominik Brodowski 2018-03-06 198 /* ipc/msg.c */
67a7acd3773a94 Dominik Brodowski 2018-03-04 199 COND_SYSCALL(msgget);
67a7acd3773a94 Dominik Brodowski 2018-03-04 200 COND_SYSCALL(msgctl);
67a7acd3773a94 Dominik Brodowski 2018-03-04 201 COND_SYSCALL_COMPAT(msgctl);
67a7acd3773a94 Dominik Brodowski 2018-03-04 202 COND_SYSCALL(msgrcv);
67a7acd3773a94 Dominik Brodowski 2018-03-04 203 COND_SYSCALL_COMPAT(msgrcv);
67a7acd3773a94 Dominik Brodowski 2018-03-04 204 COND_SYSCALL(msgsnd);
67a7acd3773a94 Dominik Brodowski 2018-03-04 205 COND_SYSCALL_COMPAT(msgsnd);
70dd4b3160798b Dominik Brodowski 2018-03-06 206
70dd4b3160798b Dominik Brodowski 2018-03-06 207 /* ipc/sem.c */
67a7acd3773a94 Dominik Brodowski 2018-03-04 208 COND_SYSCALL(semget);
67a7acd3773a94 Dominik Brodowski 2018-03-04 209 COND_SYSCALL(semctl);
67a7acd3773a94 Dominik Brodowski 2018-03-04 210 COND_SYSCALL_COMPAT(semctl);
67a7acd3773a94 Dominik Brodowski 2018-03-04 211 COND_SYSCALL(semtimedop);
67a7acd3773a94 Dominik Brodowski 2018-03-04 @212 COND_SYSCALL_COMPAT(semtimedop);
67a7acd3773a94 Dominik Brodowski 2018-03-04 213 COND_SYSCALL(semop);
70dd4b3160798b Dominik Brodowski 2018-03-06 214
:::::: The code at line 47 was first introduced by commit
:::::: 67a7acd3773a94df2e671601a288685485463cf9 kernel/sys_ni: remove {sys_,sys_compat} from cond_syscall definitions
:::::: TO: Dominik Brodowski <linux(a)dominikbrodowski.net>
:::::: CC: Dominik Brodowski <linux(a)dominikbrodowski.net>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 6 months
Re: [PATCH] cachefiles: do not yet allow on idmapped mounts
by Dan Carpenter
Hi Christian,
url: https://github.com/0day-ci/linux/commits/Christian-Brauner/cachefiles-do-...
base: 1e28eed17697bcf343c6743f0028cc3b5dd88bf0
config: x86_64-randconfig-m001-20210317 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
Reported-by: Dan Carpenter <dan.carpenter(a)oracle.com>
New smatch warnings:
fs/cachefiles/bind.c:247 cachefiles_daemon_add_cache() error: uninitialized symbol 'root'.
vim +/root +247 fs/cachefiles/bind.c
9ae326a69004de David Howells 2009-04-03 81 static int cachefiles_daemon_add_cache(struct cachefiles_cache *cache)
9ae326a69004de David Howells 2009-04-03 82 {
9ae326a69004de David Howells 2009-04-03 83 struct cachefiles_object *fsdef;
b0446be4be4476 Al Viro 2009-08-09 84 struct path path;
9ae326a69004de David Howells 2009-04-03 85 struct kstatfs stats;
9ae326a69004de David Howells 2009-04-03 86 struct dentry *graveyard, *cachedir, *root;
9ae326a69004de David Howells 2009-04-03 87 const struct cred *saved_cred;
9ae326a69004de David Howells 2009-04-03 88 int ret;
9ae326a69004de David Howells 2009-04-03 89
9ae326a69004de David Howells 2009-04-03 90 _enter("");
9ae326a69004de David Howells 2009-04-03 91
9ae326a69004de David Howells 2009-04-03 92 /* we want to work under the module's security ID */
9ae326a69004de David Howells 2009-04-03 93 ret = cachefiles_get_security_ID(cache);
9ae326a69004de David Howells 2009-04-03 94 if (ret < 0)
9ae326a69004de David Howells 2009-04-03 95 return ret;
9ae326a69004de David Howells 2009-04-03 96
9ae326a69004de David Howells 2009-04-03 97 cachefiles_begin_secure(cache, &saved_cred);
9ae326a69004de David Howells 2009-04-03 98
9ae326a69004de David Howells 2009-04-03 99 /* allocate the root index object */
9ae326a69004de David Howells 2009-04-03 100 ret = -ENOMEM;
9ae326a69004de David Howells 2009-04-03 101
9ae326a69004de David Howells 2009-04-03 102 fsdef = kmem_cache_alloc(cachefiles_object_jar, GFP_KERNEL);
9ae326a69004de David Howells 2009-04-03 103 if (!fsdef)
9ae326a69004de David Howells 2009-04-03 104 goto error_root_object;
9ae326a69004de David Howells 2009-04-03 105
9ae326a69004de David Howells 2009-04-03 106 ASSERTCMP(fsdef->backer, ==, NULL);
9ae326a69004de David Howells 2009-04-03 107
9ae326a69004de David Howells 2009-04-03 108 atomic_set(&fsdef->usage, 1);
9ae326a69004de David Howells 2009-04-03 109 fsdef->type = FSCACHE_COOKIE_TYPE_INDEX;
9ae326a69004de David Howells 2009-04-03 110
9ae326a69004de David Howells 2009-04-03 111 _debug("- fsdef %p", fsdef);
9ae326a69004de David Howells 2009-04-03 112
9ae326a69004de David Howells 2009-04-03 113 /* look up the directory at the root of the cache */
b0446be4be4476 Al Viro 2009-08-09 114 ret = kern_path(cache->rootdirname, LOOKUP_DIRECTORY, &path);
9ae326a69004de David Howells 2009-04-03 115 if (ret < 0)
9ae326a69004de David Howells 2009-04-03 116 goto error_open_root;
9ae326a69004de David Howells 2009-04-03 117
b2653f9eca0ed7 Christian Brauner 2021-03-16 118 ret = -EINVAL;
b2653f9eca0ed7 Christian Brauner 2021-03-16 119 if (mnt_user_ns(path.mnt) != &init_user_ns)
b2653f9eca0ed7 Christian Brauner 2021-03-16 120 goto error_unsupported;
^^^^^^^^^^^^^^^^^^^^^^^
Needs to be moved after we initialize root.
b2653f9eca0ed7 Christian Brauner 2021-03-16 121
b0446be4be4476 Al Viro 2009-08-09 122 cache->mnt = path.mnt;
b0446be4be4476 Al Viro 2009-08-09 123 root = path.dentry;
^^^^^^^^^^^^^^^^^^
Here
9ae326a69004de David Howells 2009-04-03 124
9ae326a69004de David Howells 2009-04-03 125 /* check parameters */
9ae326a69004de David Howells 2009-04-03 126 ret = -EOPNOTSUPP;
466b77bc954c23 David Howells 2015-03-17 127 if (d_is_negative(root) ||
466b77bc954c23 David Howells 2015-03-17 128 !d_backing_inode(root)->i_op->lookup ||
466b77bc954c23 David Howells 2015-03-17 129 !d_backing_inode(root)->i_op->mkdir ||
5d6c31910bc071 Andreas Gruenbacher 2016-09-29 130 !(d_backing_inode(root)->i_opflags & IOP_XATTR) ||
9ae326a69004de David Howells 2009-04-03 131 !root->d_sb->s_op->statfs ||
9ae326a69004de David Howells 2009-04-03 132 !root->d_sb->s_op->sync_fs)
9ae326a69004de David Howells 2009-04-03 133 goto error_unsupported;
9ae326a69004de David Howells 2009-04-03 134
9ae326a69004de David Howells 2009-04-03 135 ret = -EROFS;
bc98a42c1f7d0f David Howells 2017-07-17 136 if (sb_rdonly(root->d_sb))
9ae326a69004de David Howells 2009-04-03 137 goto error_unsupported;
9ae326a69004de David Howells 2009-04-03 138
9ae326a69004de David Howells 2009-04-03 139 /* determine the security of the on-disk cache as this governs
9ae326a69004de David Howells 2009-04-03 140 * security ID of files we create */
9ae326a69004de David Howells 2009-04-03 141 ret = cachefiles_determine_cache_security(cache, root, &saved_cred);
9ae326a69004de David Howells 2009-04-03 142 if (ret < 0)
9ae326a69004de David Howells 2009-04-03 143 goto error_unsupported;
9ae326a69004de David Howells 2009-04-03 144
9ae326a69004de David Howells 2009-04-03 145 /* get the cache size and blocksize */
ebabe9a9001af0 Christoph Hellwig 2010-07-07 146 ret = vfs_statfs(&path, &stats);
9ae326a69004de David Howells 2009-04-03 147 if (ret < 0)
9ae326a69004de David Howells 2009-04-03 148 goto error_unsupported;
9ae326a69004de David Howells 2009-04-03 149
9ae326a69004de David Howells 2009-04-03 150 ret = -ERANGE;
9ae326a69004de David Howells 2009-04-03 151 if (stats.f_bsize <= 0)
9ae326a69004de David Howells 2009-04-03 152 goto error_unsupported;
9ae326a69004de David Howells 2009-04-03 153
9ae326a69004de David Howells 2009-04-03 154 ret = -EOPNOTSUPP;
9ae326a69004de David Howells 2009-04-03 155 if (stats.f_bsize > PAGE_SIZE)
9ae326a69004de David Howells 2009-04-03 156 goto error_unsupported;
9ae326a69004de David Howells 2009-04-03 157
9ae326a69004de David Howells 2009-04-03 158 cache->bsize = stats.f_bsize;
9ae326a69004de David Howells 2009-04-03 159 cache->bshift = 0;
9ae326a69004de David Howells 2009-04-03 160 if (stats.f_bsize < PAGE_SIZE)
9ae326a69004de David Howells 2009-04-03 161 cache->bshift = PAGE_SHIFT - ilog2(stats.f_bsize);
9ae326a69004de David Howells 2009-04-03 162
9ae326a69004de David Howells 2009-04-03 163 _debug("blksize %u (shift %u)",
9ae326a69004de David Howells 2009-04-03 164 cache->bsize, cache->bshift);
9ae326a69004de David Howells 2009-04-03 165
9ae326a69004de David Howells 2009-04-03 166 _debug("size %llu, avail %llu",
9ae326a69004de David Howells 2009-04-03 167 (unsigned long long) stats.f_blocks,
9ae326a69004de David Howells 2009-04-03 168 (unsigned long long) stats.f_bavail);
9ae326a69004de David Howells 2009-04-03 169
9ae326a69004de David Howells 2009-04-03 170 /* set up caching limits */
9ae326a69004de David Howells 2009-04-03 171 do_div(stats.f_files, 100);
9ae326a69004de David Howells 2009-04-03 172 cache->fstop = stats.f_files * cache->fstop_percent;
9ae326a69004de David Howells 2009-04-03 173 cache->fcull = stats.f_files * cache->fcull_percent;
9ae326a69004de David Howells 2009-04-03 174 cache->frun = stats.f_files * cache->frun_percent;
9ae326a69004de David Howells 2009-04-03 175
9ae326a69004de David Howells 2009-04-03 176 _debug("limits {%llu,%llu,%llu} files",
9ae326a69004de David Howells 2009-04-03 177 (unsigned long long) cache->frun,
9ae326a69004de David Howells 2009-04-03 178 (unsigned long long) cache->fcull,
9ae326a69004de David Howells 2009-04-03 179 (unsigned long long) cache->fstop);
9ae326a69004de David Howells 2009-04-03 180
9ae326a69004de David Howells 2009-04-03 181 stats.f_blocks >>= cache->bshift;
9ae326a69004de David Howells 2009-04-03 182 do_div(stats.f_blocks, 100);
9ae326a69004de David Howells 2009-04-03 183 cache->bstop = stats.f_blocks * cache->bstop_percent;
9ae326a69004de David Howells 2009-04-03 184 cache->bcull = stats.f_blocks * cache->bcull_percent;
9ae326a69004de David Howells 2009-04-03 185 cache->brun = stats.f_blocks * cache->brun_percent;
9ae326a69004de David Howells 2009-04-03 186
9ae326a69004de David Howells 2009-04-03 187 _debug("limits {%llu,%llu,%llu} blocks",
9ae326a69004de David Howells 2009-04-03 188 (unsigned long long) cache->brun,
9ae326a69004de David Howells 2009-04-03 189 (unsigned long long) cache->bcull,
9ae326a69004de David Howells 2009-04-03 190 (unsigned long long) cache->bstop);
9ae326a69004de David Howells 2009-04-03 191
9ae326a69004de David Howells 2009-04-03 192 /* get the cache directory and check its type */
9ae326a69004de David Howells 2009-04-03 193 cachedir = cachefiles_get_directory(cache, root, "cache");
9ae326a69004de David Howells 2009-04-03 194 if (IS_ERR(cachedir)) {
9ae326a69004de David Howells 2009-04-03 195 ret = PTR_ERR(cachedir);
9ae326a69004de David Howells 2009-04-03 196 goto error_unsupported;
9ae326a69004de David Howells 2009-04-03 197 }
9ae326a69004de David Howells 2009-04-03 198
9ae326a69004de David Howells 2009-04-03 199 fsdef->dentry = cachedir;
9ae326a69004de David Howells 2009-04-03 200 fsdef->fscache.cookie = NULL;
9ae326a69004de David Howells 2009-04-03 201
9ae326a69004de David Howells 2009-04-03 202 ret = cachefiles_check_object_type(fsdef);
9ae326a69004de David Howells 2009-04-03 203 if (ret < 0)
9ae326a69004de David Howells 2009-04-03 204 goto error_unsupported;
9ae326a69004de David Howells 2009-04-03 205
9ae326a69004de David Howells 2009-04-03 206 /* get the graveyard directory */
9ae326a69004de David Howells 2009-04-03 207 graveyard = cachefiles_get_directory(cache, root, "graveyard");
9ae326a69004de David Howells 2009-04-03 208 if (IS_ERR(graveyard)) {
9ae326a69004de David Howells 2009-04-03 209 ret = PTR_ERR(graveyard);
9ae326a69004de David Howells 2009-04-03 210 goto error_unsupported;
9ae326a69004de David Howells 2009-04-03 211 }
9ae326a69004de David Howells 2009-04-03 212
9ae326a69004de David Howells 2009-04-03 213 cache->graveyard = graveyard;
9ae326a69004de David Howells 2009-04-03 214
9ae326a69004de David Howells 2009-04-03 215 /* publish the cache */
9ae326a69004de David Howells 2009-04-03 216 fscache_init_cache(&cache->cache,
9ae326a69004de David Howells 2009-04-03 217 &cachefiles_cache_ops,
9ae326a69004de David Howells 2009-04-03 218 "%s",
9ae326a69004de David Howells 2009-04-03 219 fsdef->dentry->d_sb->s_id);
9ae326a69004de David Howells 2009-04-03 220
f29507ce667010 Kiran Kumar Modukuri 2018-06-21 221 fscache_object_init(&fsdef->fscache, &fscache_fsdef_index,
f29507ce667010 Kiran Kumar Modukuri 2018-06-21 222 &cache->cache);
9ae326a69004de David Howells 2009-04-03 223
9ae326a69004de David Howells 2009-04-03 224 ret = fscache_add_cache(&cache->cache, &fsdef->fscache, cache->tag);
9ae326a69004de David Howells 2009-04-03 225 if (ret < 0)
9ae326a69004de David Howells 2009-04-03 226 goto error_add_cache;
9ae326a69004de David Howells 2009-04-03 227
9ae326a69004de David Howells 2009-04-03 228 /* done */
9ae326a69004de David Howells 2009-04-03 229 set_bit(CACHEFILES_READY, &cache->flags);
9ae326a69004de David Howells 2009-04-03 230 dput(root);
9ae326a69004de David Howells 2009-04-03 231
0227d6abb37845 Fabian Frederick 2014-06-06 232 pr_info("File cache on %s registered\n", cache->cache.identifier);
9ae326a69004de David Howells 2009-04-03 233
9ae326a69004de David Howells 2009-04-03 234 /* check how much space the cache has */
9ae326a69004de David Howells 2009-04-03 235 cachefiles_has_space(cache, 0, 0);
9ae326a69004de David Howells 2009-04-03 236 cachefiles_end_secure(cache, saved_cred);
9ae326a69004de David Howells 2009-04-03 237 return 0;
9ae326a69004de David Howells 2009-04-03 238
9ae326a69004de David Howells 2009-04-03 239 error_add_cache:
9ae326a69004de David Howells 2009-04-03 240 dput(cache->graveyard);
9ae326a69004de David Howells 2009-04-03 241 cache->graveyard = NULL;
9ae326a69004de David Howells 2009-04-03 242 error_unsupported:
9ae326a69004de David Howells 2009-04-03 243 mntput(cache->mnt);
9ae326a69004de David Howells 2009-04-03 244 cache->mnt = NULL;
9ae326a69004de David Howells 2009-04-03 245 dput(fsdef->dentry);
9ae326a69004de David Howells 2009-04-03 246 fsdef->dentry = NULL;
9ae326a69004de David Howells 2009-04-03 @247 dput(root);
^^^^^^^^^^
9ae326a69004de David Howells 2009-04-03 248 error_open_root:
9ae326a69004de David Howells 2009-04-03 249 kmem_cache_free(cachefiles_object_jar, fsdef);
9ae326a69004de David Howells 2009-04-03 250 error_root_object:
9ae326a69004de David Howells 2009-04-03 251 cachefiles_end_secure(cache, saved_cred);
6ff66ac77aeaa9 Fabian Frederick 2014-09-25 252 pr_err("Failed to register: %d\n", ret);
9ae326a69004de David Howells 2009-04-03 253 return ret;
9ae326a69004de David Howells 2009-04-03 254 }
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 6 months