[helgaas-pci:for-linus 1/1] arch/x86/include/asm/pci_x86.h:99:8: error: unknown type name 'raw_spinlock_t'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git for-linus
head: f10507a66e36dde76d71bef8ce6e1c873f441616
commit: f10507a66e36dde76d71bef8ce6e1c873f441616 [1/1] x86/PCI: Ignore E820 reservations for bridge windows on newer systems
config: i386-randconfig-r032-20211019 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 92a0389b0425a9535a99a0ce13ba0eeda2bce7ad)
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://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git/commit/?i...
git remote add helgaas-pci https://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git
git fetch --no-tags helgaas-pci for-linus
git checkout f10507a66e36dde76d71bef8ce6e1c873f441616
# save the attached .config to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=i386 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 >>):
In file included from arch/x86/kernel/resource.c:4:
>> arch/x86/include/asm/pci_x86.h:99:8: error: unknown type name 'raw_spinlock_t'
extern raw_spinlock_t pci_config_lock;
^
>> arch/x86/include/asm/pci_x86.h:135:19: error: expected ';' after top level declarator
extern void __init dmi_check_pciprobe(void);
^
;
arch/x86/include/asm/pci_x86.h:136:19: error: expected ';' after top level declarator
extern void __init dmi_check_skip_isa_align(void);
^
;
>> arch/x86/include/asm/pci_x86.h:140:12: error: redeclaration of '__init' with a different type: 'int' vs 'void'
extern int __init pci_acpi_init(void);
^
arch/x86/include/asm/pci_x86.h:136:13: note: previous declaration is here
extern void __init dmi_check_skip_isa_align(void);
^
arch/x86/include/asm/pci_x86.h:140:18: error: expected ';' after top level declarator
extern int __init pci_acpi_init(void);
^
;
arch/x86/include/asm/pci_x86.h:147:19: error: expected ';' after top level declarator
extern void __init pcibios_irq_init(void);
^
;
arch/x86/include/asm/pci_x86.h:148:12: error: redeclaration of '__init' with a different type: 'int' vs 'void'
extern int __init pcibios_init(void);
^
arch/x86/include/asm/pci_x86.h:147:13: note: previous declaration is here
extern void __init pcibios_irq_init(void);
^
arch/x86/include/asm/pci_x86.h:148:18: error: expected ';' after top level declarator
extern int __init pcibios_init(void);
^
;
arch/x86/include/asm/pci_x86.h:168:12: error: redeclaration of '__init' with a different type: 'int' vs 'void'
extern int __init pci_mmcfg_arch_init(void);
^
arch/x86/include/asm/pci_x86.h:147:13: note: previous declaration is here
extern void __init pcibios_irq_init(void);
^
arch/x86/include/asm/pci_x86.h:168:18: error: expected ';' after top level declarator
extern int __init pci_mmcfg_arch_init(void);
^
;
arch/x86/include/asm/pci_x86.h:169:19: error: expected ';' after top level declarator
extern void __init pci_mmcfg_arch_free(void);
^
;
>> arch/x86/include/asm/pci_x86.h:176:33: error: redeclaration of '__init' with a different type: 'struct pci_mmcfg_region *' vs 'void'
extern struct pci_mmcfg_region *__init pci_mmconfig_add(int segment, int start,
^
arch/x86/include/asm/pci_x86.h:169:13: note: previous declaration is here
extern void __init pci_mmcfg_arch_free(void);
^
arch/x86/include/asm/pci_x86.h:176:39: error: expected ';' after top level declarator
extern struct pci_mmcfg_region *__init pci_mmconfig_add(int segment, int start,
^
;
13 errors generated.
vim +/raw_spinlock_t +99 arch/x86/include/asm/pci_x86.h
^1da177e4c3f41 arch/i386/pci/pci.h Linus Torvalds 2005-04-16 98
d19f61f098ae93 arch/x86/include/asm/pci_x86.h Thomas Gleixner 2010-02-17 @99 extern raw_spinlock_t pci_config_lock;
^1da177e4c3f41 arch/i386/pci/pci.h Linus Torvalds 2005-04-16 100
^1da177e4c3f41 arch/i386/pci/pci.h Linus Torvalds 2005-04-16 101 extern int (*pcibios_enable_irq)(struct pci_dev *dev);
87bec66b969152 arch/i386/pci/pci.h David Shaohua Li 2005-07-27 102 extern void (*pcibios_disable_irq)(struct pci_dev *dev);
928cf8c6276334 arch/i386/pci/pci.h Andi Kleen 2005-12-12 103
6c777e8799a93e arch/x86/include/asm/pci_x86.h Bjorn Helgaas 2016-02-17 104 extern bool mp_should_keep_irq(struct device *dev);
6c777e8799a93e arch/x86/include/asm/pci_x86.h Bjorn Helgaas 2016-02-17 105
b6ce068a1285a2 arch/x86/pci/pci.h Matthew Wilcox 2008-02-10 106 struct pci_raw_ops {
b6ce068a1285a2 arch/x86/pci/pci.h Matthew Wilcox 2008-02-10 107 int (*read)(unsigned int domain, unsigned int bus, unsigned int devfn,
b6ce068a1285a2 arch/x86/pci/pci.h Matthew Wilcox 2008-02-10 108 int reg, int len, u32 *val);
b6ce068a1285a2 arch/x86/pci/pci.h Matthew Wilcox 2008-02-10 109 int (*write)(unsigned int domain, unsigned int bus, unsigned int devfn,
b6ce068a1285a2 arch/x86/pci/pci.h Matthew Wilcox 2008-02-10 110 int reg, int len, u32 val);
b6ce068a1285a2 arch/x86/pci/pci.h Matthew Wilcox 2008-02-10 111 };
b6ce068a1285a2 arch/x86/pci/pci.h Matthew Wilcox 2008-02-10 112
72da0b07b1b497 arch/x86/include/asm/pci_x86.h Jan Beulich 2011-09-15 113 extern const struct pci_raw_ops *raw_pci_ops;
72da0b07b1b497 arch/x86/include/asm/pci_x86.h Jan Beulich 2011-09-15 114 extern const struct pci_raw_ops *raw_pci_ext_ops;
b6ce068a1285a2 arch/x86/pci/pci.h Matthew Wilcox 2008-02-10 115
c0fa40784cce9c arch/x86/include/asm/pci_x86.h Jiang Liu 2012-06-22 116 extern const struct pci_raw_ops pci_mmcfg;
72da0b07b1b497 arch/x86/include/asm/pci_x86.h Jan Beulich 2011-09-15 117 extern const struct pci_raw_ops pci_direct_conf1;
14d7ca5c575853 arch/x86/pci/pci.h H. Peter Anvin 2008-11-11 118 extern bool port_cf9_safe;
928cf8c6276334 arch/i386/pci/pci.h Andi Kleen 2005-12-12 119
8dd779b19ce597 arch/x86/pci/pci.h Robert Richter 2008-07-02 120 /* arch_initcall level */
445d3595ab290b arch/x86/include/asm/pci_x86.h Thomas Gleixner 2020-08-26 121 #ifdef CONFIG_PCI_DIRECT
5e544d618f0fb2 arch/i386/pci/pci.h Andi Kleen 2006-09-26 122 extern int pci_direct_probe(void);
5e544d618f0fb2 arch/i386/pci/pci.h Andi Kleen 2006-09-26 123 extern void pci_direct_init(int type);
445d3595ab290b arch/x86/include/asm/pci_x86.h Thomas Gleixner 2020-08-26 124 #else
445d3595ab290b arch/x86/include/asm/pci_x86.h Thomas Gleixner 2020-08-26 125 static inline int pci_direct_probe(void) { return -1; }
445d3595ab290b arch/x86/include/asm/pci_x86.h Thomas Gleixner 2020-08-26 126 static inline void pci_direct_init(int type) { }
445d3595ab290b arch/x86/include/asm/pci_x86.h Thomas Gleixner 2020-08-26 127 #endif
445d3595ab290b arch/x86/include/asm/pci_x86.h Thomas Gleixner 2020-08-26 128
445d3595ab290b arch/x86/include/asm/pci_x86.h Thomas Gleixner 2020-08-26 129 #ifdef CONFIG_PCI_BIOS
92c05fc1a32e5c arch/i386/pci/pci.h Andi Kleen 2006-03-23 130 extern void pci_pcbios_init(void);
445d3595ab290b arch/x86/include/asm/pci_x86.h Thomas Gleixner 2020-08-26 131 #else
445d3595ab290b arch/x86/include/asm/pci_x86.h Thomas Gleixner 2020-08-26 132 static inline void pci_pcbios_init(void) { }
445d3595ab290b arch/x86/include/asm/pci_x86.h Thomas Gleixner 2020-08-26 133 #endif
445d3595ab290b arch/x86/include/asm/pci_x86.h Thomas Gleixner 2020-08-26 134
8dd779b19ce597 arch/x86/pci/pci.h Robert Richter 2008-07-02 @135 extern void __init dmi_check_pciprobe(void);
8dd779b19ce597 arch/x86/pci/pci.h Robert Richter 2008-07-02 136 extern void __init dmi_check_skip_isa_align(void);
8dd779b19ce597 arch/x86/pci/pci.h Robert Richter 2008-07-02 137
8dd779b19ce597 arch/x86/pci/pci.h Robert Richter 2008-07-02 138 /* some common used subsys_initcalls */
5d32a66541c468 arch/x86/include/asm/pci_x86.h Sinan Kaya 2018-12-19 139 #ifdef CONFIG_PCI
8dd779b19ce597 arch/x86/pci/pci.h Robert Richter 2008-07-02 @140 extern int __init pci_acpi_init(void);
5d32a66541c468 arch/x86/include/asm/pci_x86.h Sinan Kaya 2018-12-19 141 #else
5d32a66541c468 arch/x86/include/asm/pci_x86.h Sinan Kaya 2018-12-19 142 static inline int __init pci_acpi_init(void)
5d32a66541c468 arch/x86/include/asm/pci_x86.h Sinan Kaya 2018-12-19 143 {
5d32a66541c468 arch/x86/include/asm/pci_x86.h Sinan Kaya 2018-12-19 144 return -EINVAL;
5d32a66541c468 arch/x86/include/asm/pci_x86.h Sinan Kaya 2018-12-19 145 }
5d32a66541c468 arch/x86/include/asm/pci_x86.h Sinan Kaya 2018-12-19 146 #endif
ab3b37937e8f4f arch/x86/include/asm/pci_x86.h Thomas Gleixner 2009-08-29 147 extern void __init pcibios_irq_init(void);
8dd779b19ce597 arch/x86/pci/pci.h Robert Richter 2008-07-02 148 extern int __init pcibios_init(void);
b72d0db9dd41da arch/x86/include/asm/pci_x86.h Thomas Gleixner 2009-08-29 149 extern int pci_legacy_init(void);
9325a28ce2fa7c arch/x86/include/asm/pci_x86.h Thomas Gleixner 2009-08-29 150 extern void pcibios_fixup_irqs(void);
5e544d618f0fb2 arch/i386/pci/pci.h Andi Kleen 2006-09-26 151
b78673944b22b6 arch/i386/pci/pci.h Olivier Galibert 2007-02-13 152 /* pci-mmconfig.c */
b78673944b22b6 arch/i386/pci/pci.h Olivier Galibert 2007-02-13 153
56ddf4d3cf04e8 arch/x86/include/asm/pci_x86.h Bjorn Helgaas 2009-11-13 154 /* "PCI MMCONFIG %04x [bus %02x-%02x]" */
56ddf4d3cf04e8 arch/x86/include/asm/pci_x86.h Bjorn Helgaas 2009-11-13 155 #define PCI_MMCFG_RESOURCE_NAME_LEN (22 + 4 + 2 + 2)
56ddf4d3cf04e8 arch/x86/include/asm/pci_x86.h Bjorn Helgaas 2009-11-13 156
d215a9c8b46e55 arch/x86/include/asm/pci_x86.h Bjorn Helgaas 2009-11-13 157 struct pci_mmcfg_region {
ff097ddd4aeac7 arch/x86/include/asm/pci_x86.h Bjorn Helgaas 2009-11-13 158 struct list_head list;
56ddf4d3cf04e8 arch/x86/include/asm/pci_x86.h Bjorn Helgaas 2009-11-13 159 struct resource res;
d215a9c8b46e55 arch/x86/include/asm/pci_x86.h Bjorn Helgaas 2009-11-13 160 u64 address;
3f0f5503926f74 arch/x86/include/asm/pci_x86.h Bjorn Helgaas 2009-11-13 161 char __iomem *virt;
d7e6b66fe87c9f arch/x86/include/asm/pci_x86.h Bjorn Helgaas 2009-11-13 162 u16 segment;
d7e6b66fe87c9f arch/x86/include/asm/pci_x86.h Bjorn Helgaas 2009-11-13 163 u8 start_bus;
d7e6b66fe87c9f arch/x86/include/asm/pci_x86.h Bjorn Helgaas 2009-11-13 164 u8 end_bus;
56ddf4d3cf04e8 arch/x86/include/asm/pci_x86.h Bjorn Helgaas 2009-11-13 165 char name[PCI_MMCFG_RESOURCE_NAME_LEN];
d215a9c8b46e55 arch/x86/include/asm/pci_x86.h Bjorn Helgaas 2009-11-13 166 };
d215a9c8b46e55 arch/x86/include/asm/pci_x86.h Bjorn Helgaas 2009-11-13 167
429d512e532ec9 arch/i386/pci/pci.h OGAWA Hirofumi 2007-02-13 168 extern int __init pci_mmcfg_arch_init(void);
0b64ad7123eb01 arch/x86/pci/pci.h Yinghai Lu 2008-02-15 169 extern void __init pci_mmcfg_arch_free(void);
a18e3690a52790 arch/x86/include/asm/pci_x86.h Greg Kroah-Hartman 2012-12-21 170 extern int pci_mmcfg_arch_map(struct pci_mmcfg_region *cfg);
9cf0105da5a315 arch/x86/include/asm/pci_x86.h Jiang Liu 2012-06-22 171 extern void pci_mmcfg_arch_unmap(struct pci_mmcfg_region *cfg);
a18e3690a52790 arch/x86/include/asm/pci_x86.h Greg Kroah-Hartman 2012-12-21 172 extern int pci_mmconfig_insert(struct device *dev, u16 seg, u8 start, u8 end,
a18e3690a52790 arch/x86/include/asm/pci_x86.h Greg Kroah-Hartman 2012-12-21 173 phys_addr_t addr);
9c95111b330d2d arch/x86/include/asm/pci_x86.h Jiang Liu 2012-06-22 174 extern int pci_mmconfig_delete(u16 seg, u8 start, u8 end);
f6e1d8cc38b377 arch/x86/include/asm/pci_x86.h Bjorn Helgaas 2009-11-13 175 extern struct pci_mmcfg_region *pci_mmconfig_lookup(int segment, int bus);
6fa4a94e150be2 arch/x86/include/asm/pci_x86.h Otavio Pontes 2018-03-07 @176 extern struct pci_mmcfg_region *__init pci_mmconfig_add(int segment, int start,
6fa4a94e150be2 arch/x86/include/asm/pci_x86.h Otavio Pontes 2018-03-07 177 int end, u64 addr);
3320ad994afb2c arch/i386/pci/pci.h dean gaudet 2007-08-10 178
:::::: The code at line 99 was first introduced by commit
:::::: d19f61f098ae9315b76a97962007f687683916d4 x86/PCI: Convert pci_config_lock to raw_spinlock
:::::: TO: Thomas Gleixner <tglx(a)linutronix.de>
:::::: CC: Jesse Barnes <jbarnes(a)virtuousgeek.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
11 months
[jimc:dd-drm-next 6/10] drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc_debug.c:65:1: error: expected identifier or '('
by kernel test robot
tree: https://github.com/jimc/linux.git dd-drm-next
head: 8e0c85a2010a36354184c65709a962ab14e7c468
commit: e6ebbf990370664571ceb62eb76632ecd5d73805 [6/10] drm_print: add choice to use dynamic debug in drm-debug
config: riscv-randconfig-r035-20211019 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 92a0389b0425a9535a99a0ce13ba0eeda2bce7ad)
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 riscv cross compiling tool for clang build
# apt-get install binutils-riscv64-linux-gnu
# https://github.com/jimc/linux/commit/e6ebbf990370664571ceb62eb76632ecd5d7...
git remote add jimc https://github.com/jimc/linux.git
git fetch --no-tags jimc dd-drm-next
git checkout e6ebbf990370664571ceb62eb76632ecd5d73805
# save the attached .config to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=riscv 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 >>):
>> drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc_debug.c:65:1: error: expected identifier or '('
DEFINE_DYNAMIC_DEBUG_CATEGORIES(debug_dc, __debug_dc,
^
include/linux/dynamic_debug.h:277:2: note: expanded from macro 'DEFINE_DYNAMIC_DEBUG_CATEGORIES'
BUILD_BUG_ON_MSG(1, "you need -DDYNAMIC_DEBUG_MODULE in compile")
^
include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^
include/linux/compiler_types.h:322:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:310:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:300:2: note: expanded from macro '__compiletime_assert'
do { \
^
>> drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc_debug.c:65:1: error: expected identifier or '('
include/linux/dynamic_debug.h:277:2: note: expanded from macro 'DEFINE_DYNAMIC_DEBUG_CATEGORIES'
BUILD_BUG_ON_MSG(1, "you need -DDYNAMIC_DEBUG_MODULE in compile")
^
include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^
include/linux/compiler_types.h:322:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:310:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:304:4: note: expanded from macro '__compiletime_assert'
} while (0)
^
2 errors generated.
vim +65 drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc_debug.c
f3f5d7e4252e4a Jim Cromie 2021-07-30 47
f3f5d7e4252e4a Jim Cromie 2021-07-30 48 #define DC_DYNDBG_BITMAP_DESC(name) \
f3f5d7e4252e4a Jim Cromie 2021-07-30 49 "Control pr_debugs via /sys/module/amdgpu/parameters/" #name \
f3f5d7e4252e4a Jim Cromie 2021-07-30 50 ", where each bit controls a debug category.\n" \
f3f5d7e4252e4a Jim Cromie 2021-07-30 51 help_(0, "[SURFACE]:") \
f3f5d7e4252e4a Jim Cromie 2021-07-30 52 help_(1, "[CURSOR]:") \
f3f5d7e4252e4a Jim Cromie 2021-07-30 53 help_(2, "[PFLIP]:") \
f3f5d7e4252e4a Jim Cromie 2021-07-30 54 help_(3, "[VBLANK]:") \
f3f5d7e4252e4a Jim Cromie 2021-07-30 55 help_(4, "[HW_LINK_TRAINING]:") \
f3f5d7e4252e4a Jim Cromie 2021-07-30 56 help_(5, "[HW_AUDIO]:") \
f3f5d7e4252e4a Jim Cromie 2021-07-30 57 help_(6, "[SCALER]:") \
f3f5d7e4252e4a Jim Cromie 2021-07-30 58 help_(7, "[BIOS]:") \
f3f5d7e4252e4a Jim Cromie 2021-07-30 59 help_(8, "[BANDWIDTH_CALCS]:") \
f3f5d7e4252e4a Jim Cromie 2021-07-30 60 help_(9, "[DML]:") \
f3f5d7e4252e4a Jim Cromie 2021-07-30 61 help_(10, "[IF_TRACE]:") \
f3f5d7e4252e4a Jim Cromie 2021-07-30 62 help_(11, "[GAMMA]:") \
f3f5d7e4252e4a Jim Cromie 2021-07-30 63 help_(12, "[SMU_MSG]:")
5d4b05ddd826d8 Bhawanpreet Lakha 2018-03-15 64
f3f5d7e4252e4a Jim Cromie 2021-07-30 @65 DEFINE_DYNAMIC_DEBUG_CATEGORIES(debug_dc, __debug_dc,
f3f5d7e4252e4a Jim Cromie 2021-07-30 66 DC_DYNDBG_BITMAP_DESC(debug_dc),
f3f5d7e4252e4a Jim Cromie 2021-07-30 67 [0] = { "[CURSOR]:" },
f3f5d7e4252e4a Jim Cromie 2021-07-30 68 [1] = { "[PFLIP]:" },
f3f5d7e4252e4a Jim Cromie 2021-07-30 69 [2] = { "[VBLANK]:" },
f3f5d7e4252e4a Jim Cromie 2021-07-30 70 [3] = { "[HW_LINK_TRAINING]:" },
f3f5d7e4252e4a Jim Cromie 2021-07-30 71 [4] = { "[HW_AUDIO]:" },
f3f5d7e4252e4a Jim Cromie 2021-07-30 72 [5] = { "[SCALER]:" },
f3f5d7e4252e4a Jim Cromie 2021-07-30 73 [6] = { "[BIOS]:" },
f3f5d7e4252e4a Jim Cromie 2021-07-30 74 [7] = { "[BANDWIDTH_CALCS]:" },
f3f5d7e4252e4a Jim Cromie 2021-07-30 75 [8] = { "[DML]:" },
f3f5d7e4252e4a Jim Cromie 2021-07-30 76 [9] = { "[IF_TRACE]:" },
f3f5d7e4252e4a Jim Cromie 2021-07-30 77 [10] = { "[GAMMA]:" },
f3f5d7e4252e4a Jim Cromie 2021-07-30 78 [11] = { "[SMU_MSG]:" });
f3f5d7e4252e4a Jim Cromie 2021-07-30 79
:::::: The code at line 65 was first introduced by commit
:::::: f3f5d7e4252e4a64207d6e4a41819770e50ec1db amdgpu: use dyndbg.CATEGORIES to control existing pr_dbgs
:::::: TO: Jim Cromie <jim.cromie(a)gmail.com>
:::::: CC: Jim Cromie <jim.cromie(a)gmail.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
11 months
Re: [PATCH] btrfs: fix deadlock when defragging transparent huge pages
by kernel test robot
Hi Omar,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on kdave/for-next]
[also build test WARNING on next-20211019]
[cannot apply to v5.15-rc6]
[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/Omar-Sandoval/btrfs-fix-deadlock...
base: https://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-next
config: arm64-buildonly-randconfig-r006-20211019 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project b37efed957ed0a0193d80020aefd55cb587dfc1f)
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://github.com/0day-ci/linux/commit/de2627b93b1f0e1c54aece05172608bb4...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Omar-Sandoval/btrfs-fix-deadlock-when-defragging-transparent-huge-pages/20211020-051720
git checkout de2627b93b1f0e1c54aece05172608bb4eff77ac
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 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 >>):
>> fs/btrfs/ioctl.c:1083:10: warning: incompatible integer to pointer conversion returning 'int' from a function with result type 'struct page *' [-Wint-conversion]
return -ETXTBSY;
^~~~~~~~
1 warning generated.
vim +1083 fs/btrfs/ioctl.c
1043
1044 /*
1045 * Prepare one page to be defragged.
1046 *
1047 * This will ensure:
1048 *
1049 * - Returned page is locked and has been set up properly.
1050 * - No ordered extent exists in the page.
1051 * - The page is uptodate.
1052 *
1053 * NOTE: Caller should also wait for page writeback after the cluster is
1054 * prepared, here we don't do writeback wait for each page.
1055 */
1056 static struct page *defrag_prepare_one_page(struct btrfs_inode *inode,
1057 pgoff_t index)
1058 {
1059 struct address_space *mapping = inode->vfs_inode.i_mapping;
1060 gfp_t mask = btrfs_alloc_write_mask(mapping);
1061 u64 page_start = (u64)index << PAGE_SHIFT;
1062 u64 page_end = page_start + PAGE_SIZE - 1;
1063 struct extent_state *cached_state = NULL;
1064 struct page *page;
1065 int ret;
1066
1067 again:
1068 page = find_or_create_page(mapping, index, mask);
1069 if (!page)
1070 return ERR_PTR(-ENOMEM);
1071
1072 /*
1073 * Since we can defragment files opened read-only, we can encounter
1074 * transparent huge pages here (see CONFIG_READ_ONLY_THP_FOR_FS). We
1075 * can't do I/O using huge pages yet, so return an error for now.
1076 * Filesystem transparent huge pages are typically only used for
1077 * executables that explicitly enable them, so this isn't very
1078 * restrictive.
1079 */
1080 if (PageCompound(page)) {
1081 unlock_page(page);
1082 put_page(page);
> 1083 return -ETXTBSY;
1084 }
1085
1086 ret = set_page_extent_mapped(page);
1087 if (ret < 0) {
1088 unlock_page(page);
1089 put_page(page);
1090 return ERR_PTR(ret);
1091 }
1092
1093 /* Wait for any existing ordered extent in the range */
1094 while (1) {
1095 struct btrfs_ordered_extent *ordered;
1096
1097 lock_extent_bits(&inode->io_tree, page_start, page_end, &cached_state);
1098 ordered = btrfs_lookup_ordered_range(inode, page_start, PAGE_SIZE);
1099 unlock_extent_cached(&inode->io_tree, page_start, page_end,
1100 &cached_state);
1101 if (!ordered)
1102 break;
1103
1104 unlock_page(page);
1105 btrfs_start_ordered_extent(ordered, 1);
1106 btrfs_put_ordered_extent(ordered);
1107 lock_page(page);
1108 /*
1109 * We unlocked the page above, so we need check if it was
1110 * released or not.
1111 */
1112 if (page->mapping != mapping || !PagePrivate(page)) {
1113 unlock_page(page);
1114 put_page(page);
1115 goto again;
1116 }
1117 }
1118
1119 /*
1120 * Now the page range has no ordered extent any more. Read the page to
1121 * make it uptodate.
1122 */
1123 if (!PageUptodate(page)) {
1124 btrfs_readpage(NULL, page);
1125 lock_page(page);
1126 if (page->mapping != mapping || !PagePrivate(page)) {
1127 unlock_page(page);
1128 put_page(page);
1129 goto again;
1130 }
1131 if (!PageUptodate(page)) {
1132 unlock_page(page);
1133 put_page(page);
1134 return ERR_PTR(-EIO);
1135 }
1136 }
1137 return page;
1138 }
1139
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
11 months
[peterz-queue:objtool/core 42/43] arch/x86/net/bpf_jit_comp32.c:1367:20: error: use of undeclared identifier '__x86_indirect_thunk_edx'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git objtool/core
head: 3fabba3d8d2d50b06b3d699f4b9f86a7de0aae4a
commit: 82ad1ab5ed7967a58506353f98d28e91b16d782c [42/43] bpf,x86: Respect X86_FEATURE_RETPOLINE*
config: i386-randconfig-a003-20211019 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project b37efed957ed0a0193d80020aefd55cb587dfc1f)
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://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git/commit/?...
git remote add peterz-queue https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git
git fetch --no-tags peterz-queue objtool/core
git checkout 82ad1ab5ed7967a58506353f98d28e91b16d782c
# save the attached .config to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=i386 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 >>):
arch/x86/net/bpf_jit_comp32.c:209:6: warning: variable 'cnt' set but not used [-Wunused-but-set-variable]
int cnt = 0;
^
arch/x86/net/bpf_jit_comp32.c:237:6: warning: variable 'cnt' set but not used [-Wunused-but-set-variable]
int cnt = 0;
^
arch/x86/net/bpf_jit_comp32.c:288:6: warning: variable 'cnt' set but not used [-Wunused-but-set-variable]
int cnt = 0;
^
arch/x86/net/bpf_jit_comp32.c:321:6: warning: variable 'cnt' set but not used [-Wunused-but-set-variable]
int cnt = 0;
^
arch/x86/net/bpf_jit_comp32.c:369:6: warning: variable 'cnt' set but not used [-Wunused-but-set-variable]
int cnt = 0;
^
arch/x86/net/bpf_jit_comp32.c:438:6: warning: variable 'cnt' set but not used [-Wunused-but-set-variable]
int cnt = 0;
^
arch/x86/net/bpf_jit_comp32.c:485:6: warning: variable 'cnt' set but not used [-Wunused-but-set-variable]
int cnt = 0;
^
arch/x86/net/bpf_jit_comp32.c:527:6: warning: variable 'cnt' set but not used [-Wunused-but-set-variable]
int cnt = 0;
^
arch/x86/net/bpf_jit_comp32.c:601:6: warning: variable 'cnt' set but not used [-Wunused-but-set-variable]
int cnt = 0;
^
arch/x86/net/bpf_jit_comp32.c:700:6: warning: variable 'cnt' set but not used [-Wunused-but-set-variable]
int cnt = 0;
^
arch/x86/net/bpf_jit_comp32.c:734:6: warning: variable 'cnt' set but not used [-Wunused-but-set-variable]
int cnt = 0;
^
arch/x86/net/bpf_jit_comp32.c:787:6: warning: variable 'cnt' set but not used [-Wunused-but-set-variable]
int cnt = 0;
^
arch/x86/net/bpf_jit_comp32.c:840:6: warning: variable 'cnt' set but not used [-Wunused-but-set-variable]
int cnt = 0;
^
arch/x86/net/bpf_jit_comp32.c:893:6: warning: variable 'cnt' set but not used [-Wunused-but-set-variable]
int cnt = 0;
^
arch/x86/net/bpf_jit_comp32.c:941:6: warning: variable 'cnt' set but not used [-Wunused-but-set-variable]
int cnt = 0;
^
arch/x86/net/bpf_jit_comp32.c:990:6: warning: variable 'cnt' set but not used [-Wunused-but-set-variable]
int cnt = 0;
^
arch/x86/net/bpf_jit_comp32.c:1038:6: warning: variable 'cnt' set but not used [-Wunused-but-set-variable]
int cnt = 0;
^
arch/x86/net/bpf_jit_comp32.c:1115:6: warning: variable 'cnt' set but not used [-Wunused-but-set-variable]
int cnt = 0;
^
arch/x86/net/bpf_jit_comp32.c:1248:6: warning: variable 'cnt' set but not used [-Wunused-but-set-variable]
int cnt = 0;
^
>> arch/x86/net/bpf_jit_comp32.c:1367:20: error: use of undeclared identifier '__x86_indirect_thunk_edx'
EMIT1_off32(0xE9, __x86_indirect_thunk_edx - (ip + 5));
^
arch/x86/net/bpf_jit_comp32.c:1383:6: warning: variable 'cnt' set but not used [-Wunused-but-set-variable]
int cnt = 0;
^
arch/x86/net/bpf_jit_comp32.c:1401:6: warning: variable 'cnt' set but not used [-Wunused-but-set-variable]
int cnt = 0;
^
arch/x86/net/bpf_jit_comp32.c:1562:9: warning: variable 'cnt' set but not used [-Wunused-but-set-variable]
int i, cnt = 0, first_stack_regno, last_stack_regno;
^
arch/x86/net/bpf_jit_comp32.c:1655:9: warning: variable 'cnt' set but not used [-Wunused-but-set-variable]
int i, cnt = 0;
^
23 warnings and 1 error generated.
vim +/__x86_indirect_thunk_edx +1367 arch/x86/net/bpf_jit_comp32.c
1269
1270 /*
1271 * Generate the following code:
1272 * ... bpf_tail_call(void *ctx, struct bpf_array *array, u64 index) ...
1273 * if (index >= array->map.max_entries)
1274 * goto out;
1275 * if (++tail_call_cnt > MAX_TAIL_CALL_CNT)
1276 * goto out;
1277 * prog = array->ptrs[index];
1278 * if (prog == NULL)
1279 * goto out;
1280 * goto *(prog->bpf_func + prologue_size);
1281 * out:
1282 */
1283 static void emit_bpf_tail_call(u8 **pprog, u8 *ip)
1284 {
1285 u8 *prog = *pprog;
1286 int cnt = 0;
1287 const u8 *r1 = bpf2ia32[BPF_REG_1];
1288 const u8 *r2 = bpf2ia32[BPF_REG_2];
1289 const u8 *r3 = bpf2ia32[BPF_REG_3];
1290 const u8 *tcc = bpf2ia32[TCALL_CNT];
1291 u32 lo, hi;
1292 static int jmp_label1 = -1;
1293
1294 /*
1295 * if (index >= array->map.max_entries)
1296 * goto out;
1297 */
1298 /* mov eax,dword ptr [ebp+off] */
1299 EMIT3(0x8B, add_2reg(0x40, IA32_EBP, IA32_EAX), STACK_VAR(r2[0]));
1300 /* mov edx,dword ptr [ebp+off] */
1301 EMIT3(0x8B, add_2reg(0x40, IA32_EBP, IA32_EDX), STACK_VAR(r3[0]));
1302
1303 /* cmp dword ptr [eax+off],edx */
1304 EMIT3(0x39, add_2reg(0x40, IA32_EAX, IA32_EDX),
1305 offsetof(struct bpf_array, map.max_entries));
1306 /* jbe out */
1307 EMIT2(IA32_JBE, jmp_label(jmp_label1, 2));
1308
1309 /*
1310 * if (tail_call_cnt > MAX_TAIL_CALL_CNT)
1311 * goto out;
1312 */
1313 lo = (u32)MAX_TAIL_CALL_CNT;
1314 hi = (u32)((u64)MAX_TAIL_CALL_CNT >> 32);
1315 EMIT3(0x8B, add_2reg(0x40, IA32_EBP, IA32_ECX), STACK_VAR(tcc[0]));
1316 EMIT3(0x8B, add_2reg(0x40, IA32_EBP, IA32_EBX), STACK_VAR(tcc[1]));
1317
1318 /* cmp edx,hi */
1319 EMIT3(0x83, add_1reg(0xF8, IA32_EBX), hi);
1320 EMIT2(IA32_JNE, 3);
1321 /* cmp ecx,lo */
1322 EMIT3(0x83, add_1reg(0xF8, IA32_ECX), lo);
1323
1324 /* ja out */
1325 EMIT2(IA32_JAE, jmp_label(jmp_label1, 2));
1326
1327 /* add eax,0x1 */
1328 EMIT3(0x83, add_1reg(0xC0, IA32_ECX), 0x01);
1329 /* adc ebx,0x0 */
1330 EMIT3(0x83, add_1reg(0xD0, IA32_EBX), 0x00);
1331
1332 /* mov dword ptr [ebp+off],eax */
1333 EMIT3(0x89, add_2reg(0x40, IA32_EBP, IA32_ECX), STACK_VAR(tcc[0]));
1334 /* mov dword ptr [ebp+off],edx */
1335 EMIT3(0x89, add_2reg(0x40, IA32_EBP, IA32_EBX), STACK_VAR(tcc[1]));
1336
1337 /* prog = array->ptrs[index]; */
1338 /* mov edx, [eax + edx * 4 + offsetof(...)] */
1339 EMIT3_off32(0x8B, 0x94, 0x90, offsetof(struct bpf_array, ptrs));
1340
1341 /*
1342 * if (prog == NULL)
1343 * goto out;
1344 */
1345 /* test edx,edx */
1346 EMIT2(0x85, add_2reg(0xC0, IA32_EDX, IA32_EDX));
1347 /* je out */
1348 EMIT2(IA32_JE, jmp_label(jmp_label1, 2));
1349
1350 /* goto *(prog->bpf_func + prologue_size); */
1351 /* mov edx, dword ptr [edx + 32] */
1352 EMIT3(0x8B, add_2reg(0x40, IA32_EDX, IA32_EDX),
1353 offsetof(struct bpf_prog, bpf_func));
1354 /* add edx,prologue_size */
1355 EMIT3(0x83, add_1reg(0xC0, IA32_EDX), PROLOGUE_SIZE);
1356
1357 /* mov eax,dword ptr [ebp+off] */
1358 EMIT3(0x8B, add_2reg(0x40, IA32_EBP, IA32_EAX), STACK_VAR(r1[0]));
1359
1360 /*
1361 * Now we're ready to jump into next BPF program:
1362 * eax == ctx (1st arg)
1363 * edx == prog->bpf_func + prologue_size
1364 */
1365 #ifdef CONFIG_RETPOLINE
1366 ip += prog - *pprog;
> 1367 EMIT1_off32(0xE9, __x86_indirect_thunk_edx - (ip + 5));
1368 #else
1369 EMIT2(0xFF, 0xE2);
1370 #endif
1371
1372 if (jmp_label1 == -1)
1373 jmp_label1 = cnt;
1374
1375 /* out: */
1376 *pprog = prog;
1377 }
1378
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
11 months
[osandov:btrfs-thp-defrag-fix 1/1] fs/btrfs/ioctl.c:1083:10: warning: incompatible integer to pointer conversion returning 'int' from a function with result type 'struct page *'
by kernel test robot
tree: https://github.com/osandov/linux.git btrfs-thp-defrag-fix
head: 39c9507c4eca68030bd65cab791db0aaf5314360
commit: 39c9507c4eca68030bd65cab791db0aaf5314360 [1/1] btrfs: fix deadlock when defragging transparent huge pages
config: x86_64-randconfig-r004-20211019 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 92a0389b0425a9535a99a0ce13ba0eeda2bce7ad)
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/osandov/linux/commit/39c9507c4eca68030bd65cab791db0aaf...
git remote add osandov https://github.com/osandov/linux.git
git fetch --no-tags osandov btrfs-thp-defrag-fix
git checkout 39c9507c4eca68030bd65cab791db0aaf5314360
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross 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 warnings (new ones prefixed by >>):
>> fs/btrfs/ioctl.c:1083:10: warning: incompatible integer to pointer conversion returning 'int' from a function with result type 'struct page *' [-Wint-conversion]
return -ETXTBSY;
^~~~~~~~
1 warning generated.
vim +1083 fs/btrfs/ioctl.c
1043
1044 /*
1045 * Prepare one page to be defragged.
1046 *
1047 * This will ensure:
1048 *
1049 * - Returned page is locked and has been set up properly.
1050 * - No ordered extent exists in the page.
1051 * - The page is uptodate.
1052 *
1053 * NOTE: Caller should also wait for page writeback after the cluster is
1054 * prepared, here we don't do writeback wait for each page.
1055 */
1056 static struct page *defrag_prepare_one_page(struct btrfs_inode *inode,
1057 pgoff_t index)
1058 {
1059 struct address_space *mapping = inode->vfs_inode.i_mapping;
1060 gfp_t mask = btrfs_alloc_write_mask(mapping);
1061 u64 page_start = (u64)index << PAGE_SHIFT;
1062 u64 page_end = page_start + PAGE_SIZE - 1;
1063 struct extent_state *cached_state = NULL;
1064 struct page *page;
1065 int ret;
1066
1067 again:
1068 page = find_or_create_page(mapping, index, mask);
1069 if (!page)
1070 return ERR_PTR(-ENOMEM);
1071
1072 /*
1073 * Since we can defragment files opened read-only, we can encounter
1074 * transparent huge pages here (see CONFIG_READ_ONLY_THP_FOR_FS). We
1075 * can't do I/O using huge pages yet, so return an error for now.
1076 * Filesystem transparent huge pages are typically only used for
1077 * executables that explicitly enable them, so this isn't very
1078 * restrictive.
1079 */
1080 if (PageCompound(page)) {
1081 unlock_page(page);
1082 put_page(page);
> 1083 return -ETXTBSY;
1084 }
1085
1086 ret = set_page_extent_mapped(page);
1087 if (ret < 0) {
1088 unlock_page(page);
1089 put_page(page);
1090 return ERR_PTR(ret);
1091 }
1092
1093 /* Wait for any existing ordered extent in the range */
1094 while (1) {
1095 struct btrfs_ordered_extent *ordered;
1096
1097 lock_extent_bits(&inode->io_tree, page_start, page_end, &cached_state);
1098 ordered = btrfs_lookup_ordered_range(inode, page_start, PAGE_SIZE);
1099 unlock_extent_cached(&inode->io_tree, page_start, page_end,
1100 &cached_state);
1101 if (!ordered)
1102 break;
1103
1104 unlock_page(page);
1105 btrfs_start_ordered_extent(ordered, 1);
1106 btrfs_put_ordered_extent(ordered);
1107 lock_page(page);
1108 /*
1109 * We unlocked the page above, so we need check if it was
1110 * released or not.
1111 */
1112 if (page->mapping != mapping || !PagePrivate(page)) {
1113 unlock_page(page);
1114 put_page(page);
1115 goto again;
1116 }
1117 }
1118
1119 /*
1120 * Now the page range has no ordered extent any more. Read the page to
1121 * make it uptodate.
1122 */
1123 if (!PageUptodate(page)) {
1124 btrfs_readpage(NULL, page);
1125 lock_page(page);
1126 if (page->mapping != mapping || !PagePrivate(page)) {
1127 unlock_page(page);
1128 put_page(page);
1129 goto again;
1130 }
1131 if (!PageUptodate(page)) {
1132 unlock_page(page);
1133 put_page(page);
1134 return ERR_PTR(-EIO);
1135 }
1136 }
1137 return page;
1138 }
1139
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
11 months
Re: [PATCH v2] Add payload to be 32-bit aligned to fix dropped packets
by kernel test robot
Hi Kumar,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on linus/master]
[also build test ERROR on v5.15-rc6 next-20211019]
[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/Kumar-Thangavel/Add-payload-to-b...
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 519d81956ee277b4419c723adfb154603c2565ba
config: i386-randconfig-a005-20211019 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project b37efed957ed0a0193d80020aefd55cb587dfc1f)
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/177d89a1966a0830ac30b8962ac9af76c...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Kumar-Thangavel/Add-payload-to-be-32-bit-aligned-to-fix-dropped-packets/20211019-225018
git checkout 177d89a1966a0830ac30b8962ac9af76c1d675ae
# save the attached .config to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=i386 SHELL=/bin/bash net/
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 >>):
>> net/ncsi/ncsi-cmd.c:298:34: error: expected ';' after expression
payload = ALIGN(nca->payload, 4)
^
;
1 error generated.
vim +298 net/ncsi/ncsi-cmd.c
274
275 static struct ncsi_request *ncsi_alloc_command(struct ncsi_cmd_arg *nca)
276 {
277 struct ncsi_dev_priv *ndp = nca->ndp;
278 struct ncsi_dev *nd = &ndp->ndev;
279 struct net_device *dev = nd->dev;
280 int hlen = LL_RESERVED_SPACE(dev);
281 int tlen = dev->needed_tailroom;
282 int payload;
283 int len = hlen + tlen;
284 struct sk_buff *skb;
285 struct ncsi_request *nr;
286
287 nr = ncsi_alloc_request(ndp, nca->req_flags);
288 if (!nr)
289 return NULL;
290
291 /* NCSI command packet has 16-bytes header, payload, 4 bytes checksum.
292 * Payload needs padding so that the checksum field following payload is
293 * aligned to 32-bit boundary.
294 * The packet needs padding if its payload is less than 26 bytes to
295 * meet 64 bytes minimal ethernet frame length.
296 */
297 len += sizeof(struct ncsi_cmd_pkt_hdr) + 4;
> 298 payload = ALIGN(nca->payload, 4)
299 if (payload < 26)
300 len += 26;
301 else
302 len += payload;
303
304 /* Allocate skb */
305 skb = alloc_skb(len, GFP_ATOMIC);
306 if (!skb) {
307 ncsi_free_request(nr);
308 return NULL;
309 }
310
311 nr->cmd = skb;
312 skb_reserve(skb, hlen);
313 skb_reset_network_header(skb);
314
315 skb->dev = dev;
316 skb->protocol = htons(ETH_P_NCSI);
317
318 return nr;
319 }
320
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
11 months
Re: [PATCH binder] binder: remove duplicate include in binder.c
by kernel test robot
Hi,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on staging/staging-testing]
[also build test ERROR on v5.15-rc6 next-20211019]
[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/cgel-zte-gmail-com/binder-remove...
base: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git 548b6d7ebfa458f803bde3fc7ae1c70d5195a678
config: hexagon-randconfig-r022-20211019 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project b37efed957ed0a0193d80020aefd55cb587dfc1f)
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/9da7752a9cc710b0c7ad1de234da3f4fc...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review cgel-zte-gmail-com/binder-remove-duplicate-include-in-binder-c/20211019-160614
git checkout 9da7752a9cc710b0c7ad1de234da3f4fc67ad5b4
# save the attached .config to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=hexagon 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 >>):
>> ld.lld: error: undefined symbol: __tracepoint_binder_ioctl
>>> referenced by binder.c
>>> android/binder.o:(binder_ioctl) in archive drivers/built-in.a
>>> referenced by binder.c
>>> android/binder.o:(binder_ioctl) in archive drivers/built-in.a
--
>> ld.lld: error: undefined symbol: __traceiter_binder_ioctl
>>> referenced by binder.c
>>> android/binder.o:(binder_ioctl) in archive drivers/built-in.a
>>> referenced by binder.c
>>> android/binder.o:(binder_ioctl) in archive drivers/built-in.a
--
>> ld.lld: error: undefined symbol: __tracepoint_binder_transaction_fd_recv
>>> referenced by binder.c
>>> android/binder.o:(binder_ioctl_write_read) in archive drivers/built-in.a
>>> referenced by binder.c
>>> android/binder.o:(binder_ioctl_write_read) in archive drivers/built-in.a
--
>> ld.lld: error: undefined symbol: __traceiter_binder_transaction_fd_recv
>>> referenced by binder.c
>>> android/binder.o:(binder_ioctl_write_read) in archive drivers/built-in.a
>>> referenced by binder.c
>>> android/binder.o:(binder_ioctl_write_read) in archive drivers/built-in.a
--
>> ld.lld: error: undefined symbol: __tracepoint_binder_read_done
>>> referenced by binder.c
>>> android/binder.o:(binder_ioctl_write_read) in archive drivers/built-in.a
>>> referenced by binder.c
>>> android/binder.o:(binder_ioctl_write_read) in archive drivers/built-in.a
--
>> ld.lld: error: undefined symbol: __traceiter_binder_read_done
>>> referenced by binder.c
>>> android/binder.o:(binder_ioctl_write_read) in archive drivers/built-in.a
>>> referenced by binder.c
>>> android/binder.o:(binder_ioctl_write_read) in archive drivers/built-in.a
--
>> ld.lld: error: undefined symbol: __tracepoint_binder_transaction_received
>>> referenced by binder.c
>>> android/binder.o:(binder_ioctl_write_read) in archive drivers/built-in.a
>>> referenced by binder.c
>>> android/binder.o:(binder_ioctl_write_read) in archive drivers/built-in.a
--
>> ld.lld: error: undefined symbol: __traceiter_binder_transaction_received
>>> referenced by binder.c
>>> android/binder.o:(binder_ioctl_write_read) in archive drivers/built-in.a
>>> referenced by binder.c
>>> android/binder.o:(binder_ioctl_write_read) in archive drivers/built-in.a
--
>> ld.lld: error: undefined symbol: __tracepoint_binder_transaction_buffer_release
>>> referenced by binder.c
>>> android/binder.o:(binder_free_buf) in archive drivers/built-in.a
>>> referenced by binder.c
>>> android/binder.o:(binder_free_buf) in archive drivers/built-in.a
--
>> ld.lld: error: undefined symbol: __traceiter_binder_transaction_buffer_release
>>> referenced by binder.c
>>> android/binder.o:(binder_free_buf) in archive drivers/built-in.a
>>> referenced by binder.c
>>> android/binder.o:(binder_free_buf) in archive drivers/built-in.a
--
>> ld.lld: error: undefined symbol: __tracepoint_binder_transaction
>>> referenced by binder.c
>>> android/binder.o:(binder_transaction) in archive drivers/built-in.a
>>> referenced by binder.c
>>> android/binder.o:(binder_transaction) in archive drivers/built-in.a
..
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
11 months
[rostedt-trace:ftrace/core 57/59] kernel/trace/ftrace.c:5608:2: warning: unused label 'out_unlock'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace.git ftrace/core
head: c6315a8ad7fa1fb8663b0ae15020bc87e12a8f6b
commit: e62d91d8206ec14abe6584091b2b5faad08cfa36 [57/59] ftrace/direct: Do not disable when switching direct callers
config: i386-randconfig-a005-20211019 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project b37efed957ed0a0193d80020aefd55cb587dfc1f)
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://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace.git/c...
git remote add rostedt-trace https://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace.git
git fetch --no-tags rostedt-trace ftrace/core
git checkout e62d91d8206ec14abe6584091b2b5faad08cfa36
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 ARCH=i386
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 >>):
In file included from kernel/trace/ftrace.c:29:
include/linux/ftrace.h:49:41: warning: declaration of 'struct ftrace_regs' will not be visible outside of this function [-Wvisibility]
struct ftrace_ops *op, struct ftrace_regs *fregs);
^
kernel/trace/ftrace.c:297:5: warning: no previous prototype for function '__register_ftrace_function' [-Wmissing-prototypes]
int __register_ftrace_function(struct ftrace_ops *ops)
^
kernel/trace/ftrace.c:297:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int __register_ftrace_function(struct ftrace_ops *ops)
^
static
kernel/trace/ftrace.c:340:5: warning: no previous prototype for function '__unregister_ftrace_function' [-Wmissing-prototypes]
int __unregister_ftrace_function(struct ftrace_ops *ops)
^
kernel/trace/ftrace.c:340:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int __unregister_ftrace_function(struct ftrace_ops *ops)
^
static
kernel/trace/ftrace.c:3905:15: warning: no previous prototype for function 'arch_ftrace_match_adjust' [-Wmissing-prototypes]
char * __weak arch_ftrace_match_adjust(char *str, const char *search)
^
kernel/trace/ftrace.c:3905:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
char * __weak arch_ftrace_match_adjust(char *str, const char *search)
^
static
>> kernel/trace/ftrace.c:5608:2: warning: unused label 'out_unlock' [-Wunused-label]
out_unlock:
^~~~~~~~~~~
kernel/trace/ftrace.c:7256:6: error: conflicting types for 'arch_ftrace_ops_list_func'
void arch_ftrace_ops_list_func(unsigned long ip, unsigned long parent_ip,
^
include/linux/ftrace.h:48:6: note: previous declaration is here
void arch_ftrace_ops_list_func(unsigned long ip, unsigned long parent_ip,
^
5 warnings and 1 error generated.
vim +/out_unlock +5608 kernel/trace/ftrace.c
1caf3bc2e3d7d3 Jiri Olsa 2021-10-08 5546
1caf3bc2e3d7d3 Jiri Olsa 2021-10-08 5547 /**
1caf3bc2e3d7d3 Jiri Olsa 2021-10-08 5548 * modify_ftrace_direct_multi - Modify an existing direct 'multi' call
1caf3bc2e3d7d3 Jiri Olsa 2021-10-08 5549 * to call something else
1caf3bc2e3d7d3 Jiri Olsa 2021-10-08 5550 * @ops: The address of the struct ftrace_ops object
1caf3bc2e3d7d3 Jiri Olsa 2021-10-08 5551 * @addr: The address of the new trampoline to call at @ops functions
1caf3bc2e3d7d3 Jiri Olsa 2021-10-08 5552 *
1caf3bc2e3d7d3 Jiri Olsa 2021-10-08 5553 * This is used to unregister currently registered direct caller and
1caf3bc2e3d7d3 Jiri Olsa 2021-10-08 5554 * register new one @addr on functions registered in @ops object.
1caf3bc2e3d7d3 Jiri Olsa 2021-10-08 5555 *
1caf3bc2e3d7d3 Jiri Olsa 2021-10-08 5556 * Note there's window between ftrace_shutdown and ftrace_startup calls
1caf3bc2e3d7d3 Jiri Olsa 2021-10-08 5557 * where there will be no callbacks called.
1caf3bc2e3d7d3 Jiri Olsa 2021-10-08 5558 *
1caf3bc2e3d7d3 Jiri Olsa 2021-10-08 5559 * Returns: zero on success. Non zero on error, which includes:
1caf3bc2e3d7d3 Jiri Olsa 2021-10-08 5560 * -EINVAL - The @ops object was not properly registered.
1caf3bc2e3d7d3 Jiri Olsa 2021-10-08 5561 */
1caf3bc2e3d7d3 Jiri Olsa 2021-10-08 5562 int modify_ftrace_direct_multi(struct ftrace_ops *ops, unsigned long addr)
1caf3bc2e3d7d3 Jiri Olsa 2021-10-08 5563 {
e62d91d8206ec1 Steven Rostedt (VMware 2021-10-14 5564) struct ftrace_hash *hash;
1caf3bc2e3d7d3 Jiri Olsa 2021-10-08 5565 struct ftrace_func_entry *entry, *iter;
e62d91d8206ec1 Steven Rostedt (VMware 2021-10-14 5566) static struct ftrace_ops tmp_ops = {
e62d91d8206ec1 Steven Rostedt (VMware 2021-10-14 5567) .func = ftrace_stub,
e62d91d8206ec1 Steven Rostedt (VMware 2021-10-14 5568) .flags = FTRACE_OPS_FL_STUB,
e62d91d8206ec1 Steven Rostedt (VMware 2021-10-14 5569) };
1caf3bc2e3d7d3 Jiri Olsa 2021-10-08 5570 int i, size;
1caf3bc2e3d7d3 Jiri Olsa 2021-10-08 5571 int err;
1caf3bc2e3d7d3 Jiri Olsa 2021-10-08 5572
1caf3bc2e3d7d3 Jiri Olsa 2021-10-08 5573 if (check_direct_multi(ops))
1caf3bc2e3d7d3 Jiri Olsa 2021-10-08 5574 return -EINVAL;
1caf3bc2e3d7d3 Jiri Olsa 2021-10-08 5575 if (!(ops->flags & FTRACE_OPS_FL_ENABLED))
1caf3bc2e3d7d3 Jiri Olsa 2021-10-08 5576 return -EINVAL;
1caf3bc2e3d7d3 Jiri Olsa 2021-10-08 5577
1caf3bc2e3d7d3 Jiri Olsa 2021-10-08 5578 mutex_lock(&direct_mutex);
e62d91d8206ec1 Steven Rostedt (VMware 2021-10-14 5579)
e62d91d8206ec1 Steven Rostedt (VMware 2021-10-14 5580) /* Enable the tmp_ops to have the same functions as the direct ops */
e62d91d8206ec1 Steven Rostedt (VMware 2021-10-14 5581) ftrace_ops_init(&tmp_ops);
e62d91d8206ec1 Steven Rostedt (VMware 2021-10-14 5582) tmp_ops.func_hash = ops->func_hash;
e62d91d8206ec1 Steven Rostedt (VMware 2021-10-14 5583)
e62d91d8206ec1 Steven Rostedt (VMware 2021-10-14 5584) err = register_ftrace_function(&tmp_ops);
e62d91d8206ec1 Steven Rostedt (VMware 2021-10-14 5585) if (err)
e62d91d8206ec1 Steven Rostedt (VMware 2021-10-14 5586) goto out_direct;
1caf3bc2e3d7d3 Jiri Olsa 2021-10-08 5587
1caf3bc2e3d7d3 Jiri Olsa 2021-10-08 5588 /*
e62d91d8206ec1 Steven Rostedt (VMware 2021-10-14 5589) * Now the ftrace_ops_list_func() is called to do the direct callers.
e62d91d8206ec1 Steven Rostedt (VMware 2021-10-14 5590) * We can safely change the direct functions attached to each entry.
1caf3bc2e3d7d3 Jiri Olsa 2021-10-08 5591 */
e62d91d8206ec1 Steven Rostedt (VMware 2021-10-14 5592) mutex_lock(&ftrace_lock);
1caf3bc2e3d7d3 Jiri Olsa 2021-10-08 5593
e62d91d8206ec1 Steven Rostedt (VMware 2021-10-14 5594) hash = ops->func_hash->filter_hash;
1caf3bc2e3d7d3 Jiri Olsa 2021-10-08 5595 size = 1 << hash->size_bits;
1caf3bc2e3d7d3 Jiri Olsa 2021-10-08 5596 for (i = 0; i < size; i++) {
1caf3bc2e3d7d3 Jiri Olsa 2021-10-08 5597 hlist_for_each_entry(iter, &hash->buckets[i], hlist) {
1caf3bc2e3d7d3 Jiri Olsa 2021-10-08 5598 entry = __ftrace_lookup_ip(direct_functions, iter->ip);
1caf3bc2e3d7d3 Jiri Olsa 2021-10-08 5599 if (!entry)
1caf3bc2e3d7d3 Jiri Olsa 2021-10-08 5600 continue;
1caf3bc2e3d7d3 Jiri Olsa 2021-10-08 5601 entry->direct = addr;
1caf3bc2e3d7d3 Jiri Olsa 2021-10-08 5602 }
1caf3bc2e3d7d3 Jiri Olsa 2021-10-08 5603 }
1caf3bc2e3d7d3 Jiri Olsa 2021-10-08 5604
e62d91d8206ec1 Steven Rostedt (VMware 2021-10-14 5605) /* Removing the tmp_ops will add the updated direct callers to the functions */
e62d91d8206ec1 Steven Rostedt (VMware 2021-10-14 5606) unregister_ftrace_function(&tmp_ops);
1caf3bc2e3d7d3 Jiri Olsa 2021-10-08 5607
1caf3bc2e3d7d3 Jiri Olsa 2021-10-08 @5608 out_unlock:
1caf3bc2e3d7d3 Jiri Olsa 2021-10-08 5609 mutex_unlock(&ftrace_lock);
e62d91d8206ec1 Steven Rostedt (VMware 2021-10-14 5610) out_direct:
1caf3bc2e3d7d3 Jiri Olsa 2021-10-08 5611 mutex_unlock(&direct_mutex);
1caf3bc2e3d7d3 Jiri Olsa 2021-10-08 5612 return err;
1caf3bc2e3d7d3 Jiri Olsa 2021-10-08 5613 }
1caf3bc2e3d7d3 Jiri Olsa 2021-10-08 5614 EXPORT_SYMBOL_GPL(modify_ftrace_direct_multi);
763e34e74bb7d5 Steven Rostedt (VMware 2019-11-08 5615) #endif /* CONFIG_DYNAMIC_FTRACE_WITH_DIRECT_CALLS */
763e34e74bb7d5 Steven Rostedt (VMware 2019-11-08 5616)
:::::: The code at line 5608 was first introduced by commit
:::::: 1caf3bc2e3d7d3b7df018e845af7c9a230ab96b8 ftrace: Add multi direct modify interface
:::::: TO: Jiri Olsa <jolsa(a)redhat.com>
:::::: CC: Steven Rostedt (VMware) <rostedt(a)goodmis.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
11 months
Re: [PATCH] bus: mhi: Add mhi_prepare_for_transfer_autoqueue API for DL auto queue
by kernel test robot
Hi Manivannan,
I love your patch! Perhaps something to improve:
[auto build test WARNING on linus/master]
[also build test WARNING on v5.15-rc6 next-20211019]
[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/Manivannan-Sadhasivam/bus-mhi-Ad...
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 519d81956ee277b4419c723adfb154603c2565ba
config: hexagon-randconfig-r041-20211019 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project b37efed957ed0a0193d80020aefd55cb587dfc1f)
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/434ab9e12f5e85c6d84c1a0524d850559...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Manivannan-Sadhasivam/bus-mhi-Add-mhi_prepare_for_transfer_autoqueue-API-for-DL-auto-queue/20211019-221447
git checkout 434ab9e12f5e85c6d84c1a0524d850559b058291
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 ARCH=hexagon
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/bus/mhi/core/main.c:1615:5: warning: no previous prototype for function '__mhi_prepare_for_transfer' [-Wmissing-prototypes]
int __mhi_prepare_for_transfer(struct mhi_device *mhi_dev, unsigned int flags)
^
drivers/bus/mhi/core/main.c:1615:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int __mhi_prepare_for_transfer(struct mhi_device *mhi_dev, unsigned int flags)
^
static
1 warning generated.
vim +/__mhi_prepare_for_transfer +1615 drivers/bus/mhi/core/main.c
1614
> 1615 int __mhi_prepare_for_transfer(struct mhi_device *mhi_dev, unsigned int flags)
1616 {
1617 int ret, dir;
1618 struct mhi_controller *mhi_cntrl = mhi_dev->mhi_cntrl;
1619 struct mhi_chan *mhi_chan;
1620
1621 for (dir = 0; dir < 2; dir++) {
1622 mhi_chan = dir ? mhi_dev->dl_chan : mhi_dev->ul_chan;
1623 if (!mhi_chan)
1624 continue;
1625
1626 ret = mhi_prepare_channel(mhi_cntrl, mhi_chan, flags);
1627 if (ret)
1628 goto error_open_chan;
1629 }
1630
1631 return 0;
1632
1633 error_open_chan:
1634 for (--dir; dir >= 0; dir--) {
1635 mhi_chan = dir ? mhi_dev->dl_chan : mhi_dev->ul_chan;
1636 if (!mhi_chan)
1637 continue;
1638
1639 mhi_unprepare_channel(mhi_cntrl, mhi_chan);
1640 }
1641
1642 return ret;
1643 }
1644
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
11 months