[sashal-linux-stable:queue-5.4 9/49] arch/mips/kernel/../../../fs/binfmt_elf.c:1564:23: error: passing argument 1 of 'copy_siginfo_to_user' from incompatible pointer type
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git queue-5.4
head: 54c65110c185a2f0d6dfd73bf24453ebef14e874
commit: 6a13b2280d95f4bb4b064083d150fd60a31baf27 [9/49] MIPS: Fix malformed NT_FILE and NT_SIGINFO in 32bit coredumps
config: mips-nlm_xlp_defconfig (attached as .config)
compiler: mips64-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://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git/c...
git remote add sashal-linux-stable https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git
git fetch --no-tags sashal-linux-stable queue-5.4
git checkout 6a13b2280d95f4bb4b064083d150fd60a31baf27
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=mips
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/mips/kernel/binfmt_elfn32.c:113:
arch/mips/kernel/../../../fs/binfmt_elf.c: In function 'fill_siginfo_note':
>> arch/mips/kernel/../../../fs/binfmt_elf.c:1564:23: error: passing argument 1 of 'copy_siginfo_to_user' from incompatible pointer type [-Werror=incompatible-pointer-types]
1564 | copy_siginfo_to_user((user_siginfo_t __user *) csigdata, siginfo);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| compat_siginfo_t * {aka struct compat_siginfo *}
In file included from include/uapi/linux/elfcore.h:6,
from include/linux/elfcore.h:10,
from arch/mips/kernel/binfmt_elfn32.c:42:
include/linux/signal.h:27:44: note: expected 'siginfo_t *' {aka 'struct siginfo *'} but argument is of type 'compat_siginfo_t *' {aka 'struct compat_siginfo *'}
27 | int copy_siginfo_to_user(siginfo_t __user *to, const kernel_siginfo_t *from);
| ~~~~~~~~~~~~~~~~~~^~
cc1: some warnings being treated as errors
vim +/copy_siginfo_to_user +1564 arch/mips/kernel/../../../fs/binfmt_elf.c
3aba481fc94d83ff Roland McGrath 2008-01-30 1558
49ae4d4b113be03d Denys Vlasenko 2012-10-04 1559 static void fill_siginfo_note(struct memelfnote *note, user_siginfo_t *csigdata,
ae7795bc6187a15e Eric W. Biederman 2018-09-25 1560 const kernel_siginfo_t *siginfo)
49ae4d4b113be03d Denys Vlasenko 2012-10-04 1561 {
49ae4d4b113be03d Denys Vlasenko 2012-10-04 1562 mm_segment_t old_fs = get_fs();
49ae4d4b113be03d Denys Vlasenko 2012-10-04 1563 set_fs(KERNEL_DS);
49ae4d4b113be03d Denys Vlasenko 2012-10-04 @1564 copy_siginfo_to_user((user_siginfo_t __user *) csigdata, siginfo);
49ae4d4b113be03d Denys Vlasenko 2012-10-04 1565 set_fs(old_fs);
49ae4d4b113be03d Denys Vlasenko 2012-10-04 1566 fill_note(note, "CORE", NT_SIGINFO, sizeof(*csigdata), csigdata);
49ae4d4b113be03d Denys Vlasenko 2012-10-04 1567 }
49ae4d4b113be03d Denys Vlasenko 2012-10-04 1568
:::::: The code at line 1564 was first introduced by commit
:::::: 49ae4d4b113be03dc4a2ec5f2a1f573ff0fcddb3 coredump: add a new elf note with siginfo of the signal
:::::: TO: Denys Vlasenko <vda.linux(a)googlemail.com>
:::::: CC: Linus Torvalds <torvalds(a)linux-foundation.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 8 months
Re: [PATCH v2 3/5] mfd: arizona: Add support for ACPI enumeration of WM5102 connected over SPI
by kernel test robot
Hi Hans,
I love your patch! Yet something to improve:
[auto build test ERROR on lee-mfd/for-mfd-next]
[also build test ERROR on asoc/for-next v5.11-rc3 next-20210115]
[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/Hans-de-Goede/MFD-ASoC-Add-suppo...
base: https://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd.git for-mfd-next
config: arm-randconfig-r021-20210118 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project bfd75bdf3fd62d4f5e7028d4122f9ffa517f2a09)
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 arm cross compiling tool for clang build
# apt-get install binutils-arm-linux-gnueabi
# https://github.com/0day-ci/linux/commit/ff3c43e0ca3dd07a3b671ee3be84b9c60...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Hans-de-Goede/MFD-ASoC-Add-support-for-Intel-Bay-Trail-boards-with-WM5102-codec/20210117-235249
git checkout ff3c43e0ca3dd07a3b671ee3be84b9c607dff305
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm
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/mfd/arizona-spi.c:194:7: error: assigning to 'int' from incompatible type 'void'
ret = arizona_spi_acpi_probe(arizona);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
vim +194 drivers/mfd/arizona-spi.c
135
136 static int arizona_spi_probe(struct spi_device *spi)
137 {
138 const struct spi_device_id *id = spi_get_device_id(spi);
139 const void *match_data;
140 struct arizona *arizona;
141 const struct regmap_config *regmap_config = NULL;
142 unsigned long type = 0;
143 int ret;
144
145 match_data = device_get_match_data(&spi->dev);
146 if (match_data)
147 type = (unsigned long)match_data;
148 else if (id)
149 type = id->driver_data;
150
151 switch (type) {
152 case WM5102:
153 if (IS_ENABLED(CONFIG_MFD_WM5102))
154 regmap_config = &wm5102_spi_regmap;
155 break;
156 case WM5110:
157 case WM8280:
158 if (IS_ENABLED(CONFIG_MFD_WM5110))
159 regmap_config = &wm5110_spi_regmap;
160 break;
161 case WM1831:
162 case CS47L24:
163 if (IS_ENABLED(CONFIG_MFD_CS47L24))
164 regmap_config = &cs47l24_spi_regmap;
165 break;
166 default:
167 dev_err(&spi->dev, "Unknown device type %ld\n", type);
168 return -EINVAL;
169 }
170
171 if (!regmap_config) {
172 dev_err(&spi->dev,
173 "No kernel support for device type %ld\n", type);
174 return -EINVAL;
175 }
176
177 arizona = devm_kzalloc(&spi->dev, sizeof(*arizona), GFP_KERNEL);
178 if (arizona == NULL)
179 return -ENOMEM;
180
181 arizona->regmap = devm_regmap_init_spi(spi, regmap_config);
182 if (IS_ERR(arizona->regmap)) {
183 ret = PTR_ERR(arizona->regmap);
184 dev_err(&spi->dev, "Failed to allocate register map: %d\n",
185 ret);
186 return ret;
187 }
188
189 arizona->type = type;
190 arizona->dev = &spi->dev;
191 arizona->irq = spi->irq;
192
193 if (has_acpi_companion(&spi->dev)) {
> 194 ret = arizona_spi_acpi_probe(arizona);
195 if (ret)
196 return ret;
197 }
198
199 return arizona_dev_init(arizona);
200 }
201
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 8 months
Re: [PATCH v2 3/5] mfd: arizona: Add support for ACPI enumeration of WM5102 connected over SPI
by kernel test robot
Hi Hans,
I love your patch! Yet something to improve:
[auto build test ERROR on lee-mfd/for-mfd-next]
[also build test ERROR on asoc/for-next v5.11-rc3 next-20210115]
[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/Hans-de-Goede/MFD-ASoC-Add-suppo...
base: https://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd.git for-mfd-next
config: sh-randconfig-s031-20210118 (attached as .config)
compiler: sh4-linux-gcc (GCC) 9.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.3-208-g46a52ca4-dirty
# https://github.com/0day-ci/linux/commit/ff3c43e0ca3dd07a3b671ee3be84b9c60...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Hans-de-Goede/MFD-ASoC-Add-support-for-Intel-Bay-Trail-boards-with-WM5102-codec/20210117-235249
git checkout ff3c43e0ca3dd07a3b671ee3be84b9c607dff305
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=sh
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
cc1: warning: arch/sh/include/mach-rsk: No such file or directory [-Wmissing-include-dirs]
cc1: warning: arch/sh/include/mach-rsk: No such file or directory [-Wmissing-include-dirs]
drivers/mfd/arizona-spi.c: In function 'arizona_spi_probe':
>> drivers/mfd/arizona-spi.c:194:7: error: void value not ignored as it ought to be
194 | ret = arizona_spi_acpi_probe(arizona);
| ^
vim +194 drivers/mfd/arizona-spi.c
135
136 static int arizona_spi_probe(struct spi_device *spi)
137 {
138 const struct spi_device_id *id = spi_get_device_id(spi);
139 const void *match_data;
140 struct arizona *arizona;
141 const struct regmap_config *regmap_config = NULL;
142 unsigned long type = 0;
143 int ret;
144
145 match_data = device_get_match_data(&spi->dev);
146 if (match_data)
147 type = (unsigned long)match_data;
148 else if (id)
149 type = id->driver_data;
150
151 switch (type) {
152 case WM5102:
153 if (IS_ENABLED(CONFIG_MFD_WM5102))
154 regmap_config = &wm5102_spi_regmap;
155 break;
156 case WM5110:
157 case WM8280:
158 if (IS_ENABLED(CONFIG_MFD_WM5110))
159 regmap_config = &wm5110_spi_regmap;
160 break;
161 case WM1831:
162 case CS47L24:
163 if (IS_ENABLED(CONFIG_MFD_CS47L24))
164 regmap_config = &cs47l24_spi_regmap;
165 break;
166 default:
167 dev_err(&spi->dev, "Unknown device type %ld\n", type);
168 return -EINVAL;
169 }
170
171 if (!regmap_config) {
172 dev_err(&spi->dev,
173 "No kernel support for device type %ld\n", type);
174 return -EINVAL;
175 }
176
177 arizona = devm_kzalloc(&spi->dev, sizeof(*arizona), GFP_KERNEL);
178 if (arizona == NULL)
179 return -ENOMEM;
180
181 arizona->regmap = devm_regmap_init_spi(spi, regmap_config);
182 if (IS_ERR(arizona->regmap)) {
183 ret = PTR_ERR(arizona->regmap);
184 dev_err(&spi->dev, "Failed to allocate register map: %d\n",
185 ret);
186 return ret;
187 }
188
189 arizona->type = type;
190 arizona->dev = &spi->dev;
191 arizona->irq = spi->irq;
192
193 if (has_acpi_companion(&spi->dev)) {
> 194 ret = arizona_spi_acpi_probe(arizona);
195 if (ret)
196 return ret;
197 }
198
199 return arizona_dev_init(arizona);
200 }
201
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 8 months
[csky-linux:linux-next 27/27] arch/csky/kernel/vdso/vgettimeofday.c:6:5: warning: no previous prototype for '__vdso_clock_gettime'
by kernel test robot
tree: https://github.com/c-sky/csky-linux linux-next
head: 8d1733b612c9576ec3ff96491cffcb40ad756c1c
commit: 8d1733b612c9576ec3ff96491cffcb40ad756c1c [27/27] csky: Add VDSO with GENERIC_GETTIMEOFDAY, GENERIC_TIME_VSYSCALL, HAVE_GENERIC_VDSO
config: csky-defconfig (attached as .config)
compiler: csky-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/c-sky/csky-linux/commit/8d1733b612c9576ec3ff96491cffcb...
git remote add csky-linux https://github.com/c-sky/csky-linux
git fetch --no-tags csky-linux linux-next
git checkout 8d1733b612c9576ec3ff96491cffcb40ad756c1c
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=csky
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
>> arch/csky/kernel/vdso/vgettimeofday.c:6:5: warning: no previous prototype for '__vdso_clock_gettime' [-Wmissing-prototypes]
6 | int __vdso_clock_gettime(clockid_t clock,
| ^~~~~~~~~~~~~~~~~~~~
>> arch/csky/kernel/vdso/vgettimeofday.c:12:5: warning: no previous prototype for '__vdso_clock_gettime64' [-Wmissing-prototypes]
12 | int __vdso_clock_gettime64(clockid_t clock,
| ^~~~~~~~~~~~~~~~~~~~~~
>> arch/csky/kernel/vdso/vgettimeofday.c:18:5: warning: no previous prototype for '__vdso_gettimeofday' [-Wmissing-prototypes]
18 | int __vdso_gettimeofday(struct __kernel_old_timeval *tv,
| ^~~~~~~~~~~~~~~~~~~
>> arch/csky/kernel/vdso/vgettimeofday.c:24:5: warning: no previous prototype for '__vdso_clock_getres' [-Wmissing-prototypes]
24 | int __vdso_clock_getres(clockid_t clock_id,
| ^~~~~~~~~~~~~~~~~~~
vim +/__vdso_clock_gettime +6 arch/csky/kernel/vdso/vgettimeofday.c
5
> 6 int __vdso_clock_gettime(clockid_t clock,
7 struct old_timespec32 *ts)
8 {
9 return __cvdso_clock_gettime32(clock, ts);
10 }
11
> 12 int __vdso_clock_gettime64(clockid_t clock,
13 struct __kernel_timespec *ts)
14 {
15 return __cvdso_clock_gettime(clock, ts);
16 }
17
> 18 int __vdso_gettimeofday(struct __kernel_old_timeval *tv,
19 struct timezone *tz)
20 {
21 return __cvdso_gettimeofday(tv, tz);
22 }
23
> 24 int __vdso_clock_getres(clockid_t clock_id,
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 8 months
arch/sh/kernel/cpu/sh2a/setup-sh7201.c:414:9: sparse: sparse: incorrect type in argument 1 (different base types)
by kernel test robot
Hi Luc,
First bad commit (maybe != root cause):
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 0da0a8a0a0e1845f495431c3d8d733d2bbf9e9e5
commit: e5fc436f06eef54ef512ea55a9db8eb9f2e76959 sparse: use static inline for __chk_{user,io}_ptr()
date: 5 months ago
config: sh-randconfig-s031-20210118 (attached as .config)
compiler: sh4-linux-gcc (GCC) 9.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.3-208-g46a52ca4-dirty
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit...
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout e5fc436f06eef54ef512ea55a9db8eb9f2e76959
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=sh
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
"sparse warnings: (new ones prefixed by >>)"
>> arch/sh/kernel/cpu/sh2a/setup-sh7201.c:414:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected void const volatile [noderef] __iomem *ptr @@ got unsigned int @@
arch/sh/kernel/cpu/sh2a/setup-sh7201.c:414:9: sparse: expected void const volatile [noderef] __iomem *ptr
arch/sh/kernel/cpu/sh2a/setup-sh7201.c:414:9: sparse: got unsigned int
>> arch/sh/kernel/cpu/sh2a/setup-sh7201.c:414:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected void const volatile [noderef] __iomem *ptr @@ got unsigned int @@
arch/sh/kernel/cpu/sh2a/setup-sh7201.c:414:9: sparse: expected void const volatile [noderef] __iomem *ptr
arch/sh/kernel/cpu/sh2a/setup-sh7201.c:414:9: sparse: got unsigned int
--
>> arch/sh/kernel/cpu/sh2a/clock-sh7201.c:27:26: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected void const volatile [noderef] __iomem *ptr @@ got unsigned int @@
arch/sh/kernel/cpu/sh2a/clock-sh7201.c:27:26: sparse: expected void const volatile [noderef] __iomem *ptr
arch/sh/kernel/cpu/sh2a/clock-sh7201.c:27:26: sparse: got unsigned int
arch/sh/kernel/cpu/sh2a/clock-sh7201.c:36:20: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected void const volatile [noderef] __iomem *ptr @@ got unsigned int @@
arch/sh/kernel/cpu/sh2a/clock-sh7201.c:36:20: sparse: expected void const volatile [noderef] __iomem *ptr
arch/sh/kernel/cpu/sh2a/clock-sh7201.c:36:20: sparse: got unsigned int
arch/sh/kernel/cpu/sh2a/clock-sh7201.c:46:20: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected void const volatile [noderef] __iomem *ptr @@ got unsigned int @@
arch/sh/kernel/cpu/sh2a/clock-sh7201.c:46:20: sparse: expected void const volatile [noderef] __iomem *ptr
arch/sh/kernel/cpu/sh2a/clock-sh7201.c:46:20: sparse: got unsigned int
arch/sh/kernel/cpu/sh2a/clock-sh7201.c:56:21: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected void const volatile [noderef] __iomem *ptr @@ got unsigned int @@
arch/sh/kernel/cpu/sh2a/clock-sh7201.c:56:21: sparse: expected void const volatile [noderef] __iomem *ptr
arch/sh/kernel/cpu/sh2a/clock-sh7201.c:56:21: sparse: got unsigned int
--
fs/gfs2/file.c:306:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int const *__gu_addr @@ got unsigned int [noderef] [usertype] __user *ptr @@
fs/gfs2/file.c:306:13: sparse: expected unsigned int const *__gu_addr
fs/gfs2/file.c:306:13: sparse: got unsigned int [noderef] [usertype] __user *ptr
>> fs/gfs2/file.c:306:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got unsigned int const *__gu_addr @@
fs/gfs2/file.c:306:13: sparse: expected void const volatile [noderef] __user *ptr
fs/gfs2/file.c:306:13: sparse: got unsigned int const *__gu_addr
--
fs/udf/file.c:207:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected long const *__gu_addr @@ got long [noderef] __user * @@
fs/udf/file.c:207:21: sparse: expected long const *__gu_addr
fs/udf/file.c:207:21: sparse: got long [noderef] __user *
>> fs/udf/file.c:207:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got long const *__gu_addr @@
fs/udf/file.c:207:21: sparse: expected void const volatile [noderef] __user *ptr
fs/udf/file.c:207:21: sparse: got long const *__gu_addr
--
block/bsg.c:336:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user *uarg @@
block/bsg.c:336:13: sparse: expected int const *__gu_addr
block/bsg.c:336:13: sparse: got int [noderef] __user *uarg
>> block/bsg.c:336:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got int const *__gu_addr @@
block/bsg.c:336:13: sparse: expected void const volatile [noderef] __user *ptr
block/bsg.c:336:13: sparse: got int const *__gu_addr
--
>> drivers/mmc/host/dw_mmc.c:602:29: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *ptr @@ got unsigned int * @@
drivers/mmc/host/dw_mmc.c:602:29: sparse: expected void const volatile [noderef] __iomem *ptr
drivers/mmc/host/dw_mmc.c:602:29: sparse: got unsigned int *
>> drivers/mmc/host/dw_mmc.c:602:29: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *ptr @@ got unsigned int * @@
drivers/mmc/host/dw_mmc.c:602:29: sparse: expected void const volatile [noderef] __iomem *ptr
drivers/mmc/host/dw_mmc.c:602:29: sparse: got unsigned int *
drivers/mmc/host/dw_mmc.c:615:25: sparse: sparse: restricted __le32 degrades to integer
drivers/mmc/host/dw_mmc.c:615:25: sparse: sparse: restricted __le32 degrades to integer
>> drivers/mmc/host/dw_mmc.c:674:29: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *ptr @@ got restricted __le32 * @@
drivers/mmc/host/dw_mmc.c:674:29: sparse: expected void const volatile [noderef] __iomem *ptr
drivers/mmc/host/dw_mmc.c:674:29: sparse: got restricted __le32 *
drivers/mmc/host/dw_mmc.c:674:29: sparse: sparse: restricted __le32 degrades to integer
>> drivers/mmc/host/dw_mmc.c:674:29: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *ptr @@ got restricted __le32 * @@
drivers/mmc/host/dw_mmc.c:674:29: sparse: expected void const volatile [noderef] __iomem *ptr
drivers/mmc/host/dw_mmc.c:674:29: sparse: got restricted __le32 *
drivers/mmc/host/dw_mmc.c:674:29: sparse: sparse: restricted __le32 degrades to integer
--
drivers/scsi/sg.c:415:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user * @@
drivers/scsi/sg.c:415:21: sparse: expected int const *__gu_addr
drivers/scsi/sg.c:415:21: sparse: got int [noderef] __user *
>> drivers/scsi/sg.c:415:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got int const *__gu_addr @@
drivers/scsi/sg.c:415:21: sparse: expected void const volatile [noderef] __user *ptr
drivers/scsi/sg.c:415:21: sparse: got int const *__gu_addr
drivers/scsi/sg.c:419:32: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user * @@
drivers/scsi/sg.c:419:32: sparse: expected int const *__gu_addr
drivers/scsi/sg.c:419:32: sparse: got int [noderef] __user *
drivers/scsi/sg.c:419:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got int const *__gu_addr @@
drivers/scsi/sg.c:419:32: sparse: expected void const volatile [noderef] __user *ptr
drivers/scsi/sg.c:419:32: sparse: got int const *__gu_addr
drivers/scsi/sg.c:425:32: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected signed int const *__gu_addr @@ got signed int [noderef] __user * @@
drivers/scsi/sg.c:425:32: sparse: expected signed int const *__gu_addr
drivers/scsi/sg.c:425:32: sparse: got signed int [noderef] __user *
>> drivers/scsi/sg.c:425:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got signed int const *__gu_addr @@
drivers/scsi/sg.c:425:32: sparse: expected void const volatile [noderef] __user *ptr
drivers/scsi/sg.c:425:32: sparse: got signed int const *__gu_addr
drivers/scsi/sg.c:431:32: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user * @@
drivers/scsi/sg.c:431:32: sparse: expected int const *__gu_addr
drivers/scsi/sg.c:431:32: sparse: got int [noderef] __user *
drivers/scsi/sg.c:431:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got int const *__gu_addr @@
drivers/scsi/sg.c:431:32: sparse: expected void const volatile [noderef] __user *ptr
drivers/scsi/sg.c:431:32: sparse: got int const *__gu_addr
drivers/scsi/sg.c:638:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected char const *__gu_addr @@ got char const [noderef] __user *[assigned] buf @@
drivers/scsi/sg.c:638:13: sparse: expected char const *__gu_addr
drivers/scsi/sg.c:638:13: sparse: got char const [noderef] __user *[assigned] buf
>> drivers/scsi/sg.c:638:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got char const *__gu_addr @@
drivers/scsi/sg.c:638:13: sparse: expected void const volatile [noderef] __user *ptr
drivers/scsi/sg.c:638:13: sparse: got char const *__gu_addr
drivers/scsi/sg.c:955:26: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user *ip @@
drivers/scsi/sg.c:955:26: sparse: expected int const *__gu_addr
drivers/scsi/sg.c:955:26: sparse: got int [noderef] __user *ip
drivers/scsi/sg.c:955:26: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got int const *__gu_addr @@
drivers/scsi/sg.c:955:26: sparse: expected void const volatile [noderef] __user *ptr
drivers/scsi/sg.c:955:26: sparse: got int const *__gu_addr
drivers/scsi/sg.c:998:26: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user *ip @@
drivers/scsi/sg.c:998:26: sparse: expected int const *__gu_addr
drivers/scsi/sg.c:998:26: sparse: got int [noderef] __user *ip
drivers/scsi/sg.c:998:26: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got int const *__gu_addr @@
drivers/scsi/sg.c:998:26: sparse: expected void const volatile [noderef] __user *ptr
drivers/scsi/sg.c:998:26: sparse: got int const *__gu_addr
drivers/scsi/sg.c:1026:26: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user *ip @@
drivers/scsi/sg.c:1026:26: sparse: expected int const *__gu_addr
drivers/scsi/sg.c:1026:26: sparse: got int [noderef] __user *ip
drivers/scsi/sg.c:1026:26: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got int const *__gu_addr @@
drivers/scsi/sg.c:1026:26: sparse: expected void const volatile [noderef] __user *ptr
drivers/scsi/sg.c:1026:26: sparse: got int const *__gu_addr
drivers/scsi/sg.c:1051:26: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user *ip @@
drivers/scsi/sg.c:1051:26: sparse: expected int const *__gu_addr
drivers/scsi/sg.c:1051:26: sparse: got int [noderef] __user *ip
drivers/scsi/sg.c:1051:26: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got int const *__gu_addr @@
drivers/scsi/sg.c:1051:26: sparse: expected void const volatile [noderef] __user *ptr
drivers/scsi/sg.c:1051:26: sparse: got int const *__gu_addr
drivers/scsi/sg.c:1059:26: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user *ip @@
drivers/scsi/sg.c:1059:26: sparse: expected int const *__gu_addr
drivers/scsi/sg.c:1059:26: sparse: got int [noderef] __user *ip
drivers/scsi/sg.c:1059:26: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got int const *__gu_addr @@
drivers/scsi/sg.c:1059:26: sparse: expected void const volatile [noderef] __user *ptr
drivers/scsi/sg.c:1059:26: sparse: got int const *__gu_addr
drivers/scsi/sg.c:1067:26: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user *ip @@
drivers/scsi/sg.c:1067:26: sparse: expected int const *__gu_addr
drivers/scsi/sg.c:1067:26: sparse: got int [noderef] __user *ip
drivers/scsi/sg.c:1067:26: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got int const *__gu_addr @@
drivers/scsi/sg.c:1067:26: sparse: expected void const volatile [noderef] __user *ptr
drivers/scsi/sg.c:1067:26: sparse: got int const *__gu_addr
drivers/scsi/sg.c:1111:26: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user *ip @@
drivers/scsi/sg.c:1111:26: sparse: expected int const *__gu_addr
drivers/scsi/sg.c:1111:26: sparse: got int [noderef] __user *ip
drivers/scsi/sg.c:1111:26: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got int const *__gu_addr @@
drivers/scsi/sg.c:1111:26: sparse: expected void const volatile [noderef] __user *ptr
drivers/scsi/sg.c:1111:26: sparse: got int const *__gu_addr
--
drivers/watchdog/kempld_wdt.c:349:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user *p @@
drivers/watchdog/kempld_wdt.c:349:21: sparse: expected int const *__gu_addr
drivers/watchdog/kempld_wdt.c:349:21: sparse: got int [noderef] __user *p
>> drivers/watchdog/kempld_wdt.c:349:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got int const *__gu_addr @@
drivers/watchdog/kempld_wdt.c:349:21: sparse: expected void const volatile [noderef] __user *ptr
drivers/watchdog/kempld_wdt.c:349:21: sparse: got int const *__gu_addr
--
drivers/watchdog/mv64x60_wdt.c:163:37: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected char const *__gu_addr @@ got char const [noderef] __user * @@
drivers/watchdog/mv64x60_wdt.c:163:37: sparse: expected char const *__gu_addr
drivers/watchdog/mv64x60_wdt.c:163:37: sparse: got char const [noderef] __user *
>> drivers/watchdog/mv64x60_wdt.c:163:37: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got char const *__gu_addr @@
drivers/watchdog/mv64x60_wdt.c:163:37: sparse: expected void const volatile [noderef] __user *ptr
drivers/watchdog/mv64x60_wdt.c:163:37: sparse: got char const *__gu_addr
drivers/watchdog/mv64x60_wdt.c:206:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user * @@
drivers/watchdog/mv64x60_wdt.c:206:21: sparse: expected int const *__gu_addr
drivers/watchdog/mv64x60_wdt.c:206:21: sparse: got int [noderef] __user *
>> drivers/watchdog/mv64x60_wdt.c:206:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got int const *__gu_addr @@
drivers/watchdog/mv64x60_wdt.c:206:21: sparse: expected void const volatile [noderef] __user *ptr
drivers/watchdog/mv64x60_wdt.c:206:21: sparse: got int const *__gu_addr
drivers/watchdog/mv64x60_wdt.c:222:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user * @@
drivers/watchdog/mv64x60_wdt.c:222:21: sparse: expected int const *__gu_addr
drivers/watchdog/mv64x60_wdt.c:222:21: sparse: got int [noderef] __user *
drivers/watchdog/mv64x60_wdt.c:222:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got int const *__gu_addr @@
drivers/watchdog/mv64x60_wdt.c:222:21: sparse: expected void const volatile [noderef] __user *ptr
drivers/watchdog/mv64x60_wdt.c:222:21: sparse: got int const *__gu_addr
vim +414 arch/sh/kernel/cpu/sh2a/setup-sh7201.c
da107c6ef919b3af Magnus Damm 2009-04-30 410
da107c6ef919b3af Magnus Damm 2009-04-30 411 void __init plat_early_device_setup(void)
da107c6ef919b3af Magnus Damm 2009-04-30 412 {
da107c6ef919b3af Magnus Damm 2009-04-30 413 /* enable MTU2 clock */
da107c6ef919b3af Magnus Damm 2009-04-30 @414 __raw_writeb(__raw_readb(STBCR3) & ~0x20, STBCR3);
:::::: The code at line 414 was first introduced by commit
:::::: da107c6ef919b3afd9c9b405a4f71e03b5725b04 sh: sh2a MTU2 platform data
:::::: TO: Magnus Damm <damm(a)igel.co.jp>
:::::: CC: Paul Mundt <lethal(a)linux-sh.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 8 months
Re: [PATCH v9] platform/x86: thinkpad_acpi: Add platform profile support
by kernel test robot
Hi Mark,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on linus/master]
[also build test ERROR on v5.11-rc3 next-20210115]
[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/Mark-Pearson/platform-x86-thinkp...
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 7c53f6b671f4aba70ff15e1b05148b10d58c2837
config: x86_64-rhel (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce (this is a W=1 build):
# https://github.com/0day-ci/linux/commit/958de6527b22cc8744001da18b8e9a9c0...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Mark-Pearson/platform-x86-thinkpad_acpi-Add-platform-profile-support/20210112-003248
git checkout 958de6527b22cc8744001da18b8e9a9c0b85c201
# 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 >>):
>> drivers/platform/x86/thinkpad_acpi.c:69:10: fatal error: linux/platform_profile.h: No such file or directory
69 | #include <linux/platform_profile.h>
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
vim +69 drivers/platform/x86/thinkpad_acpi.c
13
14 /*
15 * Changelog:
16 * 2007-10-20 changelog trimmed down
17 *
18 * 2007-03-27 0.14 renamed to thinkpad_acpi and moved to
19 * drivers/misc.
20 *
21 * 2006-11-22 0.13 new maintainer
22 * changelog now lives in git commit history, and will
23 * not be updated further in-file.
24 *
25 * 2005-03-17 0.11 support for 600e, 770x
26 * thanks to Jamie Lentin <lentinj(a)dial.pipex.com>
27 *
28 * 2005-01-16 0.9 use MODULE_VERSION
29 * thanks to Henrik Brix Andersen <brix(a)gentoo.org>
30 * fix parameter passing on module loading
31 * thanks to Rusty Russell <rusty(a)rustcorp.com.au>
32 * thanks to Jim Radford <radford(a)blackbean.org>
33 * 2004-11-08 0.8 fix init error case, don't return from a macro
34 * thanks to Chris Wright <chrisw(a)osdl.org>
35 */
36
37 #include <linux/kernel.h>
38 #include <linux/module.h>
39 #include <linux/init.h>
40 #include <linux/types.h>
41 #include <linux/string.h>
42 #include <linux/list.h>
43 #include <linux/mutex.h>
44 #include <linux/sched.h>
45 #include <linux/sched/signal.h>
46 #include <linux/kthread.h>
47 #include <linux/freezer.h>
48 #include <linux/delay.h>
49 #include <linux/slab.h>
50 #include <linux/nvram.h>
51 #include <linux/proc_fs.h>
52 #include <linux/seq_file.h>
53 #include <linux/sysfs.h>
54 #include <linux/backlight.h>
55 #include <linux/bitops.h>
56 #include <linux/fb.h>
57 #include <linux/platform_device.h>
58 #include <linux/hwmon.h>
59 #include <linux/hwmon-sysfs.h>
60 #include <linux/input.h>
61 #include <linux/leds.h>
62 #include <linux/rfkill.h>
63 #include <linux/dmi.h>
64 #include <linux/jiffies.h>
65 #include <linux/workqueue.h>
66 #include <linux/acpi.h>
67 #include <linux/pci.h>
68 #include <linux/power_supply.h>
> 69 #include <linux/platform_profile.h>
70 #include <sound/core.h>
71 #include <sound/control.h>
72 #include <sound/initval.h>
73 #include <linux/uaccess.h>
74 #include <acpi/battery.h>
75 #include <acpi/video.h>
76
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 8 months
fs/fat/file.c:44:15: sparse: sparse: incorrect type in argument 1 (different address spaces)
by kernel test robot
Hi Luc,
First bad commit (maybe != root cause):
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 0da0a8a0a0e1845f495431c3d8d733d2bbf9e9e5
commit: e5fc436f06eef54ef512ea55a9db8eb9f2e76959 sparse: use static inline for __chk_{user,io}_ptr()
date: 5 months ago
config: sh-randconfig-s031-20210117 (attached as .config)
compiler: sh4-linux-gcc (GCC) 9.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.3-208-g46a52ca4-dirty
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit...
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout e5fc436f06eef54ef512ea55a9db8eb9f2e76959
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=sh
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
"sparse warnings: (new ones prefixed by >>)"
fs/fat/file.c:44:15: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int const *__gu_addr @@ got unsigned int [noderef] [usertype] __user *user_attr @@
fs/fat/file.c:44:15: sparse: expected unsigned int const *__gu_addr
fs/fat/file.c:44:15: sparse: got unsigned int [noderef] [usertype] __user *user_attr
>> fs/fat/file.c:44:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got unsigned int const *__gu_addr @@
fs/fat/file.c:44:15: sparse: expected void const volatile [noderef] __user *ptr
fs/fat/file.c:44:15: sparse: got unsigned int const *__gu_addr
--
fs/jfs/ioctl.c:83:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user * @@
fs/jfs/ioctl.c:83:21: sparse: expected int const *__gu_addr
fs/jfs/ioctl.c:83:21: sparse: got int [noderef] __user *
>> fs/jfs/ioctl.c:83:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got int const *__gu_addr @@
fs/jfs/ioctl.c:83:21: sparse: expected void const volatile [noderef] __user *ptr
fs/jfs/ioctl.c:83:21: sparse: got int const *__gu_addr
--
fs/xfs/xfs_ioctl.c:2257:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int const *__gu_addr @@ got unsigned int [noderef] [usertype] __user * @@
fs/xfs/xfs_ioctl.c:2257:21: sparse: expected unsigned int const *__gu_addr
fs/xfs/xfs_ioctl.c:2257:21: sparse: got unsigned int [noderef] [usertype] __user *
>> fs/xfs/xfs_ioctl.c:2257:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got unsigned int const *__gu_addr @@
fs/xfs/xfs_ioctl.c:2257:21: sparse: expected void const volatile [noderef] __user *ptr
fs/xfs/xfs_ioctl.c:2257:21: sparse: got unsigned int const *__gu_addr
--
fs/nilfs2/ioctl.c:138:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user * @@
fs/nilfs2/ioctl.c:138:13: sparse: expected int const *__gu_addr
fs/nilfs2/ioctl.c:138:13: sparse: got int [noderef] __user *
>> fs/nilfs2/ioctl.c:138:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got int const *__gu_addr @@
fs/nilfs2/ioctl.c:138:13: sparse: expected void const volatile [noderef] __user *ptr
fs/nilfs2/ioctl.c:138:13: sparse: got int const *__gu_addr
--
>> arch/sh/kernel/process_32.c:42:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected void const volatile [noderef] __iomem *ptr @@ got unsigned int @@
arch/sh/kernel/process_32.c:42:9: sparse: expected void const volatile [noderef] __iomem *ptr
arch/sh/kernel/process_32.c:42:9: sparse: got unsigned int
--
arch/sh/mm/init.c: note: in included file (through arch/sh/include/asm/mmu_context.h):
>> arch/sh/include/asm/mmu_context_32.h:53:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected void const volatile [noderef] __iomem *ptr @@ got unsigned int @@
arch/sh/include/asm/mmu_context_32.h:53:9: sparse: expected void const volatile [noderef] __iomem *ptr
arch/sh/include/asm/mmu_context_32.h:53:9: sparse: got unsigned int
--
>> arch/sh/mm/tlbflush_32.c:134:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected void const volatile [noderef] __iomem *ptr @@ got unsigned int @@
arch/sh/mm/tlbflush_32.c:134:9: sparse: expected void const volatile [noderef] __iomem *ptr
arch/sh/mm/tlbflush_32.c:134:9: sparse: got unsigned int
>> arch/sh/mm/tlbflush_32.c:134:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected void const volatile [noderef] __iomem *ptr @@ got unsigned int @@
arch/sh/mm/tlbflush_32.c:134:9: sparse: expected void const volatile [noderef] __iomem *ptr
arch/sh/mm/tlbflush_32.c:134:9: sparse: got unsigned int
--
>> arch/sh/mm/tlb-sh3.c:41:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected void const volatile [noderef] __iomem *ptr @@ got unsigned int @@
arch/sh/mm/tlb-sh3.c:41:9: sparse: expected void const volatile [noderef] __iomem *ptr
arch/sh/mm/tlb-sh3.c:41:9: sparse: got unsigned int
arch/sh/mm/tlb-sh3.c:48:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected void const volatile [noderef] __iomem *ptr @@ got unsigned int @@
arch/sh/mm/tlb-sh3.c:48:9: sparse: expected void const volatile [noderef] __iomem *ptr
arch/sh/mm/tlb-sh3.c:48:9: sparse: got unsigned int
>> arch/sh/mm/tlb-sh3.c:75:17: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected void const volatile [noderef] __iomem *ptr @@ got unsigned long @@
arch/sh/mm/tlb-sh3.c:75:17: sparse: expected void const volatile [noderef] __iomem *ptr
arch/sh/mm/tlb-sh3.c:75:17: sparse: got unsigned long
arch/sh/mm/tlb-sh3.c:90:18: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected void const volatile [noderef] __iomem *ptr @@ got unsigned int @@
arch/sh/mm/tlb-sh3.c:90:18: sparse: expected void const volatile [noderef] __iomem *ptr
arch/sh/mm/tlb-sh3.c:90:18: sparse: got unsigned int
arch/sh/mm/tlb-sh3.c:92:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected void const volatile [noderef] __iomem *ptr @@ got unsigned int @@
arch/sh/mm/tlb-sh3.c:92:9: sparse: expected void const volatile [noderef] __iomem *ptr
arch/sh/mm/tlb-sh3.c:92:9: sparse: got unsigned int
--
>> arch/sh/kernel/cpu/sh3/clock-sh7712.c:23:21: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected void const volatile [noderef] __iomem *ptr @@ got unsigned int @@
arch/sh/kernel/cpu/sh3/clock-sh7712.c:23:21: sparse: expected void const volatile [noderef] __iomem *ptr
arch/sh/kernel/cpu/sh3/clock-sh7712.c:23:21: sparse: got unsigned int
arch/sh/kernel/cpu/sh3/clock-sh7712.c:35:21: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected void const volatile [noderef] __iomem *ptr @@ got unsigned int @@
arch/sh/kernel/cpu/sh3/clock-sh7712.c:35:21: sparse: expected void const volatile [noderef] __iomem *ptr
arch/sh/kernel/cpu/sh3/clock-sh7712.c:35:21: sparse: got unsigned int
arch/sh/kernel/cpu/sh3/clock-sh7712.c:47:21: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected void const volatile [noderef] __iomem *ptr @@ got unsigned int @@
arch/sh/kernel/cpu/sh3/clock-sh7712.c:47:21: sparse: expected void const volatile [noderef] __iomem *ptr
arch/sh/kernel/cpu/sh3/clock-sh7712.c:47:21: sparse: got unsigned int
--
fs/exec.c:418:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected char const [noderef] __user *const *__gu_addr @@ got char const [noderef] __user *const [noderef] __user * @@
fs/exec.c:418:13: sparse: expected char const [noderef] __user *const *__gu_addr
fs/exec.c:418:13: sparse: got char const [noderef] __user *const [noderef] __user *
fs/exec.c:418:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got char const [noderef] __user *const *__gu_addr @@
fs/exec.c:418:13: sparse: expected void const volatile [noderef] __user *ptr
fs/exec.c:418:13: sparse: got char const [noderef] __user *const *__gu_addr
fs/exec.c:419:31: sparse: sparse: incorrect type in return expression (different address spaces) @@ expected char const [noderef] __user * @@ got void * @@
fs/exec.c:419:31: sparse: expected char const [noderef] __user *
fs/exec.c:419:31: sparse: got void *
fs/exec.c:1156:48: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct sighand_struct *oldsighand @@ got struct sighand_struct [noderef] __rcu *sighand @@
fs/exec.c:1156:48: sparse: expected struct sighand_struct *oldsighand
fs/exec.c:1156:48: sparse: got struct sighand_struct [noderef] __rcu *sighand
fs/exec.c:1263:56: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected struct task_struct *parent @@ got struct task_struct [noderef] __rcu *parent @@
fs/exec.c:1263:56: sparse: expected struct task_struct *parent
fs/exec.c:1263:56: sparse: got struct task_struct [noderef] __rcu *parent
fs/exec.c:1298:47: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct sighand_struct *oldsighand @@ got struct sighand_struct [noderef] __rcu *sighand @@
fs/exec.c:1298:47: sparse: expected struct sighand_struct *oldsighand
fs/exec.c:1298:47: sparse: got struct sighand_struct [noderef] __rcu *sighand
fs/exec.c:1851:70: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct task_struct *tsk @@ got struct task_struct [noderef] __rcu *parent @@
fs/exec.c:1851:70: sparse: expected struct task_struct *tsk
fs/exec.c:1851:70: sparse: got struct task_struct [noderef] __rcu *parent
fs/exec.c: note: in included file (through arch/sh/include/asm/mmu_context.h):
>> arch/sh/include/asm/mmu_context_32.h:53:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected void const volatile [noderef] __iomem *ptr @@ got unsigned int @@
arch/sh/include/asm/mmu_context_32.h:53:9: sparse: expected void const volatile [noderef] __iomem *ptr
arch/sh/include/asm/mmu_context_32.h:53:9: sparse: got unsigned int
--
block/ioctl.c:66:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user * @@
block/ioctl.c:66:13: sparse: expected int const *__gu_addr
block/ioctl.c:66:13: sparse: got int [noderef] __user *
>> block/ioctl.c:66:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got int const *__gu_addr @@
block/ioctl.c:66:13: sparse: expected void const volatile [noderef] __user *ptr
block/ioctl.c:66:13: sparse: got int const *__gu_addr
block/ioctl.c:66:39: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void [noderef] __user *const *__gu_addr @@ got void [noderef] __user *[noderef] __user * @@
block/ioctl.c:66:39: sparse: expected void [noderef] __user *const *__gu_addr
block/ioctl.c:66:39: sparse: got void [noderef] __user *[noderef] __user *
>> block/ioctl.c:66:39: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got void [noderef] __user *const *__gu_addr @@
block/ioctl.c:66:39: sparse: expected void const volatile [noderef] __user *ptr
block/ioctl.c:66:39: sparse: got void [noderef] __user *const *__gu_addr
block/ioctl.c:393:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user * @@
block/ioctl.c:393:13: sparse: expected int const *__gu_addr
block/ioctl.c:393:13: sparse: got int [noderef] __user *
block/ioctl.c:393:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got int const *__gu_addr @@
block/ioctl.c:393:13: sparse: expected void const volatile [noderef] __user *ptr
block/ioctl.c:393:13: sparse: got int const *__gu_addr
block/ioctl.c:474:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user *argp @@
block/ioctl.c:474:13: sparse: expected int const *__gu_addr
block/ioctl.c:474:13: sparse: got int [noderef] __user *argp
block/ioctl.c:474:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got int const *__gu_addr @@
block/ioctl.c:474:13: sparse: expected void const volatile [noderef] __user *ptr
block/ioctl.c:474:13: sparse: got int const *__gu_addr
--
block/scsi_ioctl.c:65:28: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user *p @@
block/scsi_ioctl.c:65:28: sparse: expected int const *__gu_addr
block/scsi_ioctl.c:65:28: sparse: got int [noderef] __user *p
>> block/scsi_ioctl.c:65:28: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got int const *__gu_addr @@
block/scsi_ioctl.c:65:28: sparse: expected void const volatile [noderef] __user *ptr
block/scsi_ioctl.c:65:28: sparse: got int const *__gu_addr
block/scsi_ioctl.c:91:25: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user *p @@
block/scsi_ioctl.c:91:25: sparse: expected int const *__gu_addr
block/scsi_ioctl.c:91:25: sparse: got int [noderef] __user *p
block/scsi_ioctl.c:91:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got int const *__gu_addr @@
block/scsi_ioctl.c:91:25: sparse: expected void const volatile [noderef] __user *ptr
block/scsi_ioctl.c:91:25: sparse: got int const *__gu_addr
block/scsi_ioctl.c:433:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int const *__gu_addr @@ got unsigned int [noderef] __user * @@
block/scsi_ioctl.c:433:13: sparse: expected unsigned int const *__gu_addr
block/scsi_ioctl.c:433:13: sparse: got unsigned int [noderef] __user *
>> block/scsi_ioctl.c:433:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got unsigned int const *__gu_addr @@
block/scsi_ioctl.c:433:13: sparse: expected void const volatile [noderef] __user *ptr
block/scsi_ioctl.c:433:13: sparse: got unsigned int const *__gu_addr
block/scsi_ioctl.c:435:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int const *__gu_addr @@ got unsigned int [noderef] __user * @@
block/scsi_ioctl.c:435:13: sparse: expected unsigned int const *__gu_addr
block/scsi_ioctl.c:435:13: sparse: got unsigned int [noderef] __user *
block/scsi_ioctl.c:435:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got unsigned int const *__gu_addr @@
block/scsi_ioctl.c:435:13: sparse: expected void const volatile [noderef] __user *ptr
block/scsi_ioctl.c:435:13: sparse: got unsigned int const *__gu_addr
block/scsi_ioctl.c:439:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned char const *__gu_addr @@ got unsigned char [noderef] __user * @@
block/scsi_ioctl.c:439:13: sparse: expected unsigned char const *__gu_addr
block/scsi_ioctl.c:439:13: sparse: got unsigned char [noderef] __user *
>> block/scsi_ioctl.c:439:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got unsigned char const *__gu_addr @@
block/scsi_ioctl.c:439:13: sparse: expected void const volatile [noderef] __user *ptr
block/scsi_ioctl.c:439:13: sparse: got unsigned char const *__gu_addr
--
drivers/gpu/drm/drm_crtc.c:708:29: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int const *__gu_addr @@ got unsigned int [noderef] [usertype] __user * @@
drivers/gpu/drm/drm_crtc.c:708:29: sparse: expected unsigned int const *__gu_addr
drivers/gpu/drm/drm_crtc.c:708:29: sparse: got unsigned int [noderef] [usertype] __user *
>> drivers/gpu/drm/drm_crtc.c:708:29: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got unsigned int const *__gu_addr @@
drivers/gpu/drm/drm_crtc.c:708:29: sparse: expected void const volatile [noderef] __user *ptr
drivers/gpu/drm/drm_crtc.c:708:29: sparse: got unsigned int const *__gu_addr
--
drivers/scsi/scsi_error.c:2341:17: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user *arg @@
drivers/scsi/scsi_error.c:2341:17: sparse: expected int const *__gu_addr
drivers/scsi/scsi_error.c:2341:17: sparse: got int [noderef] __user *arg
>> drivers/scsi/scsi_error.c:2341:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got int const *__gu_addr @@
drivers/scsi/scsi_error.c:2341:17: sparse: expected void const volatile [noderef] __user *ptr
drivers/scsi/scsi_error.c:2341:17: sparse: got int const *__gu_addr
--
drivers/scsi/scsi_ioctl.c:48:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int const *__gu_addr @@ got unsigned int [noderef] __user * @@
drivers/scsi/scsi_ioctl.c:48:21: sparse: expected unsigned int const *__gu_addr
drivers/scsi/scsi_ioctl.c:48:21: sparse: got unsigned int [noderef] __user *
>> drivers/scsi/scsi_ioctl.c:48:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got unsigned int const *__gu_addr @@
drivers/scsi/scsi_ioctl.c:48:21: sparse: expected void const volatile [noderef] __user *ptr
drivers/scsi/scsi_ioctl.c:48:21: sparse: got unsigned int const *__gu_addr
--
drivers/video/fbdev/s3c-fb.c:1024:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int const *__gu_addr @@ got unsigned int [noderef] [usertype] __user * @@
drivers/video/fbdev/s3c-fb.c:1024:21: sparse: expected unsigned int const *__gu_addr
drivers/video/fbdev/s3c-fb.c:1024:21: sparse: got unsigned int [noderef] [usertype] __user *
>> drivers/video/fbdev/s3c-fb.c:1024:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got unsigned int const *__gu_addr @@
drivers/video/fbdev/s3c-fb.c:1024:21: sparse: expected void const volatile [noderef] __user *ptr
drivers/video/fbdev/s3c-fb.c:1024:21: sparse: got unsigned int const *__gu_addr
--
samples/vfio-mdev/mbochs.c:1270:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int const *__gu_addr @@ got unsigned int [noderef] [usertype] __user * @@
samples/vfio-mdev/mbochs.c:1270:21: sparse: expected unsigned int const *__gu_addr
samples/vfio-mdev/mbochs.c:1270:21: sparse: got unsigned int [noderef] [usertype] __user *
>> samples/vfio-mdev/mbochs.c:1270:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got unsigned int const *__gu_addr @@
samples/vfio-mdev/mbochs.c:1270:21: sparse: expected void const volatile [noderef] __user *ptr
samples/vfio-mdev/mbochs.c:1270:21: sparse: got unsigned int const *__gu_addr
samples/vfio-mdev/mbochs.c:1346:1: sparse: sparse: symbol 'mdev_type_attr_name' was not declared. Should it be static?
samples/vfio-mdev/mbochs.c:1356:1: sparse: sparse: symbol 'mdev_type_attr_description' was not declared. Should it be static?
samples/vfio-mdev/mbochs.c:1366:1: sparse: sparse: symbol 'mdev_type_attr_available_instances' was not declared. Should it be static?
samples/vfio-mdev/mbochs.c:1373:1: sparse: sparse: symbol 'mdev_type_attr_device_api' was not declared. Should it be static?
--
fs/reiserfs/ioctl.c:66:29: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user * @@
fs/reiserfs/ioctl.c:66:29: sparse: expected int const *__gu_addr
fs/reiserfs/ioctl.c:66:29: sparse: got int [noderef] __user *
>> fs/reiserfs/ioctl.c:66:29: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got int const *__gu_addr @@
fs/reiserfs/ioctl.c:66:29: sparse: expected void const volatile [noderef] __user *ptr
fs/reiserfs/ioctl.c:66:29: sparse: got int const *__gu_addr
fs/reiserfs/ioctl.c:111:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user * @@
fs/reiserfs/ioctl.c:111:21: sparse: expected int const *__gu_addr
fs/reiserfs/ioctl.c:111:21: sparse: got int [noderef] __user *
fs/reiserfs/ioctl.c:111:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got int const *__gu_addr @@
fs/reiserfs/ioctl.c:111:21: sparse: expected void const volatile [noderef] __user *ptr
fs/reiserfs/ioctl.c:111:21: sparse: got int const *__gu_addr
--
fs/ext4/ioctl.c:609:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int const *__gu_addr @@ got unsigned int [noderef] [usertype] __user * @@
fs/ext4/ioctl.c:609:13: sparse: expected unsigned int const *__gu_addr
fs/ext4/ioctl.c:609:13: sparse: got unsigned int [noderef] [usertype] __user *
>> fs/ext4/ioctl.c:609:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got unsigned int const *__gu_addr @@
fs/ext4/ioctl.c:609:13: sparse: expected void const volatile [noderef] __user *ptr
fs/ext4/ioctl.c:609:13: sparse: got unsigned int const *__gu_addr
fs/ext4/ioctl.c:833:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user * @@
fs/ext4/ioctl.c:833:21: sparse: expected int const *__gu_addr
fs/ext4/ioctl.c:833:21: sparse: got int [noderef] __user *
>> fs/ext4/ioctl.c:833:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got int const *__gu_addr @@
fs/ext4/ioctl.c:833:21: sparse: expected void const volatile [noderef] __user *ptr
fs/ext4/ioctl.c:833:21: sparse: got int const *__gu_addr
fs/ext4/ioctl.c:884:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user * @@
fs/ext4/ioctl.c:884:21: sparse: expected int const *__gu_addr
fs/ext4/ioctl.c:884:21: sparse: got int [noderef] __user *
fs/ext4/ioctl.c:884:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got int const *__gu_addr @@
fs/ext4/ioctl.c:884:21: sparse: expected void const volatile [noderef] __user *ptr
fs/ext4/ioctl.c:884:21: sparse: got int const *__gu_addr
fs/ext4/ioctl.c:917:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int const *__gu_addr @@ got unsigned int [noderef] [usertype] __user * @@
fs/ext4/ioctl.c:917:21: sparse: expected unsigned int const *__gu_addr
fs/ext4/ioctl.c:917:21: sparse: got unsigned int [noderef] [usertype] __user *
fs/ext4/ioctl.c:917:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got unsigned int const *__gu_addr @@
fs/ext4/ioctl.c:917:21: sparse: expected void const volatile [noderef] __user *ptr
fs/ext4/ioctl.c:917:21: sparse: got unsigned int const *__gu_addr
--
fs/ext2/ioctl.c:47:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user * @@
fs/ext2/ioctl.c:47:21: sparse: expected int const *__gu_addr
fs/ext2/ioctl.c:47:21: sparse: got int [noderef] __user *
>> fs/ext2/ioctl.c:47:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got int const *__gu_addr @@
fs/ext2/ioctl.c:47:21: sparse: expected void const volatile [noderef] __user *ptr
fs/ext2/ioctl.c:47:21: sparse: got int const *__gu_addr
fs/ext2/ioctl.c:92:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user * @@
fs/ext2/ioctl.c:92:21: sparse: expected int const *__gu_addr
fs/ext2/ioctl.c:92:21: sparse: got int [noderef] __user *
fs/ext2/ioctl.c:92:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got int const *__gu_addr @@
fs/ext2/ioctl.c:92:21: sparse: expected void const volatile [noderef] __user *ptr
fs/ext2/ioctl.c:92:21: sparse: got int const *__gu_addr
fs/ext2/ioctl.c:123:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user * @@
fs/ext2/ioctl.c:123:21: sparse: expected int const *__gu_addr
fs/ext2/ioctl.c:123:21: sparse: got int [noderef] __user *
fs/ext2/ioctl.c:123:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got int const *__gu_addr @@
fs/ext2/ioctl.c:123:21: sparse: expected void const volatile [noderef] __user *ptr
fs/ext2/ioctl.c:123:21: sparse: got int const *__gu_addr
vim +44 fs/fat/file.c
21bea495943f9532 Christoph Hellwig 2009-06-08 34
21bea495943f9532 Christoph Hellwig 2009-06-08 35 static int fat_ioctl_set_attributes(struct file *file, u32 __user *user_attr)
^1da177e4c3f4152 Linus Torvalds 2005-04-16 36 {
496ad9aa8ef44805 Al Viro 2013-01-23 37 struct inode *inode = file_inode(file);
21bea495943f9532 Christoph Hellwig 2009-06-08 38 struct msdos_sb_info *sbi = MSDOS_SB(inode->i_sb);
21bea495943f9532 Christoph Hellwig 2009-06-08 39 int is_dir = S_ISDIR(inode->i_mode);
^1da177e4c3f4152 Linus Torvalds 2005-04-16 40 u32 attr, oldattr;
^1da177e4c3f4152 Linus Torvalds 2005-04-16 41 struct iattr ia;
21bea495943f9532 Christoph Hellwig 2009-06-08 42 int err;
^1da177e4c3f4152 Linus Torvalds 2005-04-16 43
^1da177e4c3f4152 Linus Torvalds 2005-04-16 @44 err = get_user(attr, user_attr);
^1da177e4c3f4152 Linus Torvalds 2005-04-16 45 if (err)
21bea495943f9532 Christoph Hellwig 2009-06-08 46 goto out;
^1da177e4c3f4152 Linus Torvalds 2005-04-16 47
a561be7100cd610b Al Viro 2011-11-23 48 err = mnt_want_write_file(file);
42a74f206b914db1 Dave Hansen 2008-02-15 49 if (err)
e24f17da3560781e Jan Kara 2012-06-12 50 goto out;
5955102c9984fa08 Al Viro 2016-01-22 51 inode_lock(inode);
^1da177e4c3f4152 Linus Torvalds 2005-04-16 52
^1da177e4c3f4152 Linus Torvalds 2005-04-16 53 /*
^1da177e4c3f4152 Linus Torvalds 2005-04-16 54 * ATTR_VOLUME and ATTR_DIR cannot be changed; this also
^1da177e4c3f4152 Linus Torvalds 2005-04-16 55 * prevents the user from turning us into a VFAT
^1da177e4c3f4152 Linus Torvalds 2005-04-16 56 * longname entry. Also, we obviously can't set
^1da177e4c3f4152 Linus Torvalds 2005-04-16 57 * any of the NTFS attributes in the high 24 bits.
^1da177e4c3f4152 Linus Torvalds 2005-04-16 58 */
^1da177e4c3f4152 Linus Torvalds 2005-04-16 59 attr &= 0xff & ~(ATTR_VOLUME | ATTR_DIR);
^1da177e4c3f4152 Linus Torvalds 2005-04-16 60 /* Merge in ATTR_VOLUME and ATTR_DIR */
^1da177e4c3f4152 Linus Torvalds 2005-04-16 61 attr |= (MSDOS_I(inode)->i_attrs & ATTR_VOLUME) |
^1da177e4c3f4152 Linus Torvalds 2005-04-16 62 (is_dir ? ATTR_DIR : 0);
9c0aa1b87bf541af OGAWA Hirofumi 2008-11-06 63 oldattr = fat_make_attrs(inode);
^1da177e4c3f4152 Linus Torvalds 2005-04-16 64
^1da177e4c3f4152 Linus Torvalds 2005-04-16 65 /* Equivalent to a chmod() */
^1da177e4c3f4152 Linus Torvalds 2005-04-16 66 ia.ia_valid = ATTR_MODE | ATTR_CTIME;
c2050a454c7f123d Deepa Dinamani 2016-09-14 67 ia.ia_ctime = current_time(inode);
9c0aa1b87bf541af OGAWA Hirofumi 2008-11-06 68 if (is_dir)
9c0aa1b87bf541af OGAWA Hirofumi 2008-11-06 69 ia.ia_mode = fat_make_mode(sbi, attr, S_IRWXUGO);
9c0aa1b87bf541af OGAWA Hirofumi 2008-11-06 70 else {
9c0aa1b87bf541af OGAWA Hirofumi 2008-11-06 71 ia.ia_mode = fat_make_mode(sbi, attr,
9c0aa1b87bf541af OGAWA Hirofumi 2008-11-06 72 S_IRUGO | S_IWUGO | (inode->i_mode & S_IXUGO));
^1da177e4c3f4152 Linus Torvalds 2005-04-16 73 }
^1da177e4c3f4152 Linus Torvalds 2005-04-16 74
^1da177e4c3f4152 Linus Torvalds 2005-04-16 75 /* The root directory has no attributes */
^1da177e4c3f4152 Linus Torvalds 2005-04-16 76 if (inode->i_ino == MSDOS_ROOT_INO && attr != ATTR_DIR) {
^1da177e4c3f4152 Linus Torvalds 2005-04-16 77 err = -EINVAL;
e24f17da3560781e Jan Kara 2012-06-12 78 goto out_unlock_inode;
^1da177e4c3f4152 Linus Torvalds 2005-04-16 79 }
^1da177e4c3f4152 Linus Torvalds 2005-04-16 80
21bea495943f9532 Christoph Hellwig 2009-06-08 81 if (sbi->options.sys_immutable &&
21bea495943f9532 Christoph Hellwig 2009-06-08 82 ((attr | oldattr) & ATTR_SYS) &&
21bea495943f9532 Christoph Hellwig 2009-06-08 83 !capable(CAP_LINUX_IMMUTABLE)) {
^1da177e4c3f4152 Linus Torvalds 2005-04-16 84 err = -EPERM;
e24f17da3560781e Jan Kara 2012-06-12 85 goto out_unlock_inode;
^1da177e4c3f4152 Linus Torvalds 2005-04-16 86 }
^1da177e4c3f4152 Linus Torvalds 2005-04-16 87
b1da47e29e467f1e Miklos Szeredi 2008-07-01 88 /*
b1da47e29e467f1e Miklos Szeredi 2008-07-01 89 * The security check is questionable... We single
b1da47e29e467f1e Miklos Szeredi 2008-07-01 90 * out the RO attribute for checking by the security
b1da47e29e467f1e Miklos Szeredi 2008-07-01 91 * module, just because it maps to a file mode.
b1da47e29e467f1e Miklos Szeredi 2008-07-01 92 */
21bea495943f9532 Christoph Hellwig 2009-06-08 93 err = security_inode_setattr(file->f_path.dentry, &ia);
b1da47e29e467f1e Miklos Szeredi 2008-07-01 94 if (err)
e24f17da3560781e Jan Kara 2012-06-12 95 goto out_unlock_inode;
b1da47e29e467f1e Miklos Szeredi 2008-07-01 96
^1da177e4c3f4152 Linus Torvalds 2005-04-16 97 /* This MUST be done before doing anything irreversible... */
21bea495943f9532 Christoph Hellwig 2009-06-08 98 err = fat_setattr(file->f_path.dentry, &ia);
^1da177e4c3f4152 Linus Torvalds 2005-04-16 99 if (err)
e24f17da3560781e Jan Kara 2012-06-12 100 goto out_unlock_inode;
^1da177e4c3f4152 Linus Torvalds 2005-04-16 101
21bea495943f9532 Christoph Hellwig 2009-06-08 102 fsnotify_change(file->f_path.dentry, ia.ia_valid);
^1da177e4c3f4152 Linus Torvalds 2005-04-16 103 if (sbi->options.sys_immutable) {
^1da177e4c3f4152 Linus Torvalds 2005-04-16 104 if (attr & ATTR_SYS)
^1da177e4c3f4152 Linus Torvalds 2005-04-16 105 inode->i_flags |= S_IMMUTABLE;
^1da177e4c3f4152 Linus Torvalds 2005-04-16 106 else
1adffbae22332bb5 OGAWA Hirofumi 2011-05-31 107 inode->i_flags &= ~S_IMMUTABLE;
^1da177e4c3f4152 Linus Torvalds 2005-04-16 108 }
^1da177e4c3f4152 Linus Torvalds 2005-04-16 109
9c0aa1b87bf541af OGAWA Hirofumi 2008-11-06 110 fat_save_attrs(inode, attr);
^1da177e4c3f4152 Linus Torvalds 2005-04-16 111 mark_inode_dirty(inode);
21bea495943f9532 Christoph Hellwig 2009-06-08 112 out_unlock_inode:
5955102c9984fa08 Al Viro 2016-01-22 113 inode_unlock(inode);
e24f17da3560781e Jan Kara 2012-06-12 114 mnt_drop_write_file(file);
21bea495943f9532 Christoph Hellwig 2009-06-08 115 out:
^1da177e4c3f4152 Linus Torvalds 2005-04-16 116 return err;
^1da177e4c3f4152 Linus Torvalds 2005-04-16 117 }
21bea495943f9532 Christoph Hellwig 2009-06-08 118
:::::: The code at line 44 was first introduced by commit
:::::: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 Linux-2.6.12-rc2
:::::: TO: Linus Torvalds <torvalds(a)ppc970.osdl.org>
:::::: CC: Linus Torvalds <torvalds(a)ppc970.osdl.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 8 months
Re: [PATCH] bcache: consider the fragmentation when update the writeback rate
by kernel test robot
Hi Dongdong,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on linus/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/Dongdong-Tao/bcache-consider-the...
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git e71ba9452f0b5b2e8dc8aa5445198cd9214a6a62
config: i386-randconfig-a002-20200806 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce (this is a W=1 build):
# https://github.com/0day-ci/linux/commit/7777fef68d1401235db42dd0d59c5c3db...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Dongdong-Tao/bcache-consider-the-fragmentation-when-update-the-writeback-rate/20210105-110903
git checkout 7777fef68d1401235db42dd0d59c5c3dba3d42d3
# save the attached .config to linux build tree
make 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 errors (new ones prefixed by >>):
ld: drivers/md/bcache/writeback.o: in function `__update_writeback_rate':
>> drivers/md/bcache/writeback.c:106: undefined reference to `__divdi3'
>> ld: drivers/md/bcache/writeback.c:120: undefined reference to `__divdi3'
vim +106 drivers/md/bcache/writeback.c
60
61 static void __update_writeback_rate(struct cached_dev *dc)
62 {
63 /*
64 * PI controller:
65 * Figures out the amount that should be written per second.
66 *
67 * First, the error (number of sectors that are dirty beyond our
68 * target) is calculated. The error is accumulated (numerically
69 * integrated).
70 *
71 * Then, the proportional value and integral value are scaled
72 * based on configured values. These are stored as inverses to
73 * avoid fixed point math and to make configuration easy-- e.g.
74 * the default value of 40 for writeback_rate_p_term_inverse
75 * attempts to write at a rate that would retire all the dirty
76 * blocks in 40 seconds.
77 *
78 * The writeback_rate_i_inverse value of 10000 means that 1/10000th
79 * of the error is accumulated in the integral term per second.
80 * This acts as a slow, long-term average that is not subject to
81 * variations in usage like the p term.
82 */
83 int64_t target = __calc_target_rate(dc);
84 int64_t dirty = bcache_dev_sectors_dirty(&dc->disk);
85 int64_t error = dirty - target;
86 int64_t proportional_scaled =
87 div_s64(error, dc->writeback_rate_p_term_inverse);
88 int64_t integral_scaled;
89 uint32_t new_rate;
90
91 /*
92 * We need to consider the number of dirty buckets as well
93 * when calculating the proportional_scaled, Otherwise we might
94 * have an unreasonable small writeback rate at a highly fragmented situation
95 * when very few dirty sectors consumed a lot dirty buckets, the
96 * worst case is when dirty_data reached writeback_percent and
97 * dirty buckets reached to cutoff_writeback_sync, but the rate
98 * still will be at the minimum value, which will cause the write
99 * stuck at a non-writeback mode.
100 */
101 struct cache_set *c = dc->disk.c;
102
103 int64_t dirty_buckets = c->nbuckets - c->avail_nbuckets;
104
105 if (c->gc_stats.in_use > BCH_WRITEBACK_FRAGMENT_THRESHOLD_LOW && dirty > 0) {
> 106 int64_t fragment = (dirty_buckets * c->cache->sb.bucket_size) / dirty;
107 int64_t fp_term;
108 int64_t fps;
109
110 if (c->gc_stats.in_use <= BCH_WRITEBACK_FRAGMENT_THRESHOLD_MID) {
111 fp_term = dc->writeback_rate_fp_term_low *
112 (c->gc_stats.in_use - BCH_WRITEBACK_FRAGMENT_THRESHOLD_LOW);
113 } else if (c->gc_stats.in_use <= BCH_WRITEBACK_FRAGMENT_THRESHOLD_HIGH) {
114 fp_term = dc->writeback_rate_fp_term_mid *
115 (c->gc_stats.in_use - BCH_WRITEBACK_FRAGMENT_THRESHOLD_MID);
116 } else {
117 fp_term = dc->writeback_rate_fp_term_high *
118 (c->gc_stats.in_use - BCH_WRITEBACK_FRAGMENT_THRESHOLD_HIGH);
119 }
> 120 fps = (dirty / dirty_buckets) * fp_term;
121 if (fragment > 3 && fps > proportional_scaled) {
122 //Only overrite the p when fragment > 3
123 proportional_scaled = fps;
124 }
125 }
126
127 if ((error < 0 && dc->writeback_rate_integral > 0) ||
128 (error > 0 && time_before64(local_clock(),
129 dc->writeback_rate.next + NSEC_PER_MSEC))) {
130 /*
131 * Only decrease the integral term if it's more than
132 * zero. Only increase the integral term if the device
133 * is keeping up. (Don't wind up the integral
134 * ineffectively in either case).
135 *
136 * It's necessary to scale this by
137 * writeback_rate_update_seconds to keep the integral
138 * term dimensioned properly.
139 */
140 dc->writeback_rate_integral += error *
141 dc->writeback_rate_update_seconds;
142 }
143
144 integral_scaled = div_s64(dc->writeback_rate_integral,
145 dc->writeback_rate_i_term_inverse);
146
147 new_rate = clamp_t(int32_t, (proportional_scaled + integral_scaled),
148 dc->writeback_rate_minimum, NSEC_PER_SEC);
149
150 dc->writeback_rate_proportional = proportional_scaled;
151 dc->writeback_rate_integral_scaled = integral_scaled;
152 dc->writeback_rate_change = new_rate -
153 atomic_long_read(&dc->writeback_rate.rate);
154 atomic_long_set(&dc->writeback_rate.rate, new_rate);
155 dc->writeback_rate_target = target;
156 }
157
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 8 months
hppa64-linux-ld: kernel/bpf/net_namespace.o(.ref.text+0x68): cannot reach bpf_prog_put
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 0da0a8a0a0e1845f495431c3d8d733d2bbf9e9e5
commit: b27f7bb590ba835b32ef122389db158e44cfda1e flow_dissector: Move out netns_bpf prog callbacks
date: 8 months ago
config: parisc-randconfig-r005-20210117 (attached as .config)
compiler: hppa64-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://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit...
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout b27f7bb590ba835b32ef122389db158e44cfda1e
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=parisc
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 >>):
hppa64-linux-ld: kernel/trace/trace_output.o(.text+0x34fc): cannot reach __udivdi3
hppa64-linux-ld: kernel/trace/trace_output.o(.text+0x388c): cannot reach __umoddi3
hppa64-linux-ld: kernel/trace/trace_output.o(.text+0x38a8): cannot reach __udivdi3
hppa64-linux-ld: kernel/trace/trace_output.o(.text+0x38c4): cannot reach __umoddi3
hppa64-linux-ld: kernel/trace/trace_output.o(.text+0x38e0): cannot reach __udivdi3
hppa64-linux-ld: kernel/trace/trace_output.o(.text+0x3be8): cannot reach down_read
hppa64-linux-ld: kernel/trace/trace_output.o(.text+0x3cd8): cannot reach down_write
hppa64-linux-ld: kernel/trace/trace_output.o(.text+0x4268): cannot reach down_write
hppa64-linux-ld: kernel/trace/trace_output.o(.text.exit+0x18): cannot reach __gcov_exit
hppa64-linux-ld: kernel/trace/trace_events.o(.text+0xb64): cannot reach mutex_lock
hppa64-linux-ld: kernel/trace/trace_events.o(.text+0xc98): cannot reach mutex_lock
hppa64-linux-ld: kernel/trace/trace_events.o(.text+0xda8): cannot reach mutex_lock
hppa64-linux-ld: kernel/trace/trace_events.o(.text+0xec8): cannot reach mutex_unlock
hppa64-linux-ld: kernel/trace/trace_events.o(.text+0xf30): cannot reach mutex_unlock
hppa64-linux-ld: kernel/trace/trace_events.o(.text+0x1500): cannot reach mutex_lock
hppa64-linux-ld: kernel/trace/trace_events.o(.text+0x1534): cannot reach mutex_unlock
hppa64-linux-ld: kernel/trace/trace_events.o(.text+0x15a0): cannot reach mutex_unlock
hppa64-linux-ld: kernel/trace/trace_events.o(.text+0x16ac): cannot reach mutex_lock
hppa64-linux-ld: kernel/trace/trace_events.o(.text+0x17cc): cannot reach mutex_unlock
hppa64-linux-ld: kernel/trace/trace_events.o(.text+0x1ac0): cannot reach mutex_lock
hppa64-linux-ld: kernel/trace/trace_events.o(.text+0x1b18): cannot reach mutex_unlock
hppa64-linux-ld: kernel/trace/trace_events.o(.text+0x1ba8): cannot reach mutex_unlock
hppa64-linux-ld: kernel/trace/trace_events.o(.text+0x1c64): cannot reach mutex_lock
hppa64-linux-ld: kernel/trace/trace_events.o(.text+0x1c90): cannot reach mutex_unlock
hppa64-linux-ld: kernel/trace/trace_events.o(.text+0x1cc0): cannot reach mutex_unlock
hppa64-linux-ld: kernel/trace/trace_events.o(.text+0x2648): cannot reach mutex_lock
hppa64-linux-ld: kernel/trace/trace_events.o(.text+0x2684): cannot reach mutex_unlock
hppa64-linux-ld: kernel/trace/trace_events.o(.text+0x28bc): cannot reach preempt_schedule
hppa64-linux-ld: kernel/trace/trace_events.o(.text+0x2b70): cannot reach preempt_schedule
hppa64-linux-ld: kernel/trace/trace_events.o(.text+0x2bac): cannot reach mutex_unlock
hppa64-linux-ld: kernel/trace/trace_events.o(.text+0x2e18): cannot reach preempt_schedule_notrace
hppa64-linux-ld: kernel/trace/trace_events.o(.text+0x2f90): cannot reach preempt_schedule_notrace
hppa64-linux-ld: kernel/trace/trace_events.o(.text+0x3418): cannot reach mutex_lock
hppa64-linux-ld: kernel/trace/trace_events.o(.text+0x3440): cannot reach mutex_lock
hppa64-linux-ld: kernel/trace/trace_events.o(.text+0x354c): cannot reach mutex_unlock
hppa64-linux-ld: kernel/trace/trace_events.o(.text+0x356c): cannot reach mutex_unlock
hppa64-linux-ld: kernel/trace/trace_events.o(.text+0x36b0): cannot reach mutex_unlock
hppa64-linux-ld: kernel/trace/trace_events.o(.text+0x36cc): cannot reach mutex_unlock
hppa64-linux-ld: kernel/trace/trace_events.o(.text+0x3764): cannot reach mutex_lock
hppa64-linux-ld: kernel/trace/trace_events.o(.text+0x4298): cannot reach mutex_lock
hppa64-linux-ld: kernel/trace/trace_events.o(.text+0x42d8): cannot reach mutex_unlock
hppa64-linux-ld: kernel/trace/trace_events.o(.text+0x4694): cannot reach mutex_lock
hppa64-linux-ld: kernel/trace/trace_events.o(.text+0x4734): cannot reach mutex_unlock
hppa64-linux-ld: kernel/trace/trace_events.o(.text+0x4b10): cannot reach mutex_unlock
hppa64-linux-ld: kernel/trace/trace_events.o(.text+0x6078): cannot reach mutex_lock
hppa64-linux-ld: kernel/trace/trace_events.o(.text+0x60a4): cannot reach mutex_unlock
hppa64-linux-ld: kernel/trace/trace_events.o(.text+0x60f4): cannot reach mutex_unlock
hppa64-linux-ld: kernel/trace/trace_events.o(.text+0x645c): cannot reach mutex_lock
hppa64-linux-ld: kernel/trace/trace_events.o(.text+0x64ac): cannot reach mutex_unlock
hppa64-linux-ld: kernel/trace/trace_events.o(.text+0x6734): cannot reach mutex_lock
hppa64-linux-ld: kernel/trace/trace_events.o(.text+0x679c): cannot reach mutex_unlock
hppa64-linux-ld: kernel/trace/trace_events.o(.text+0x7624): cannot reach mutex_lock
hppa64-linux-ld: kernel/trace/trace_events.o(.text+0x764c): cannot reach mutex_lock
hppa64-linux-ld: kernel/trace/trace_events.o(.text+0x77b0): cannot reach down_write
hppa64-linux-ld: kernel/trace/trace_events.o(.text+0x7880): cannot reach mutex_unlock
hppa64-linux-ld: kernel/trace/trace_events.o(.text+0x78a4): cannot reach mutex_unlock
hppa64-linux-ld: kernel/trace/trace_events.o(.text+0x8658): cannot reach down_write
hppa64-linux-ld: kernel/trace/trace_events.o(.text+0x8cb0): cannot reach mutex_lock
hppa64-linux-ld: kernel/trace/trace_events.o(.text+0x8d54): cannot reach mutex_unlock
hppa64-linux-ld: kernel/trace/trace_events.o(.text+0x8df0): cannot reach mutex_lock
hppa64-linux-ld: kernel/trace/trace_events.o(.text+0x8e18): cannot reach down_write
hppa64-linux-ld: kernel/trace/trace_events.o(.text+0x8f28): cannot reach mutex_unlock
hppa64-linux-ld: kernel/trace/trace_events.o(.text+0x92bc): cannot reach mutex_lock
hppa64-linux-ld: kernel/trace/trace_events.o(.text+0x9334): cannot reach mutex_unlock
hppa64-linux-ld: kernel/trace/trace_events.o(.text+0x9390): cannot reach mutex_unlock
hppa64-linux-ld: kernel/trace/trace_events.o(.text+0x93e4): cannot reach mutex_unlock
hppa64-linux-ld: kernel/trace/trace_events.o(.text+0x9478): cannot reach mutex_lock
hppa64-linux-ld: kernel/trace/trace_events.o(.text+0x94bc): cannot reach mutex_unlock
hppa64-linux-ld: kernel/trace/trace_events.o(.text+0x959c): cannot reach down_write
hppa64-linux-ld: kernel/trace/trace_events.o(.text+0x9758): cannot reach down_write
hppa64-linux-ld: kernel/trace/trace_events.o(.init.text+0x28c): cannot reach schedule
hppa64-linux-ld: kernel/trace/trace_events.o(.init.text+0x4a0): cannot reach preempt_schedule
hppa64-linux-ld: kernel/trace/trace_events.o(.init.text+0x544): cannot reach preempt_schedule
hppa64-linux-ld: kernel/trace/trace_events.o(.init.text+0x57c): cannot reach mutex_lock
hppa64-linux-ld: kernel/trace/trace_events.o(.init.text+0x5b8): cannot reach mutex_unlock
hppa64-linux-ld: kernel/trace/trace_events.o(.init.text+0x8c8): cannot reach preempt_schedule_notrace
hppa64-linux-ld: kernel/trace/trace_events.o(.init.text+0xb20): cannot reach preempt_schedule_notrace
hppa64-linux-ld: kernel/trace/trace_events.o(.init.text+0x16ac): cannot reach mutex_lock
hppa64-linux-ld: kernel/trace/trace_events.o(.init.text+0x1714): cannot reach down_write
hppa64-linux-ld: kernel/trace/trace_events.o(.init.text+0x17b8): cannot reach mutex_unlock
hppa64-linux-ld: kernel/trace/trace_events.o(.text.exit+0x18): cannot reach __gcov_exit
hppa64-linux-ld: kernel/bpf/core.o(.text+0x34ac): cannot reach __udivdi3
hppa64-linux-ld: kernel/bpf/core.o(.text+0x34fc): cannot reach __udivdi3
hppa64-linux-ld: kernel/bpf/core.o(.text+0x354c): cannot reach __udivdi3
hppa64-linux-ld: kernel/bpf/core.o(.text+0x35a8): cannot reach __udivdi3
hppa64-linux-ld: kernel/bpf/core.o(.text+0x35f4): cannot reach __udivdi3
hppa64-linux-ld: kernel/bpf/core.o(.text+0x3620): cannot reach __umoddi3
hppa64-linux-ld: kernel/bpf/core.o(.text+0x3660): cannot reach __umoddi3
hppa64-linux-ld: kernel/bpf/core.o(.text+0x36cc): cannot reach __udivdi3
hppa64-linux-ld: kernel/bpf/core.o(.text+0x36fc): cannot reach __umoddi3
hppa64-linux-ld: kernel/bpf/core.o(.text+0x373c): cannot reach __umoddi3
hppa64-linux-ld: kernel/bpf/core.o(.text+0x39bc): cannot reach $$mulI
hppa64-linux-ld: kernel/bpf/core.o(.text+0x39f8): cannot reach __muldi3
hppa64-linux-ld: kernel/bpf/core.o(.text+0x3a38): cannot reach $$mulI
hppa64-linux-ld: kernel/bpf/core.o(.text+0x3a7c): cannot reach __muldi3
hppa64-linux-ld: kernel/bpf/core.o(.text+0x64a0): cannot reach preempt_schedule
hppa64-linux-ld: kernel/bpf/net_namespace.o(.text+0x1e8): cannot reach mutex_lock
hppa64-linux-ld: kernel/bpf/net_namespace.o(.text+0x214): cannot reach mutex_unlock
hppa64-linux-ld: kernel/bpf/net_namespace.o(.text+0x298): cannot reach mutex_lock
hppa64-linux-ld: kernel/bpf/net_namespace.o(.text+0x2dc): cannot reach mutex_unlock
>> hppa64-linux-ld: kernel/bpf/net_namespace.o(.ref.text+0x2c): cannot reach _mcount
>> hppa64-linux-ld: kernel/bpf/net_namespace.o(.ref.text+0x68): cannot reach bpf_prog_put
>> hppa64-linux-ld: kernel/bpf/net_namespace.o(.init.text+0x38): cannot reach register_pernet_subsys
hppa64-linux-ld: mm/oom_kill.o(.text+0x97c): cannot reach preempt_schedule
hppa64-linux-ld: mm/oom_kill.o(.text+0xcf4): cannot reach preempt_schedule_notrace
hppa64-linux-ld: mm/oom_kill.o(.text+0xec0): cannot reach preempt_schedule
hppa64-linux-ld: mm/oom_kill.o(.text+0xf64): cannot reach preempt_schedule_notrace
hppa64-linux-ld: mm/oom_kill.o(.text+0x1700): cannot reach preempt_schedule
hppa64-linux-ld: mm/oom_kill.o(.text+0x2098): cannot reach preempt_schedule
hppa64-linux-ld: mm/oom_kill.o(.text+0x216c): cannot reach preempt_schedule
hppa64-linux-ld: mm/oom_kill.o(.text+0x2538): cannot reach preempt_schedule
hppa64-linux-ld: mm/oom_kill.o(.text+0x2558): cannot reach preempt_schedule
hppa64-linux-ld: mm/oom_kill.o(.text+0x2570): cannot reach __udivdi3
hppa64-linux-ld: mm/oom_kill.o(.text+0x2584): cannot reach __muldi3
hppa64-linux-ld: mm/oom_kill.o(.text+0x2c20): cannot reach schedule
hppa64-linux-ld: mm/oom_kill.o(.text+0x2ca8): cannot reach preempt_schedule
hppa64-linux-ld: mm/oom_kill.o(.text+0x2cd4): cannot reach schedule_timeout_idle
hppa64-linux-ld: mm/oom_kill.o(.text+0x2d98): cannot reach preempt_schedule_notrace
hppa64-linux-ld: mm/oom_kill.o(.text+0x2e4c): cannot reach preempt_schedule_notrace
hppa64-linux-ld: mm/oom_kill.o(.text+0x2ee4): cannot reach preempt_schedule_notrace
hppa64-linux-ld: mm/oom_kill.o(.text+0x2fa8): cannot reach preempt_schedule_notrace
hppa64-linux-ld: mm/oom_kill.o(.text+0x3310): cannot reach mutex_lock_killable
hppa64-linux-ld: mm/oom_kill.o(.text+0x3340): cannot reach mutex_unlock
hppa64-linux-ld: mm/oom_kill.o(.text+0x3410): cannot reach schedule_timeout
hppa64-linux-ld: mm/oom_kill.o(.text+0x39a0): cannot reach mutex_trylock
hppa64-linux-ld: mm/oom_kill.o(.text+0x39d4): cannot reach mutex_unlock
hppa64-linux-ld: mm/vmscan.o(.text+0x104c): cannot reach schedule_timeout
hppa64-linux-ld: mm/vmscan.o(.text+0x112c): cannot reach schedule
hppa64-linux-ld: mm/vmscan.o(.text+0x1364): cannot reach __muldi3
hppa64-linux-ld: mm/vmscan.o(.text+0x13f0): cannot reach down_write
hppa64-linux-ld: mm/vmscan.o(.text+0x14b0): cannot reach down_write
hppa64-linux-ld: mm/vmscan.o(.text+0x1638): cannot reach __udivdi3
hppa64-linux-ld: mm/vmscan.o(.text+0x174c): cannot reach preempt_schedule_notrace
hppa64-linux-ld: mm/vmscan.o(.text+0x18f8): cannot reach preempt_schedule_notrace
hppa64-linux-ld: mm/vmscan.o(.text+0x1cd8): cannot reach preempt_schedule
hppa64-linux-ld: mm/vmscan.o(.text+0x1d70): cannot reach preempt_schedule
hppa64-linux-ld: mm/vmscan.o(.text+0x1f44): cannot reach preempt_schedule
hppa64-linux-ld: mm/vmscan.o(.text+0x24f4): cannot reach preempt_schedule
hppa64-linux-ld: mm/vmscan.o(.text+0x3fc4): cannot reach preempt_schedule_notrace
hppa64-linux-ld: mm/vmscan.o(.text+0x52c0): cannot reach down_write
hppa64-linux-ld: mm/vmscan.o(.text+0x54a0): cannot reach down_write
hppa64-linux-ld: mm/vmscan.o(.text+0x629c): cannot reach preempt_schedule_notrace
hppa64-linux-ld: mm/vmscan.o(.text+0x6704): cannot reach preempt_schedule
hppa64-linux-ld: mm/vmscan.o(.text+0x6bc8): cannot reach preempt_schedule
hppa64-linux-ld: mm/vmscan.o(.text+0x6cc4): cannot reach preempt_schedule_notrace
hppa64-linux-ld: mm/vmscan.o(.text+0x7094): cannot reach preempt_schedule
hppa64-linux-ld: mm/vmscan.o(.text+0x728c): cannot reach preempt_schedule
hppa64-linux-ld: mm/vmscan.o(.text+0x740c): cannot reach preempt_schedule_notrace
hppa64-linux-ld: mm/vmscan.o(.text+0x75f4): cannot reach __muldi3
hppa64-linux-ld: mm/vmscan.o(.text+0x7614): cannot reach __udivdi3
hppa64-linux-ld: mm/vmscan.o(.text+0x7804): cannot reach __udivdi3
hppa64-linux-ld: mm/vmscan.o(.text+0x7848): cannot reach __udivdi3
hppa64-linux-ld: mm/vmscan.o(.text+0x7874): cannot reach __muldi3
hppa64-linux-ld: mm/vmscan.o(.text+0x788c): cannot reach __udivdi3
hppa64-linux-ld: mm/vmscan.o(.text+0x78b8): cannot reach __muldi3
hppa64-linux-ld: mm/vmscan.o(.text+0x78d0): cannot reach __udivdi3
hppa64-linux-ld: mm/vmscan.o(.text+0x8c00): cannot reach preempt_schedule
hppa64-linux-ld: mm/vmscan.o(.text+0x8ed0): cannot reach schedule_timeout
hppa64-linux-ld: mm/vmscan.o(.text+0x8fbc): cannot reach preempt_schedule_notrace
hppa64-linux-ld: mm/vmscan.o(.text+0x8fe0): cannot reach schedule
hppa64-linux-ld: mm/vmscan.o(.text+0x90e8): cannot reach preempt_schedule_notrace
hppa64-linux-ld: mm/vmscan.o(.text+0x95f0): cannot reach preempt_schedule
hppa64-linux-ld: mm/vmscan.o(.text+0x9ae0): cannot reach preempt_schedule_notrace
hppa64-linux-ld: mm/vmscan.o(.text+0x9b98): cannot reach preempt_schedule_notrace
hppa64-linux-ld: mm/vmscan.o(.text+0x9db4): cannot reach preempt_schedule_notrace
hppa64-linux-ld: mm/vmscan.o(.text+0x9e70): cannot reach preempt_schedule_notrace
hppa64-linux-ld: mm/vmscan.o(.text+0xa08c): cannot reach preempt_schedule_notrace
hppa64-linux-ld: mm/vmscan.o(.text+0xa194): cannot reach preempt_schedule_notrace
hppa64-linux-ld: mm/vmscan.o(.text+0xa3bc): cannot reach preempt_schedule_notrace
hppa64-linux-ld: mm/vmscan.o(.text+0xa654): cannot reach preempt_schedule
hppa64-linux-ld: mm/vmscan.o(.text+0xab30): cannot reach preempt_schedule
hppa64-linux-ld: mm/slab_common.o(.text+0xb68): cannot reach mutex_lock
hppa64-linux-ld: mm/slab_common.o(.text+0xb98): cannot reach mutex_unlock
hppa64-linux-ld: mm/slab_common.o(.text+0xd44): cannot reach mutex_lock
hppa64-linux-ld: mm/slab_common.o(.text+0xd8c): cannot reach mutex_unlock
hppa64-linux-ld: mm/slab_common.o(.text+0x125c): cannot reach preempt_schedule
hppa64-linux-ld: mm/slab_common.o(.text+0x13c4): cannot reach preempt_schedule
hppa64-linux-ld: mm/slab_common.o(.text+0x142c): cannot reach mutex_lock
hppa64-linux-ld: mm/slab_common.o(.text+0x15a8): cannot reach mutex_unlock
hppa64-linux-ld: mm/slab_common.o(.text+0x26e4): cannot reach mutex_lock
hppa64-linux-ld: mm/slab_common.o(.text+0x27bc): cannot reach mutex_unlock
hppa64-linux-ld: mm/slab_common.o(.text+0x2ce0): cannot reach mutex_lock
hppa64-linux-ld: mm/slab_common.o(.text+0x2d0c): cannot reach mutex_unlock
hppa64-linux-ld: mm/slab_common.o(.text+0x2dc8): cannot reach mutex_unlock
hppa64-linux-ld: mm/slab_common.o(.text+0x2e78): cannot reach mutex_unlock
hppa64-linux-ld: mm/slab_common.o(.text+0x2ec0): cannot reach mutex_unlock
hppa64-linux-ld: mm/slab_common.o(.text+0x32a8): cannot reach mutex_lock
hppa64-linux-ld: mm/slab_common.o(.text+0x3398): cannot reach mutex_unlock
hppa64-linux-ld: mm/slab_common.o(.text+0x344c): cannot reach mutex_lock
hppa64-linux-ld: mm/slab_common.o(.text+0x3598): cannot reach preempt_schedule
hppa64-linux-ld: mm/slab_common.o(.text+0x377c): cannot reach mutex_unlock
hppa64-linux-ld: mm/slab_common.o(.text+0x3944): cannot reach mutex_lock
hppa64-linux-ld: mm/slab_common.o(.text+0x398c): cannot reach mutex_unlock
hppa64-linux-ld: mm/slab_common.o(.text+0x3de0): cannot reach preempt_schedule_notrace
hppa64-linux-ld: mm/slab_common.o(.text+0x3f70): cannot reach $$remU
hppa64-linux-ld: mm/compaction.o(.text+0x1088): cannot reach preempt_schedule
hppa64-linux-ld: mm/compaction.o(.text+0x14c8): cannot reach preempt_schedule
hppa64-linux-ld: mm/compaction.o(.text+0x1598): cannot reach preempt_schedule_notrace
hppa64-linux-ld: mm/compaction.o(.text+0x1a98): cannot reach preempt_schedule
hppa64-linux-ld: mm/compaction.o(.text+0x2774): cannot reach preempt_schedule
hppa64-linux-ld: mm/compaction.o(.text+0x2e40): cannot reach preempt_schedule
hppa64-linux-ld: mm/compaction.o(.text+0x2f48): cannot reach preempt_schedule
hppa64-linux-ld: mm/compaction.o(.text+0x30bc): cannot reach preempt_schedule_notrace
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 8 months
arch/x86/kernel/cpu/mce/core.c:1253:2: error: 'p' undeclared; did you mean
by kernel test robot
tree: https://github.com/0day-ci/linux/commits/UPDATE-20210116-045420/Tony-Luck...
head: 12eccb268478ec9d85f923d1537aa264e45efd68
commit: 12eccb268478ec9d85f923d1537aa264e45efd68 x86/mce: Avoid infinite loop for copy from user recovery
date: 31 hours ago
config: x86_64-rhel-7.6-kselftests (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce (this is a W=1 build):
# https://github.com/0day-ci/linux/commit/12eccb268478ec9d85f923d1537aa264e...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review UPDATE-20210116-045420/Tony-Luck/x86-mce-Avoid-infinite-loop-for-copy-from-user-recovery/20210115-113535
git checkout 12eccb268478ec9d85f923d1537aa264e45efd68
# 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 >>):
arch/x86/kernel/cpu/mce/core.c: In function 'kill_me_now':
>> arch/x86/kernel/cpu/mce/core.c:1253:2: error: 'p' undeclared (first use in this function); did you mean 'up'?
1253 | p->mce_count = 0;
| ^
| up
arch/x86/kernel/cpu/mce/core.c:1253:2: note: each undeclared identifier is reported only once for each function it appears in
vim +1253 arch/x86/kernel/cpu/mce/core.c
1250
1251 static void kill_me_now(struct callback_head *ch)
1252 {
> 1253 p->mce_count = 0;
1254 force_sig(SIGBUS);
1255 }
1256
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 8 months