ERROR: "__mulsi3" undefined!
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 7c30b859a947535f2213277e827d7ac7dcff9c84
commit: 57a10d8c1123068e3cb06434fbc9634f945d3062 ptp: Add a ptp clock driver for IDT 82P33 SMU.
date: 4 months ago
config: openrisc-randconfig-c003-20200629 (attached as .config)
compiler: or1k-linux-gcc (GCC) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
ERROR: "__mulsi3" [drivers/iio/multiplexer/iio-mux.ko] undefined!
ERROR: "__mulsi3" [drivers/iio/magnetometer/st_magn.ko] undefined!
ERROR: "__mulsi3" [drivers/iio/magnetometer/bmc150_magn.ko] undefined!
ERROR: "__mulsi3" [drivers/iio/light/si1133.ko] undefined!
ERROR: "__mulsi3" [drivers/iio/light/tsl2563.ko] undefined!
ERROR: "__mulsi3" [drivers/iio/light/max44009.ko] undefined!
ERROR: "__mulsi3" [drivers/iio/light/max44000.ko] undefined!
ERROR: "__mulsi3" [drivers/iio/light/ltr501.ko] undefined!
ERROR: "__mulsi3" [drivers/iio/light/cm3232.ko] undefined!
ERROR: "__mulsi3" [drivers/iio/imu/st_lsm6dsx/st_lsm6dsx.ko] undefined!
ERROR: "__mulsi3" [drivers/iio/humidity/dht11.ko] undefined!
ERROR: "__mulsi3" [drivers/iio/common/st_sensors/st_sensors.ko] undefined!
ERROR: "__mulsi3" [drivers/iio/chemical/sps30.ko] undefined!
ERROR: "__mulsi3" [drivers/iio/chemical/bme680_core.ko] undefined!
ERROR: "__mulsi3" [drivers/iio/adc/stmpe-adc.ko] undefined!
ERROR: "__mulsi3" [drivers/iio/adc/qcom-spmi-vadc.ko] undefined!
ERROR: "__mulsi3" [drivers/iio/adc/qcom-vadc-common.ko] undefined!
ERROR: "__mulsi3" [drivers/iio/adc/palmas_gpadc.ko] undefined!
ERROR: "__mulsi3" [drivers/iio/adc/ina2xx-adc.ko] undefined!
ERROR: "__mulsi3" [drivers/iio/adc/hx711.ko] undefined!
ERROR: "__mulsi3" [drivers/iio/accel/mma9553.ko] undefined!
ERROR: "__mulsi3" [drivers/iio/accel/mma8452.ko] undefined!
ERROR: "__mulsi3" [drivers/extcon/extcon-palmas.ko] undefined!
ERROR: "__mulsi3" [drivers/staging/greybus/gb-power-supply.ko] undefined!
ERROR: "__mulsi3" [drivers/staging/greybus/gb-loopback.ko] undefined!
ERROR: "__mulsi3" [drivers/staging/comedi/drivers/das800.ko] undefined!
ERROR: "__mulsi3" [drivers/staging/comedi/drivers/das16m1.ko] undefined!
ERROR: "__mulsi3" [drivers/staging/comedi/drivers/pcl730.ko] undefined!
ERROR: "__mulsi3" [drivers/staging/comedi/drivers/pcl726.ko] undefined!
ERROR: "__mulsi3" [drivers/hid/hid-waltop.ko] undefined!
ERROR: "__mulsi3" [drivers/hid/hid-steam.ko] undefined!
ERROR: "__mulsi3" [drivers/hid/hid-picolcd.ko] undefined!
ERROR: "__mulsi3" [drivers/hid/hid-logitech-hidpp.ko] undefined!
ERROR: "__mulsi3" [drivers/crypto/inside-secure/crypto_safexcel.ko] undefined!
ERROR: "__mulsi3" [drivers/leds/leds-lm3692x.ko] undefined!
ERROR: "__mulsi3" [drivers/leds/leds-max77693.ko] undefined!
ERROR: "__mulsi3" [drivers/leds/leds-mc13783.ko] undefined!
ERROR: "__mulsi3" [drivers/leds/leds-lp8501.ko] undefined!
ERROR: "__mulsi3" [drivers/leds/leds-lp3952.ko] undefined!
ERROR: "__mulsi3" [drivers/leds/leds-lp3944.ko] undefined!
ERROR: "__mulsi3" [drivers/leds/trigger/ledtrig-activity.ko] undefined!
ERROR: "__mulsi3" [drivers/mmc/host/usdhi6rol0.ko] undefined!
ERROR: "__mulsi3" [drivers/mmc/host/mtk-sd.ko] undefined!
ERROR: "__mulsi3" [drivers/mmc/host/sdhci.ko] undefined!
ERROR: "__mulsi3" [drivers/watchdog/kempld_wdt.ko] undefined!
ERROR: "__mulsi3" [drivers/thermal/thermal-generic-adc.ko] undefined!
ERROR: "__mulsi3" [drivers/hwmon/pmbus/max31785.ko] undefined!
ERROR: "__mulsi3" [drivers/hwmon/pmbus/max20730.ko] undefined!
ERROR: "__mulsi3" [drivers/hwmon/pmbus/lm25066.ko] undefined!
ERROR: "__mulsi3" [drivers/hwmon/pmbus/ibm-cffps.ko] undefined!
ERROR: "__mulsi3" [drivers/hwmon/pmbus/bel-pfe.ko] undefined!
ERROR: "__mulsi3" [drivers/hwmon/pmbus/adm1275.ko] undefined!
ERROR: "__mulsi3" [drivers/hwmon/pmbus/pmbus_core.ko] undefined!
ERROR: "__mulsi3" [drivers/hwmon/w83627ehf.ko] undefined!
ERROR: "__mulsi3" [drivers/hwmon/tmp102.ko] undefined!
ERROR: "__mulsi3" [drivers/hwmon/smsc47m192.ko] undefined!
ERROR: "__mulsi3" [drivers/hwmon/smsc47b397.ko] undefined!
ERROR: "__mulsi3" [drivers/hwmon/sch5636.ko] undefined!
ERROR: "__mulsi3" [drivers/hwmon/sch56xx-common.ko] undefined!
ERROR: "__mulsi3" [drivers/hwmon/pwm-fan.ko] undefined!
ERROR: "__mulsi3" [drivers/hwmon/pc87427.ko] undefined!
ERROR: "__mulsi3" [drivers/hwmon/ntc_thermistor.ko] undefined!
ERROR: "__mulsi3" [drivers/hwmon/nct6775.ko] undefined!
ERROR: "__mulsi3" [drivers/hwmon/nct6683.ko] undefined!
ERROR: "__mulsi3" [drivers/hwmon/max6642.ko] undefined!
ERROR: "__mulsi3" [drivers/hwmon/max6621.ko] undefined!
ERROR: "__mulsi3" [drivers/hwmon/ltc4261.ko] undefined!
ERROR: "__mulsi3" [drivers/hwmon/ltc4222.ko] undefined!
ERROR: "__mulsi3" [drivers/hwmon/ltc4215.ko] undefined!
ERROR: "__mulsi3" [drivers/hwmon/lm93.ko] undefined!
ERROR: "__mulsi3" [drivers/hwmon/lm92.ko] undefined!
ERROR: "__mulsi3" [drivers/hwmon/lm83.ko] undefined!
ERROR: "__mulsi3" [drivers/hwmon/lm78.ko] undefined!
ERROR: "__mulsi3" [drivers/hwmon/lineage-pem.ko] undefined!
ERROR: "__mulsi3" [drivers/hwmon/it87.ko] undefined!
ERROR: "__mulsi3" [drivers/hwmon/ina3221.ko] undefined!
ERROR: "__mulsi3" [drivers/hwmon/ina2xx.ko] undefined!
ERROR: "__mulsi3" [drivers/hwmon/iio_hwmon.ko] undefined!
ERROR: "__mulsi3" [drivers/hwmon/ibmaem.ko] undefined!
ERROR: "__mulsi3" [drivers/hwmon/hih6130.ko] undefined!
ERROR: "__mulsi3" [drivers/hwmon/gpio-fan.ko] undefined!
ERROR: "__mulsi3" [drivers/hwmon/gl518sm.ko] undefined!
ERROR: "__mulsi3" [drivers/hwmon/f71882fg.ko] undefined!
ERROR: "__mulsi3" [drivers/hwmon/f71805f.ko] undefined!
ERROR: "__mulsi3" [drivers/hwmon/ds1621.ko] undefined!
ERROR: "__mulsi3" [drivers/hwmon/dme1737.ko] undefined!
ERROR: "__mulsi3" [drivers/hwmon/as370-hwmon.ko] undefined!
ERROR: "__mulsi3" [drivers/hwmon/ads7828.ko] undefined!
ERROR: "__mulsi3" [drivers/hwmon/adm9240.ko] undefined!
ERROR: "__mulsi3" [drivers/hwmon/adm1177.ko] undefined!
ERROR: "__mulsi3" [drivers/hwmon/adm1025.ko] undefined!
ERROR: "__mulsi3" [drivers/hwmon/w83791d.ko] undefined!
ERROR: "__mulsi3" [drivers/hwmon/w83792d.ko] undefined!
ERROR: "__mulsi3" [drivers/hwmon/w83627hf.ko] undefined!
ERROR: "__mulsi3" [drivers/power/supply/bd70528-charger.ko] undefined!
ERROR: "__mulsi3" [drivers/power/supply/axp288_fuel_gauge.ko] undefined!
ERROR: "__mulsi3" [drivers/power/supply/smb347-charger.ko] undefined!
ERROR: "__mulsi3" [drivers/power/supply/ltc2941-battery-gauge.ko] undefined!
ERROR: "__mulsi3" [drivers/power/supply/ds2781_battery.ko] undefined!
ERROR: "__mulsi3" [drivers/power/supply/axp20x_battery.ko] undefined!
>> ERROR: "__mulsi3" [drivers/ptp/ptp_idt82p33.ko] undefined!
ERROR: "__mulsi3" [drivers/media/radio/radio-wl1273.ko] undefined!
ERROR: "__mulsi3" [drivers/media/radio/radio-tea5764.ko] undefined!
ERROR: "__mulsi3" [drivers/media/radio/si470x/radio-si470x-common.ko] undefined!
ERROR: "__mulsi3" [drivers/media/dvb-core/dvb-core.ko] undefined!
ERROR: "__mulsi3" [drivers/media/v4l2-core/v4l2-dv-timings.ko] undefined!
ERROR: "__mulsi3" [drivers/media/v4l2-core/videodev.ko] undefined!
ERROR: "__mulsi3" [drivers/media/dvb-frontends/ascot2e.ko] undefined!
ERROR: "__mulsi3" [drivers/media/dvb-frontends/horus3a.ko] undefined!
ERROR: "__mulsi3" [drivers/media/dvb-frontends/mn88443x.ko] undefined!
ERROR: "__mulsi3" [drivers/media/dvb-frontends/tc90522.ko] undefined!
ERROR: "__mulsi3" [drivers/media/dvb-frontends/af9033.ko] undefined!
ERROR: "__mulsi3" [drivers/media/dvb-frontends/m88rs2000.ko] undefined!
ERROR: "__mulsi3" [drivers/media/dvb-frontends/rtl2832.ko] undefined!
ERROR: "__mulsi3" [drivers/media/dvb-frontends/tda10071.ko] undefined!
ERROR: "__mulsi3" [drivers/media/dvb-frontends/si2165.ko] undefined!
ERROR: "__mulsi3" [drivers/media/dvb-frontends/stv0910.ko] undefined!
ERROR: "__mulsi3" [drivers/media/dvb-frontends/cxd2841er.ko] undefined!
ERROR: "__mulsi3" [drivers/media/dvb-frontends/cxd2820r.ko] undefined!
ERROR: "__mulsi3" [drivers/media/dvb-frontends/stv0367.ko] undefined!
ERROR: "__mulsi3" [drivers/media/dvb-frontends/ix2505v.ko] undefined!
ERROR: "__mulsi3" [drivers/media/dvb-frontends/mb86a20s.ko] undefined!
ERROR: "__mulsi3" [drivers/media/dvb-frontends/mb86a16.ko] undefined!
ERROR: "__mulsi3" [drivers/media/dvb-frontends/ds3000.ko] undefined!
ERROR: "__mulsi3" [drivers/media/dvb-frontends/mn88473.ko] undefined!
ERROR: "__mulsi3" [drivers/media/dvb-frontends/m88ds3103.ko] undefined!
ERROR: "__mulsi3" [drivers/media/dvb-frontends/stv090x.ko] undefined!
ERROR: "__mulsi3" [drivers/media/dvb-frontends/stv0900.ko] undefined!
ERROR: "__mulsi3" [drivers/media/dvb-frontends/stb6000.ko] undefined!
ERROR: "__mulsi3" [drivers/media/dvb-frontends/si2168.ko] undefined!
ERROR: "__mulsi3" [drivers/media/dvb-frontends/si21xx.ko] undefined!
ERROR: "__mulsi3" [drivers/media/dvb-frontends/atbm8830.ko] undefined!
ERROR: "__mulsi3" [drivers/media/dvb-frontends/tda665x.ko] undefined!
ERROR: "__mulsi3" [drivers/media/dvb-frontends/tda10048.ko] undefined!
ERROR: "__mulsi3" [drivers/media/dvb-frontends/au8522_dig.ko] undefined!
ERROR: "__mulsi3" [drivers/media/dvb-frontends/itd1000.ko] undefined!
ERROR: "__mulsi3" [drivers/media/dvb-frontends/s5h1409.ko] undefined!
ERROR: "__mulsi3" [drivers/media/dvb-frontends/dib0090.ko] undefined!
ERROR: "__mulsi3" [drivers/media/dvb-frontends/tda8261.ko] undefined!
ERROR: "__mulsi3" [drivers/media/dvb-frontends/tda10086.ko] undefined!
ERROR: "__mulsi3" [drivers/media/dvb-frontends/cx24123.ko] undefined!
ERROR: "__mulsi3" [drivers/media/dvb-frontends/lg2160.ko] undefined!
ERROR: "__mulsi3" [drivers/media/dvb-frontends/lgdt3306a.ko] undefined!
ERROR: "__mulsi3" [drivers/media/dvb-frontends/lgdt330x.ko] undefined!
ERROR: "__mulsi3" [drivers/media/dvb-frontends/s5h1420.ko] undefined!
ERROR: "__mulsi3" [drivers/media/dvb-frontends/bcm3510.ko] undefined!
ERROR: "__mulsi3" [drivers/media/dvb-frontends/or51132.ko] undefined!
ERROR: "__mulsi3" [drivers/media/dvb-frontends/nxt200x.ko] undefined!
ERROR: "__mulsi3" [drivers/media/dvb-frontends/stv0297.ko] undefined!
ERROR: "__mulsi3" [drivers/media/dvb-frontends/tda10021.ko] undefined!
ERROR: "__mulsi3" [drivers/media/dvb-frontends/drxd.ko] undefined!
ERROR: "__mulsi3" [drivers/media/dvb-frontends/zl10039.ko] undefined!
ERROR: "__mulsi3" [drivers/media/dvb-frontends/zl10036.ko] undefined!
ERROR: "__mulsi3" [drivers/media/dvb-frontends/mt352.ko] undefined!
ERROR: "__mulsi3" [drivers/media/dvb-frontends/ves1x93.ko] undefined!
ERROR: "__mulsi3" [drivers/media/dvb-frontends/ves1820.ko] undefined!
ERROR: "__mulsi3" [drivers/media/dvb-frontends/mt312.ko] undefined!
ERROR: "__mulsi3" [drivers/media/dvb-frontends/dib9000.ko] undefined!
ERROR: "__mulsi3" [drivers/media/dvb-frontends/dib7000p.ko] undefined!
ERROR: "__mulsi3" [drivers/media/dvb-frontends/dib7000m.ko] undefined!
ERROR: "__mulsi3" [drivers/media/dvb-frontends/dib3000mc.ko] undefined!
ERROR: "__mulsi3" [drivers/media/dvb-frontends/l64781.ko] undefined!
ERROR: "__mulsi3" [drivers/media/dvb-frontends/stb0899.ko] undefined!
ERROR: "__mulsi3" [drivers/media/dvb-frontends/stv0299.ko] undefined!
ERROR: "__mulsi3" [drivers/media/dvb-frontends/dvb-pll.ko] undefined!
ERROR: "__mulsi3" [drivers/media/platform/vicodec/vicodec.ko] undefined!
ERROR: "__mulsi3" [drivers/media/platform/vim2m.ko] undefined!
ERROR: "__mulsi3" [drivers/media/platform/vimc/vimc.ko] undefined!
ERROR: "__mulsi3" [drivers/media/common/videobuf2/videobuf2-v4l2.ko] undefined!
ERROR: "__mulsi3" [drivers/media/common/v4l2-tpg/v4l2-tpg.ko] undefined!
ERROR: "__mulsi3" [drivers/media/rc/rc-core.ko] undefined!
ERROR: "__mulsi3" [drivers/media/tuners/tda18250.ko] undefined!
ERROR: "__mulsi3" [drivers/media/tuners/m88rs6000t.ko] undefined!
ERROR: "__mulsi3" [drivers/media/tuners/mxl301rf.ko] undefined!
ERROR: "__mulsi3" [drivers/media/tuners/r820t.ko] undefined!
ERROR: "__mulsi3" [drivers/media/tuners/fc0013.ko] undefined!
ERROR: "__mulsi3" [drivers/media/tuners/fc0012.ko] undefined!
ERROR: "__mulsi3" [drivers/media/tuners/tua9001.ko] undefined!
ERROR: "__mulsi3" [drivers/media/tuners/fc2580.ko] undefined!
ERROR: "__mulsi3" [drivers/media/tuners/tda18212.ko] undefined!
ERROR: "__mulsi3" [drivers/media/tuners/max2165.ko] undefined!
ERROR: "__mulsi3" [drivers/media/tuners/mc44s803.ko] undefined!
ERROR: "__mulsi3" [drivers/media/tuners/mxl5007t.ko] undefined!
ERROR: "__mulsi3" [drivers/media/tuners/mt2131.ko] undefined!
ERROR: "__mulsi3" [drivers/media/tuners/qt1010.ko] undefined!
ERROR: "__mulsi3" [drivers/media/tuners/mt2063.ko] undefined!
ERROR: "__mulsi3" [drivers/media/tuners/mt2060.ko] undefined!
ERROR: "__mulsi3" [drivers/media/tuners/xc4000.ko] undefined!
ERROR: "__mulsi3" [drivers/media/tuners/xc5000.ko] undefined!
ERROR: "__mulsi3" [drivers/media/tuners/tda18271.ko] undefined!
ERROR: "__mulsi3" [drivers/media/tuners/tda827x.ko] undefined!
ERROR: "__mulsi3" [drivers/media/tuners/tea5761.ko] undefined!
ERROR: "__mulsi3" [drivers/media/tuners/tea5767.ko] undefined!
ERROR: "__mulsi3" [drivers/media/tuners/mt20xx.ko] undefined!
ERROR: "__mulsi3" [drivers/media/tuners/tuner-simple.ko] undefined!
ERROR: "__mulsi3" [drivers/media/tuners/tuner-xc2028.ko] undefined!
ERROR: "__mulsi3" [drivers/media/i2c/st-mipid02.ko] undefined!
ERROR: "__mulsi3" [drivers/media/i2c/imx274.ko] undefined!
ERROR: "__mulsi3" [drivers/media/i2c/imx214.ko] undefined!
ERROR: "__mulsi3" [drivers/media/i2c/tc358743.ko] undefined!
ERROR: "__mulsi3" [drivers/media/i2c/video-i2c.ko] undefined!
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years
[linux-next:master 1440/4145] sound/core/pcm_memory.c:46:21: error: implicit declaration of function 'get_dma_ops'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: c28e58ee9dadc99f79cf16ca805221feddd432ad
commit: 3ad796cbc36a7bc8bfd4de191d791b9490bc112b [1440/4145] ALSA: pcm: Use SG-buffer only when direct DMA is available
config: m68k-randconfig-r004-20200629 (attached as .config)
compiler: m68k-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
git checkout 3ad796cbc36a7bc8bfd4de191d791b9490bc112b
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=m68k
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 include/linux/init.h:5,
from include/linux/io.h:10,
from sound/core/pcm_memory.c:7:
include/linux/scatterlist.h: In function 'sg_set_buf':
arch/m68k/include/asm/page_no.h:33:50: warning: ordered comparison of pointer with null pointer [-Wextra]
33 | #define virt_addr_valid(kaddr) (((void *)(kaddr) >= (void *)PAGE_OFFSET) && \
| ^~
include/linux/compiler.h:78:42: note: in definition of macro 'unlikely'
78 | # define unlikely(x) __builtin_expect(!!(x), 0)
| ^
include/linux/scatterlist.h:143:2: note: in expansion of macro 'BUG_ON'
143 | BUG_ON(!virt_addr_valid(buf));
| ^~~~~~
include/linux/scatterlist.h:143:10: note: in expansion of macro 'virt_addr_valid'
143 | BUG_ON(!virt_addr_valid(buf));
| ^~~~~~~~~~~~~~~
sound/core/pcm_memory.c: In function 'do_alloc_pages':
>> sound/core/pcm_memory.c:46:21: error: implicit declaration of function 'get_dma_ops' [-Werror=implicit-function-declaration]
46 | !dma_is_direct(get_dma_ops(dev))) {
| ^~~~~~~~~~~
sound/core/pcm_memory.c:46:21: warning: passing argument 1 of 'dma_is_direct' makes pointer from integer without a cast [-Wint-conversion]
46 | !dma_is_direct(get_dma_ops(dev))) {
| ^~~~~~~~~~~~~~~~
| |
| int
In file included from sound/core/pcm_memory.c:14:
include/linux/dma-mapping.h:191:60: note: expected 'const struct dma_map_ops *' but argument is of type 'int'
191 | static inline bool dma_is_direct(const struct dma_map_ops *ops)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
cc1: some warnings being treated as errors
vim +/get_dma_ops +46 sound/core/pcm_memory.c
34
35 static int do_alloc_pages(struct snd_card *card, int type, struct device *dev,
36 size_t size, struct snd_dma_buffer *dmab)
37 {
38 int err;
39
40 if (max_alloc_per_card &&
41 card->total_pcm_alloc_bytes + size > max_alloc_per_card)
42 return -ENOMEM;
43
44 if (IS_ENABLED(CONFIG_SND_DMA_SGBUF) &&
45 (type == SNDRV_DMA_TYPE_DEV_SG || type == SNDRV_DMA_TYPE_DEV_UC_SG) &&
> 46 !dma_is_direct(get_dma_ops(dev))) {
47 /* mutate to continuous page allocation */
48 dev_dbg(dev, "Use continuous page allocator\n");
49 if (type == SNDRV_DMA_TYPE_DEV_SG)
50 type = SNDRV_DMA_TYPE_DEV;
51 else
52 type = SNDRV_DMA_TYPE_DEV_UC;
53 }
54
55 err = snd_dma_alloc_pages(type, dev, size, dmab);
56 if (!err) {
57 mutex_lock(&card->memory_mutex);
58 card->total_pcm_alloc_bytes += dmab->bytes;
59 mutex_unlock(&card->memory_mutex);
60 }
61 return err;
62 }
63
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years
[vfs:regset.sparc 4/5] arch/sparc/kernel/ptrace_32.c:320:6: error: variable 'ret' set but not used
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git regset.sparc
head: 9a5f61635dbb139673402d2c556f7dde6c73f55c
commit: 135142ffb5b0ed417ab394cb63ddfb57da674182 [4/5] sparc32: get rid of odd callers of copy_regset_from_user()
config: sparc-defconfig (attached as .config)
compiler: sparc-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
git checkout 135142ffb5b0ed417ab394cb63ddfb57da674182
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=sparc
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/sparc/kernel/ptrace_32.c: In function 'setregs_set':
>> arch/sparc/kernel/ptrace_32.c:320:6: error: variable 'ret' set but not used [-Werror=unused-but-set-variable]
320 | int ret;
| ^~~
arch/sparc/kernel/ptrace_32.c: In function 'arch_ptrace':
>> arch/sparc/kernel/ptrace_32.c:430:33: error: variable 'view' set but not used [-Werror=unused-but-set-variable]
430 | const struct user_regset_view *view;
| ^~~~
cc1: all warnings being treated as errors
vim +/ret +320 arch/sparc/kernel/ptrace_32.c
312
313 static int setregs_set(struct task_struct *target,
314 const struct user_regset *regset,
315 unsigned int pos, unsigned int count,
316 const void *kbuf, const void __user *ubuf)
317 {
318 struct pt_regs *regs = target->thread.kregs;
319 u32 v[4];
> 320 int ret;
321
322 if (target == current)
323 flush_user_windows();
324
325 ret = user_regset_copyin(&pos, &count, &kbuf, &ubuf,
326 v,
327 0, 4 * sizeof(u32));
328 regs->psr = (regs->psr & ~(PSR_ICC | PSR_SYSCALL)) |
329 (v[0] & (PSR_ICC | PSR_SYSCALL));
330 regs->pc = v[1];
331 regs->npc = v[2];
332 regs->y = v[3];
333 return user_regset_copyin(&pos, &count, &kbuf, &ubuf,
334 regs->u_regs + 1,
335 4 * sizeof(u32) , 19 * sizeof(u32));
336 }
337
338 static int getfpregs_get(struct task_struct *target,
339 const struct user_regset *regset,
340 unsigned int pos, unsigned int count,
341 void *kbuf, void __user *ubuf)
342 {
343 const unsigned long *fpregs = target->thread.float_regs;
344 int ret = 0;
345
346 #if 0
347 if (target == current)
348 save_and_clear_fpu();
349 #endif
350
351 ret = user_regset_copyout(&pos, &count, &kbuf, &ubuf,
352 fpregs,
353 0, 32 * sizeof(u32));
354 if (ret)
355 return ret;
356 ret = user_regset_copyout(&pos, &count, &kbuf, &ubuf,
357 &target->thread.fsr,
358 32 * sizeof(u32), 33 * sizeof(u32));
359 if (ret)
360 return ret;
361 return user_regset_copyout_zero(&pos, &count, &kbuf, &ubuf,
362 33 * sizeof(u32), 68 * sizeof(u32));
363 }
364
365 static int setfpregs_set(struct task_struct *target,
366 const struct user_regset *regset,
367 unsigned int pos, unsigned int count,
368 const void *kbuf, const void __user *ubuf)
369 {
370 unsigned long *fpregs = target->thread.float_regs;
371 int ret;
372
373 #if 0
374 if (target == current)
375 save_and_clear_fpu();
376 #endif
377 ret = user_regset_copyin(&pos, &count, &kbuf, &ubuf,
378 fpregs,
379 0, 32 * sizeof(u32));
380 if (ret)
381 return ret;
382 return user_regset_copyin(&pos, &count, &kbuf, &ubuf,
383 &target->thread.fsr,
384 32 * sizeof(u32),
385 33 * sizeof(u32));
386 }
387
388 static const struct user_regset ptrace32_regsets[] = {
389 [REGSET_GENERAL] = {
390 .n = 19, .size = sizeof(u32),
391 .get = getregs_get, .set = setregs_set,
392 },
393 [REGSET_FP] = {
394 .n = 68, .size = sizeof(u32),
395 .get = getfpregs_get, .set = setfpregs_set,
396 },
397 };
398
399 static const struct user_regset_view ptrace32_view = {
400 .regsets = ptrace32_regsets, .n = ARRAY_SIZE(ptrace32_regsets)
401 };
402
403 static const struct user_regset_view user_sparc32_view = {
404 .name = "sparc", .e_machine = EM_SPARC,
405 .regsets = sparc32_regsets, .n = ARRAY_SIZE(sparc32_regsets)
406 };
407
408 const struct user_regset_view *task_user_regset_view(struct task_struct *task)
409 {
410 return &user_sparc32_view;
411 }
412
413 struct fps {
414 unsigned long regs[32];
415 unsigned long fsr;
416 unsigned long flags;
417 unsigned long extra;
418 unsigned long fpqd;
419 struct fq {
420 unsigned long *insnaddr;
421 unsigned long insn;
422 } fpq[16];
423 };
424
425 long arch_ptrace(struct task_struct *child, long request,
426 unsigned long addr, unsigned long data)
427 {
428 unsigned long addr2 = current->thread.kregs->u_regs[UREG_I4];
429 void __user *addr2p;
> 430 const struct user_regset_view *view;
431 struct pt_regs __user *pregs;
432 struct fps __user *fps;
433 int ret;
434
435 view = task_user_regset_view(current);
436 addr2p = (void __user *) addr2;
437 pregs = (struct pt_regs __user *) addr;
438 fps = (struct fps __user *) addr;
439
440 switch(request) {
441 case PTRACE_GETREGS: {
442 ret = copy_regset_to_user(child, &ptrace32_view,
443 REGSET_GENERAL, 0,
444 19 * sizeof(u32),
445 pregs);
446 break;
447 }
448
449 case PTRACE_SETREGS: {
450 ret = copy_regset_from_user(child, &ptrace32_view,
451 REGSET_GENERAL, 0,
452 19 * sizeof(u32),
453 pregs);
454 break;
455 }
456
457 case PTRACE_GETFPREGS: {
458 ret = copy_regset_to_user(child, &ptrace32_view,
459 REGSET_FP, 0,
460 68 * sizeof(u32),
461 fps);
462 break;
463 }
464
465 case PTRACE_SETFPREGS: {
466 ret = copy_regset_from_user(child, &ptrace32_view,
467 REGSET_FP, 0,
468 33 * sizeof(u32),
469 fps);
470 break;
471 }
472
473 case PTRACE_READTEXT:
474 case PTRACE_READDATA:
475 ret = ptrace_readdata(child, addr, addr2p, data);
476
477 if (ret == data)
478 ret = 0;
479 else if (ret >= 0)
480 ret = -EIO;
481 break;
482
483 case PTRACE_WRITETEXT:
484 case PTRACE_WRITEDATA:
485 ret = ptrace_writedata(child, addr2p, addr, data);
486
487 if (ret == data)
488 ret = 0;
489 else if (ret >= 0)
490 ret = -EIO;
491 break;
492
493 default:
494 if (request == PTRACE_SPARC_DETACH)
495 request = PTRACE_DETACH;
496 ret = ptrace_request(child, request, addr, data);
497 break;
498 }
499
500 return ret;
501 }
502
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years
arm-linux-gnueabi-ld: section .data VMA overlaps section .text VMA
by kernel test robot
Hi Vincenzo,
FYI, the error/warning still remains.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 7c30b859a947535f2213277e827d7ac7dcff9c84
commit: ca78eee7b4ac13b63f5e872f7c3a5ca66b2df8da xfs: Add __packed to xfs_dir2_sf_entry_t definition
date: 6 months ago
config: arm-randconfig-c022-20200629 (attached as .config)
compiler: arm-linux-gnueabi-gcc (GCC) 9.3.0
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 >>):
>> arm-linux-gnueabi-ld: section .data VMA [0000000080008000,00000000800e5eb7] overlaps section .text VMA [000000007f0801a0,00000000803c1de7]
arm-linux-gnueabi-ld: section .fixup VMA [00000000803c1de8,00000000803c1e03] overlaps section .bss VMA [000000008010a000,000000008067bb6b]
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years
[chrome-os:chromeos-4.14 9578/9999] drivers/base/cpu.c:556:16: error: no previous prototype for 'cpu_show_srbds'
by kernel test robot
Hi Guenter,
FYI, the error/warning still remains.
tree: https://chromium.googlesource.com/chromiumos/third_party/kernel chromeos-4.14
head: 01612612f9f8169c45c3e80f0e9caa40e7634ec2
commit: d05f1e1c98a8d866bbc252dc69e236890a87a122 [9578/9999] CHROMIUM: Merge 'v4.14.184' into chromeos-4.14
config: arm64-chromiumos-qualcomm-customedconfig-chrome-os:chromeos-4.14:01612612f9f8169c45c3e80f0e9caa40e7634ec2 (attached as .config)
compiler: aarch64-linux-gcc (GCC) 7.5.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
git checkout d05f1e1c98a8d866bbc252dc69e236890a87a122
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-7.5.0 make.cross ARCH=arm64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
drivers/base/cpu.c: In function '__cpu_device_create':
drivers/base/cpu.c:420:2: error: function '__cpu_device_create' might be a candidate for 'gnu_printf' format attribute [-Werror=suggest-attribute=format]
retval = kobject_set_name_vargs(&dev->kobj, fmt, args);
^~~~~~
drivers/base/cpu.c: At top level:
>> drivers/base/cpu.c:556:16: error: no previous prototype for 'cpu_show_srbds' [-Werror=missing-prototypes]
ssize_t __weak cpu_show_srbds(struct device *dev,
^~~~~~~~~~~~~~
cc1: all warnings being treated as errors
vim +/cpu_show_srbds +556 drivers/base/cpu.c
56a0f3867c1bc4 Vineela Tummalapalli 2019-11-04 555
9ecf57e4aaca71 Mark Gross 2020-04-16 @556 ssize_t __weak cpu_show_srbds(struct device *dev,
9ecf57e4aaca71 Mark Gross 2020-04-16 557 struct device_attribute *attr, char *buf)
9ecf57e4aaca71 Mark Gross 2020-04-16 558 {
9ecf57e4aaca71 Mark Gross 2020-04-16 559 return sprintf(buf, "Not affected\n");
9ecf57e4aaca71 Mark Gross 2020-04-16 560 }
9ecf57e4aaca71 Mark Gross 2020-04-16 561
:::::: The code at line 556 was first introduced by commit
:::::: 9ecf57e4aaca7197ab0f196e8a7b74d57e974ad9 x86/speculation: Add Special Register Buffer Data Sampling (SRBDS) mitigation
:::::: TO: Mark Gross <mgross(a)linux.intel.com>
:::::: CC: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years
Re: [PATCH v3] staging: wfx: Get descriptors for GPIOs
by kernel test robot
Hi Linus,
I love your patch! Yet something to improve:
[auto build test ERROR on staging/staging-testing]
url: https://github.com/0day-ci/linux/commits/Linus-Walleij/staging-wfx-Get-de...
base: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git 5bfb7eadc5874a3a08dd173d66a16a1ed0548444
config: sh-allyesconfig (attached as .config)
compiler: sh4-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
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=sh
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
drivers/staging/wfx/bus_spi.c: In function 'wfx_spi_probe':
>> drivers/staging/wfx/bus_spi.c:209:63: error: expected ')' before 'GPIOD_OUT_HIGH'
209 | bus->gpio_reset = devm_gpiod_get_optional(&func->dev, "reset"
| ^
| )
210 | GPIOD_OUT_HIGH);
| ~~~~~~~~~~~~~~
>> drivers/staging/wfx/bus_spi.c:209:20: error: too few arguments to function 'devm_gpiod_get_optional'
209 | bus->gpio_reset = devm_gpiod_get_optional(&func->dev, "reset"
| ^~~~~~~~~~~~~~~~~~~~~~~
In file included from drivers/staging/wfx/bus_spi.c:11:
include/linux/gpio/consumer.h:95:32: note: declared here
95 | struct gpio_desc *__must_check devm_gpiod_get_optional(struct device *dev,
| ^~~~~~~~~~~~~~~~~~~~~~~
vim +209 drivers/staging/wfx/bus_spi.c
179
180 static int wfx_spi_probe(struct spi_device *func)
181 {
182 struct wfx_spi_priv *bus;
183 int ret;
184
185 if (!func->bits_per_word)
186 func->bits_per_word = 16;
187 ret = spi_setup(func);
188 if (ret)
189 return ret;
190 // Trace below is also displayed by spi_setup() if compiled with DEBUG
191 dev_dbg(&func->dev, "SPI params: CS=%d, mode=%d bits/word=%d speed=%d\n",
192 func->chip_select, func->mode, func->bits_per_word,
193 func->max_speed_hz);
194 if (func->bits_per_word != 16 && func->bits_per_word != 8)
195 dev_warn(&func->dev, "unusual bits/word value: %d\n",
196 func->bits_per_word);
197 if (func->max_speed_hz > 50000000)
198 dev_warn(&func->dev, "%dHz is a very high speed\n",
199 func->max_speed_hz);
200
201 bus = devm_kzalloc(&func->dev, sizeof(*bus), GFP_KERNEL);
202 if (!bus)
203 return -ENOMEM;
204 bus->func = func;
205 if (func->bits_per_word == 8 || IS_ENABLED(CONFIG_CPU_BIG_ENDIAN))
206 bus->need_swab = true;
207 spi_set_drvdata(func, bus);
208
> 209 bus->gpio_reset = devm_gpiod_get_optional(&func->dev, "reset"
210 GPIOD_OUT_HIGH);
211 if (IS_ERR(bus->gpio_reset))
212 return PTR_ERR(bus->gpio_reset);
213 if (!bus->gpio_reset) {
214 dev_warn(&func->dev, "try to load firmware anyway\n");
215 } else {
216 gpiod_set_consumer_name(bus->gpio_reset, "wfx reset");
217 if (spi_get_device_id(func)->driver_data & WFX_RESET_INVERTED)
218 gpiod_toggle_active_low(bus->gpio_reset);
219 gpiod_set_value_cansleep(bus->gpio_reset, 1);
220 usleep_range(100, 150);
221 gpiod_set_value_cansleep(bus->gpio_reset, 0);
222 usleep_range(2000, 2500);
223 }
224
225 bus->core = wfx_init_common(&func->dev, &wfx_spi_pdata,
226 &wfx_spi_hwbus_ops, bus);
227 if (!bus->core)
228 return -EIO;
229
230 return wfx_probe(bus->core);
231 }
232
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years
[arm-perf:rwonce/read-barrier-depends 5/13] kernel/sched/fair.c:2509:13: sparse: sparse: incorrect type in assignment (different address spaces)
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/will/linux.git rwonce/read-barrier-depends
head: cb0d1eb8128c2a17eb5fa9025fe07172c2bb7445
commit: 63248ab4161ca0cb88113f636afa91bf6924007d [5/13] asm/rwonce: Remove smp_read_barrier_depends() invocation
config: x86_64-randconfig-s021-20200629 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-13) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.2-3-gfa153962-dirty
git checkout 63248ab4161ca0cb88113f636afa91bf6924007d
# save the attached .config to linux build tree
make W=1 C= CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=x86_64
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 >>)
kernel/sched/fair.c:881:34: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct sched_entity *se @@ got struct sched_entity [noderef] __rcu * @@
kernel/sched/fair.c:881:34: sparse: expected struct sched_entity *se
kernel/sched/fair.c:881:34: sparse: got struct sched_entity [noderef] __rcu *
>> kernel/sched/fair.c:2509:13: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct task_struct *tsk @@ got struct task_struct [noderef] __rcu *const volatile @@
kernel/sched/fair.c:2509:13: sparse: expected struct task_struct *tsk
>> kernel/sched/fair.c:2509:13: sparse: got struct task_struct [noderef] __rcu *const volatile
kernel/sched/fair.c:10491:9: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] sd @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/fair.c:10491:9: sparse: expected struct sched_domain *[assigned] sd
kernel/sched/fair.c:10491:9: sparse: got struct sched_domain [noderef] __rcu *parent
kernel/sched/fair.c:6562:20: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] sd @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/fair.c:6562:20: sparse: expected struct sched_domain *[assigned] sd
kernel/sched/fair.c:6562:20: sparse: got struct sched_domain [noderef] __rcu *parent
kernel/sched/fair.c:6681:9: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] tmp @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/fair.c:6681:9: sparse: expected struct sched_domain *[assigned] tmp
kernel/sched/fair.c:6681:9: sparse: got struct sched_domain [noderef] __rcu *parent
kernel/sched/fair.c:6880:38: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct task_struct *curr @@ got struct task_struct [noderef] __rcu *curr @@
kernel/sched/fair.c:6880:38: sparse: expected struct task_struct *curr
kernel/sched/fair.c:6880:38: sparse: got struct task_struct [noderef] __rcu *curr
kernel/sched/fair.c:7131:38: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct task_struct *curr @@ got struct task_struct [noderef] __rcu *curr @@
kernel/sched/fair.c:7131:38: sparse: expected struct task_struct *curr
kernel/sched/fair.c:7131:38: sparse: got struct task_struct [noderef] __rcu *curr
kernel/sched/fair.c:8089:40: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct sched_domain *child @@ got struct sched_domain [noderef] __rcu *child @@
kernel/sched/fair.c:8089:40: sparse: expected struct sched_domain *child
kernel/sched/fair.c:8089:40: sparse: got struct sched_domain [noderef] __rcu *child
kernel/sched/fair.c:8582:22: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/fair.c:8582:22: sparse: struct task_struct [noderef] __rcu *
kernel/sched/fair.c:8582:22: sparse: struct task_struct *
kernel/sched/fair.c:9819:9: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] sd @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/fair.c:9819:9: sparse: expected struct sched_domain *[assigned] sd
kernel/sched/fair.c:9819:9: sparse: got struct sched_domain [noderef] __rcu *parent
kernel/sched/fair.c:9479:44: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct sched_domain *sd_parent @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/fair.c:9479:44: sparse: expected struct sched_domain *sd_parent
kernel/sched/fair.c:9479:44: sparse: got struct sched_domain [noderef] __rcu *parent
kernel/sched/fair.c:9897:9: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] sd @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/fair.c:9897:9: sparse: expected struct sched_domain *[assigned] sd
kernel/sched/fair.c:9897:9: sparse: got struct sched_domain [noderef] __rcu *parent
kernel/sched/fair.c:10692:22: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/fair.c:10692:22: sparse: struct task_struct [noderef] __rcu *
kernel/sched/fair.c:10692:22: sparse: struct task_struct *
kernel/sched/fair.c:10825:30: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/fair.c:10825:30: sparse: struct task_struct [noderef] __rcu *
kernel/sched/fair.c:10825:30: sparse: struct task_struct *
kernel/sched/fair.c:5330:35: sparse: sparse: marked inline, but without a definition
kernel/sched/sched.h:1803:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:1803:9: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:1803:9: sparse: struct task_struct *
vim +2509 kernel/sched/fair.c
8c8a743c5087ba Peter Zijlstra 2013-10-07 2472
3e6a9418cf0563 Mel Gorman 2013-10-07 2473 static void task_numa_group(struct task_struct *p, int cpupid, int flags,
3e6a9418cf0563 Mel Gorman 2013-10-07 2474 int *priv)
8c8a743c5087ba Peter Zijlstra 2013-10-07 2475 {
8c8a743c5087ba Peter Zijlstra 2013-10-07 2476 struct numa_group *grp, *my_grp;
8c8a743c5087ba Peter Zijlstra 2013-10-07 2477 struct task_struct *tsk;
8c8a743c5087ba Peter Zijlstra 2013-10-07 2478 bool join = false;
8c8a743c5087ba Peter Zijlstra 2013-10-07 2479 int cpu = cpupid_to_cpu(cpupid);
8c8a743c5087ba Peter Zijlstra 2013-10-07 2480 int i;
8c8a743c5087ba Peter Zijlstra 2013-10-07 2481
cb361d8cdef699 Jann Horn 2019-07-16 2482 if (unlikely(!deref_curr_numa_group(p))) {
8c8a743c5087ba Peter Zijlstra 2013-10-07 2483 unsigned int size = sizeof(struct numa_group) +
50ec8a401fed6d Rik van Riel 2014-01-27 2484 4*nr_node_ids*sizeof(unsigned long);
8c8a743c5087ba Peter Zijlstra 2013-10-07 2485
8c8a743c5087ba Peter Zijlstra 2013-10-07 2486 grp = kzalloc(size, GFP_KERNEL | __GFP_NOWARN);
8c8a743c5087ba Peter Zijlstra 2013-10-07 2487 if (!grp)
8c8a743c5087ba Peter Zijlstra 2013-10-07 2488 return;
8c8a743c5087ba Peter Zijlstra 2013-10-07 2489
c45a77952427b6 Elena Reshetova 2019-01-18 2490 refcount_set(&grp->refcount, 1);
4142c3ebb685bb Rik van Riel 2016-01-25 2491 grp->active_nodes = 1;
4142c3ebb685bb Rik van Riel 2016-01-25 2492 grp->max_faults_cpu = 0;
8c8a743c5087ba Peter Zijlstra 2013-10-07 2493 spin_lock_init(&grp->lock);
e29cf08b05dc0b Mel Gorman 2013-10-07 2494 grp->gid = p->pid;
50ec8a401fed6d Rik van Riel 2014-01-27 2495 /* Second half of the array tracks nids where faults happen */
be1e4e760d940c Rik van Riel 2014-01-27 2496 grp->faults_cpu = grp->faults + NR_NUMA_HINT_FAULT_TYPES *
be1e4e760d940c Rik van Riel 2014-01-27 2497 nr_node_ids;
8c8a743c5087ba Peter Zijlstra 2013-10-07 2498
be1e4e760d940c Rik van Riel 2014-01-27 2499 for (i = 0; i < NR_NUMA_HINT_FAULT_STATS * nr_node_ids; i++)
44dba3d5d6a106 Iulia Manda 2014-10-31 2500 grp->faults[i] = p->numa_faults[i];
8c8a743c5087ba Peter Zijlstra 2013-10-07 2501
989348b5fc2367 Mel Gorman 2013-10-07 2502 grp->total_faults = p->total_numa_faults;
83e1d2cd9eabec Mel Gorman 2013-10-07 2503
8c8a743c5087ba Peter Zijlstra 2013-10-07 2504 grp->nr_tasks++;
8c8a743c5087ba Peter Zijlstra 2013-10-07 2505 rcu_assign_pointer(p->numa_group, grp);
8c8a743c5087ba Peter Zijlstra 2013-10-07 2506 }
8c8a743c5087ba Peter Zijlstra 2013-10-07 2507
8c8a743c5087ba Peter Zijlstra 2013-10-07 2508 rcu_read_lock();
316c1608d15c73 Jason Low 2015-04-28 @2509 tsk = READ_ONCE(cpu_rq(cpu)->curr);
8c8a743c5087ba Peter Zijlstra 2013-10-07 2510
8c8a743c5087ba Peter Zijlstra 2013-10-07 2511 if (!cpupid_match_pid(tsk, cpupid))
3354781a218438 Peter Zijlstra 2013-10-09 2512 goto no_join;
8c8a743c5087ba Peter Zijlstra 2013-10-07 2513
8c8a743c5087ba Peter Zijlstra 2013-10-07 2514 grp = rcu_dereference(tsk->numa_group);
8c8a743c5087ba Peter Zijlstra 2013-10-07 2515 if (!grp)
3354781a218438 Peter Zijlstra 2013-10-09 2516 goto no_join;
8c8a743c5087ba Peter Zijlstra 2013-10-07 2517
cb361d8cdef699 Jann Horn 2019-07-16 2518 my_grp = deref_curr_numa_group(p);
8c8a743c5087ba Peter Zijlstra 2013-10-07 2519 if (grp == my_grp)
3354781a218438 Peter Zijlstra 2013-10-09 2520 goto no_join;
8c8a743c5087ba Peter Zijlstra 2013-10-07 2521
8c8a743c5087ba Peter Zijlstra 2013-10-07 2522 /*
8c8a743c5087ba Peter Zijlstra 2013-10-07 2523 * Only join the other group if its bigger; if we're the bigger group,
8c8a743c5087ba Peter Zijlstra 2013-10-07 2524 * the other task will join us.
8c8a743c5087ba Peter Zijlstra 2013-10-07 2525 */
8c8a743c5087ba Peter Zijlstra 2013-10-07 2526 if (my_grp->nr_tasks > grp->nr_tasks)
3354781a218438 Peter Zijlstra 2013-10-09 2527 goto no_join;
8c8a743c5087ba Peter Zijlstra 2013-10-07 2528
8c8a743c5087ba Peter Zijlstra 2013-10-07 2529 /*
8c8a743c5087ba Peter Zijlstra 2013-10-07 2530 * Tie-break on the grp address.
8c8a743c5087ba Peter Zijlstra 2013-10-07 2531 */
8c8a743c5087ba Peter Zijlstra 2013-10-07 2532 if (my_grp->nr_tasks == grp->nr_tasks && my_grp > grp)
3354781a218438 Peter Zijlstra 2013-10-09 2533 goto no_join;
8c8a743c5087ba Peter Zijlstra 2013-10-07 2534
dabe1d992414a6 Rik van Riel 2013-10-07 2535 /* Always join threads in the same process. */
dabe1d992414a6 Rik van Riel 2013-10-07 2536 if (tsk->mm == current->mm)
dabe1d992414a6 Rik van Riel 2013-10-07 2537 join = true;
8c8a743c5087ba Peter Zijlstra 2013-10-07 2538
dabe1d992414a6 Rik van Riel 2013-10-07 2539 /* Simple filter to avoid false positives due to PID collisions */
dabe1d992414a6 Rik van Riel 2013-10-07 2540 if (flags & TNF_SHARED)
8c8a743c5087ba Peter Zijlstra 2013-10-07 2541 join = true;
8c8a743c5087ba Peter Zijlstra 2013-10-07 2542
3e6a9418cf0563 Mel Gorman 2013-10-07 2543 /* Update priv based on whether false sharing was detected */
3e6a9418cf0563 Mel Gorman 2013-10-07 2544 *priv = !join;
3e6a9418cf0563 Mel Gorman 2013-10-07 2545
dabe1d992414a6 Rik van Riel 2013-10-07 2546 if (join && !get_numa_group(grp))
3354781a218438 Peter Zijlstra 2013-10-09 2547 goto no_join;
dabe1d992414a6 Rik van Riel 2013-10-07 2548
8c8a743c5087ba Peter Zijlstra 2013-10-07 2549 rcu_read_unlock();
8c8a743c5087ba Peter Zijlstra 2013-10-07 2550
8c8a743c5087ba Peter Zijlstra 2013-10-07 2551 if (!join)
8c8a743c5087ba Peter Zijlstra 2013-10-07 2552 return;
8c8a743c5087ba Peter Zijlstra 2013-10-07 2553
60e69eed85bb7b Mike Galbraith 2014-04-07 2554 BUG_ON(irqs_disabled());
60e69eed85bb7b Mike Galbraith 2014-04-07 2555 double_lock_irq(&my_grp->lock, &grp->lock);
989348b5fc2367 Mel Gorman 2013-10-07 2556
be1e4e760d940c Rik van Riel 2014-01-27 2557 for (i = 0; i < NR_NUMA_HINT_FAULT_STATS * nr_node_ids; i++) {
44dba3d5d6a106 Iulia Manda 2014-10-31 2558 my_grp->faults[i] -= p->numa_faults[i];
44dba3d5d6a106 Iulia Manda 2014-10-31 2559 grp->faults[i] += p->numa_faults[i];
8c8a743c5087ba Peter Zijlstra 2013-10-07 2560 }
989348b5fc2367 Mel Gorman 2013-10-07 2561 my_grp->total_faults -= p->total_numa_faults;
989348b5fc2367 Mel Gorman 2013-10-07 2562 grp->total_faults += p->total_numa_faults;
8c8a743c5087ba Peter Zijlstra 2013-10-07 2563
8c8a743c5087ba Peter Zijlstra 2013-10-07 2564 my_grp->nr_tasks--;
8c8a743c5087ba Peter Zijlstra 2013-10-07 2565 grp->nr_tasks++;
8c8a743c5087ba Peter Zijlstra 2013-10-07 2566
8c8a743c5087ba Peter Zijlstra 2013-10-07 2567 spin_unlock(&my_grp->lock);
60e69eed85bb7b Mike Galbraith 2014-04-07 2568 spin_unlock_irq(&grp->lock);
8c8a743c5087ba Peter Zijlstra 2013-10-07 2569
8c8a743c5087ba Peter Zijlstra 2013-10-07 2570 rcu_assign_pointer(p->numa_group, grp);
8c8a743c5087ba Peter Zijlstra 2013-10-07 2571
8c8a743c5087ba Peter Zijlstra 2013-10-07 2572 put_numa_group(my_grp);
3354781a218438 Peter Zijlstra 2013-10-09 2573 return;
3354781a218438 Peter Zijlstra 2013-10-09 2574
3354781a218438 Peter Zijlstra 2013-10-09 2575 no_join:
3354781a218438 Peter Zijlstra 2013-10-09 2576 rcu_read_unlock();
3354781a218438 Peter Zijlstra 2013-10-09 2577 return;
8c8a743c5087ba Peter Zijlstra 2013-10-07 2578 }
8c8a743c5087ba Peter Zijlstra 2013-10-07 2579
:::::: The code at line 2509 was first introduced by commit
:::::: 316c1608d15c736439d4065ed12f306db554b3da sched, timer: Convert usages of ACCESS_ONCE() in the scheduler to READ_ONCE()/WRITE_ONCE()
:::::: TO: Jason Low <jason.low2(a)hp.com>
:::::: CC: Ingo Molnar <mingo(a)kernel.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years
ERROR: "min_low_pfn" undefined!
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 7c30b859a947535f2213277e827d7ac7dcff9c84
commit: ec4ba01e894d3165e4d1ccbef782ef5593b708b4 mtd: rawnand: Add new Cadence NAND driver to MTD subsystem
date: 9 months ago
config: microblaze-randconfig-c004-20200629 (attached as .config)
compiler: microblaze-linux-gcc (GCC) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
ERROR: "min_low_pfn" [drivers/ntb/ntb_transport.ko] undefined!
>> ERROR: "min_low_pfn" [drivers/mtd/nand/raw/cadence-nand-controller.ko] undefined!
ERROR: "min_low_pfn" [drivers/mtd/nand/raw/nand.ko] undefined!
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years
[arm-perf:rwonce/read-barrier-depends 5/13] kernel/sched/rt.c:1444:14: sparse: sparse: incorrect type in assignment (different address spaces)
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/will/linux.git rwonce/read-barrier-depends
head: cb0d1eb8128c2a17eb5fa9025fe07172c2bb7445
commit: 63248ab4161ca0cb88113f636afa91bf6924007d [5/13] asm/rwonce: Remove smp_read_barrier_depends() invocation
config: i386-randconfig-s001-20200629 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-13) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.2-3-gfa153962-dirty
git checkout 63248ab4161ca0cb88113f636afa91bf6924007d
# save the attached .config to linux build tree
make W=1 C= CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=i386
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 >>)
kernel/sched/rt.c:912:70: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/rt.c:912:70: sparse: struct task_struct [noderef] __rcu *
kernel/sched/rt.c:912:70: sparse: struct task_struct *
kernel/sched/rt.c:2183:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/rt.c:2183:25: sparse: struct task_struct *
kernel/sched/rt.c:2183:25: sparse: struct task_struct [noderef] __rcu *
kernel/sched/rt.c:998:38: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct task_struct *curr @@ got struct task_struct [noderef] __rcu *curr @@
kernel/sched/rt.c:998:38: sparse: expected struct task_struct *curr
kernel/sched/rt.c:998:38: sparse: got struct task_struct [noderef] __rcu *curr
kernel/sched/rt.c:1424:31: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected struct task_struct *p @@ got struct task_struct [noderef] __rcu *curr @@
kernel/sched/rt.c:1424:31: sparse: expected struct task_struct *p
kernel/sched/rt.c:1424:31: sparse: got struct task_struct [noderef] __rcu *curr
kernel/sched/rt.c:1741:9: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] sd @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/rt.c:1741:9: sparse: expected struct sched_domain *[assigned] sd
kernel/sched/rt.c:1741:9: sparse: got struct sched_domain [noderef] __rcu *parent
>> kernel/sched/rt.c:1444:14: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct task_struct *curr @@ got struct task_struct [noderef] __rcu *const volatile @@
kernel/sched/rt.c:1444:14: sparse: expected struct task_struct *curr
>> kernel/sched/rt.c:1444:14: sparse: got struct task_struct [noderef] __rcu *const volatile
kernel/sched/rt.c:1509:45: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected struct task_struct *p @@ got struct task_struct [noderef] __rcu *curr @@
kernel/sched/rt.c:1509:45: sparse: expected struct task_struct *p
kernel/sched/rt.c:1509:45: sparse: got struct task_struct [noderef] __rcu *curr
kernel/sched/rt.c:1570:67: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct task_struct *tsk @@ got struct task_struct [noderef] __rcu *curr @@
kernel/sched/rt.c:1570:67: sparse: expected struct task_struct *tsk
kernel/sched/rt.c:1570:67: sparse: got struct task_struct [noderef] __rcu *curr
kernel/sched/rt.c:1876:13: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/rt.c:1876:13: sparse: struct task_struct *
kernel/sched/rt.c:1876:13: sparse: struct task_struct [noderef] __rcu *
kernel/sched/rt.c:2224:54: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct task_struct *tsk @@ got struct task_struct [noderef] __rcu *curr @@
kernel/sched/rt.c:2224:54: sparse: expected struct task_struct *tsk
kernel/sched/rt.c:2224:54: sparse: got struct task_struct [noderef] __rcu *curr
kernel/sched/rt.c:2226:40: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct task_struct *p @@ got struct task_struct [noderef] __rcu *curr @@
kernel/sched/rt.c:2226:40: sparse: expected struct task_struct *p
kernel/sched/rt.c:2226:40: sparse: got struct task_struct [noderef] __rcu *curr
kernel/sched/rt.c:2226:61: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct task_struct *p @@ got struct task_struct [noderef] __rcu *curr @@
kernel/sched/rt.c:2226:61: sparse: expected struct task_struct *p
kernel/sched/rt.c:2226:61: sparse: got struct task_struct [noderef] __rcu *curr
kernel/sched/rt.c:2300:46: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/rt.c:2300:46: sparse: struct task_struct [noderef] __rcu *
kernel/sched/rt.c:2300:46: sparse: struct task_struct *
kernel/sched/rt.c:2320:22: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/rt.c:2320:22: sparse: struct task_struct [noderef] __rcu *
kernel/sched/rt.c:2320:22: sparse: struct task_struct *
kernel/sched/sched.h:1657:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:1657:25: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:1657:25: sparse: struct task_struct *
kernel/sched/sched.h:1657:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:1657:25: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:1657:25: sparse: struct task_struct *
--
kernel/sched/deadline.c:2059:13: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/deadline.c:2059:13: sparse: struct task_struct *
kernel/sched/deadline.c:2059:13: sparse: struct task_struct [noderef] __rcu *
kernel/sched/deadline.c:2186:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/deadline.c:2186:25: sparse: struct task_struct *
kernel/sched/deadline.c:2186:25: sparse: struct task_struct [noderef] __rcu *
kernel/sched/deadline.c:1721:42: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected struct sched_dl_entity *b @@ got struct sched_dl_entity [noderef] __rcu * @@
kernel/sched/deadline.c:1721:42: sparse: expected struct sched_dl_entity *b
kernel/sched/deadline.c:1721:42: sparse: got struct sched_dl_entity [noderef] __rcu *
kernel/sched/deadline.c:1732:38: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct task_struct *tsk @@ got struct task_struct [noderef] __rcu *curr @@
kernel/sched/deadline.c:1732:38: sparse: expected struct task_struct *tsk
kernel/sched/deadline.c:1732:38: sparse: got struct task_struct [noderef] __rcu *curr
kernel/sched/deadline.c:1054:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct task_struct *p @@ got struct task_struct [noderef] __rcu *curr @@
kernel/sched/deadline.c:1054:23: sparse: expected struct task_struct *p
kernel/sched/deadline.c:1054:23: sparse: got struct task_struct [noderef] __rcu *curr
kernel/sched/deadline.c:1183:38: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct task_struct *curr @@ got struct task_struct [noderef] __rcu *curr @@
kernel/sched/deadline.c:1183:38: sparse: expected struct task_struct *curr
kernel/sched/deadline.c:1183:38: sparse: got struct task_struct [noderef] __rcu *curr
kernel/sched/deadline.c:1918:9: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] sd @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/deadline.c:1918:9: sparse: expected struct sched_domain *[assigned] sd
kernel/sched/deadline.c:1918:9: sparse: got struct sched_domain [noderef] __rcu *parent
>> kernel/sched/deadline.c:1615:14: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct task_struct *curr @@ got struct task_struct [noderef] __rcu *const volatile @@
kernel/sched/deadline.c:1615:14: sparse: expected struct task_struct *curr
>> kernel/sched/deadline.c:1615:14: sparse: got struct task_struct [noderef] __rcu *const volatile
kernel/sched/deadline.c:1682:43: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected struct task_struct *p @@ got struct task_struct [noderef] __rcu *curr @@
kernel/sched/deadline.c:1682:43: sparse: expected struct task_struct *p
kernel/sched/deadline.c:1682:43: sparse: got struct task_struct [noderef] __rcu *curr
kernel/sched/deadline.c:2221:38: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct task_struct *tsk @@ got struct task_struct [noderef] __rcu *curr @@
kernel/sched/deadline.c:2221:38: sparse: expected struct task_struct *tsk
kernel/sched/deadline.c:2221:38: sparse: got struct task_struct [noderef] __rcu *curr
kernel/sched/deadline.c:2223:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct task_struct *p @@ got struct task_struct [noderef] __rcu *curr @@
kernel/sched/deadline.c:2223:23: sparse: expected struct task_struct *p
kernel/sched/deadline.c:2223:23: sparse: got struct task_struct [noderef] __rcu *curr
kernel/sched/deadline.c:2225:44: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected struct sched_dl_entity *b @@ got struct sched_dl_entity [noderef] __rcu * @@
kernel/sched/deadline.c:2225:44: sparse: expected struct sched_dl_entity *b
kernel/sched/deadline.c:2225:44: sparse: got struct sched_dl_entity [noderef] __rcu *
kernel/sched/deadline.c:2385:22: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/deadline.c:2385:22: sparse: struct task_struct [noderef] __rcu *
kernel/sched/deadline.c:2385:22: sparse: struct task_struct *
kernel/sched/deadline.c:2404:46: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/deadline.c:2404:46: sparse: struct task_struct [noderef] __rcu *
kernel/sched/deadline.c:2404:46: sparse: struct task_struct *
kernel/sched/deadline.c:592:17: sparse: sparse: context imbalance in 'dl_task_offline_migration' - unexpected unlock
kernel/sched/sched.h:1657:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:1657:25: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:1657:25: sparse: struct task_struct *
kernel/sched/sched.h:1657:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:1657:25: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:1657:25: sparse: struct task_struct *
vim +1444 kernel/sched/rt.c
318e0893ce3f52 kernel/sched_rt.c Gregory Haskins 2008-01-25 1429
0017d735092844 kernel/sched_rt.c Peter Zijlstra 2010-03-24 1430 static int
ac66f5477239eb kernel/sched/rt.c Peter Zijlstra 2013-10-07 1431 select_task_rq_rt(struct task_struct *p, int cpu, int sd_flag, int flags)
e7693a362ec84b kernel/sched_rt.c Gregory Haskins 2008-01-25 1432 {
7608dec2ce2004 kernel/sched_rt.c Peter Zijlstra 2011-04-05 1433 struct task_struct *curr;
7608dec2ce2004 kernel/sched_rt.c Peter Zijlstra 2011-04-05 1434 struct rq *rq;
804d402fb6f648 kernel/sched/rt.c Qais Yousef 2019-10-09 1435 bool test;
c37495fd0f64fc kernel/sched_rt.c Steven Rostedt 2011-06-16 1436
c37495fd0f64fc kernel/sched_rt.c Steven Rostedt 2011-06-16 1437 /* For anything but wake ups, just return the task_cpu */
c37495fd0f64fc kernel/sched_rt.c Steven Rostedt 2011-06-16 1438 if (sd_flag != SD_BALANCE_WAKE && sd_flag != SD_BALANCE_FORK)
c37495fd0f64fc kernel/sched_rt.c Steven Rostedt 2011-06-16 1439 goto out;
c37495fd0f64fc kernel/sched_rt.c Steven Rostedt 2011-06-16 1440
7608dec2ce2004 kernel/sched_rt.c Peter Zijlstra 2011-04-05 1441 rq = cpu_rq(cpu);
7608dec2ce2004 kernel/sched_rt.c Peter Zijlstra 2011-04-05 1442
7608dec2ce2004 kernel/sched_rt.c Peter Zijlstra 2011-04-05 1443 rcu_read_lock();
316c1608d15c73 kernel/sched/rt.c Jason Low 2015-04-28 @1444 curr = READ_ONCE(rq->curr); /* unlocked access */
7608dec2ce2004 kernel/sched_rt.c Peter Zijlstra 2011-04-05 1445
318e0893ce3f52 kernel/sched_rt.c Gregory Haskins 2008-01-25 1446 /*
7608dec2ce2004 kernel/sched_rt.c Peter Zijlstra 2011-04-05 1447 * If the current task on @p's runqueue is an RT task, then
e1f47d891c0f00 kernel/sched_rt.c Steven Rostedt 2008-01-25 1448 * try to see if we can wake this RT task up on another
e1f47d891c0f00 kernel/sched_rt.c Steven Rostedt 2008-01-25 1449 * runqueue. Otherwise simply start this RT task
e1f47d891c0f00 kernel/sched_rt.c Steven Rostedt 2008-01-25 1450 * on its current runqueue.
e1f47d891c0f00 kernel/sched_rt.c Steven Rostedt 2008-01-25 1451 *
43fa5460fe60de kernel/sched_rt.c Steven Rostedt 2010-09-20 1452 * We want to avoid overloading runqueues. If the woken
43fa5460fe60de kernel/sched_rt.c Steven Rostedt 2010-09-20 1453 * task is a higher priority, then it will stay on this CPU
43fa5460fe60de kernel/sched_rt.c Steven Rostedt 2010-09-20 1454 * and the lower prio task should be moved to another CPU.
43fa5460fe60de kernel/sched_rt.c Steven Rostedt 2010-09-20 1455 * Even though this will probably make the lower prio task
43fa5460fe60de kernel/sched_rt.c Steven Rostedt 2010-09-20 1456 * lose its cache, we do not want to bounce a higher task
43fa5460fe60de kernel/sched_rt.c Steven Rostedt 2010-09-20 1457 * around just because it gave up its CPU, perhaps for a
43fa5460fe60de kernel/sched_rt.c Steven Rostedt 2010-09-20 1458 * lock?
43fa5460fe60de kernel/sched_rt.c Steven Rostedt 2010-09-20 1459 *
43fa5460fe60de kernel/sched_rt.c Steven Rostedt 2010-09-20 1460 * For equal prio tasks, we just let the scheduler sort it out.
7608dec2ce2004 kernel/sched_rt.c Peter Zijlstra 2011-04-05 1461 *
7608dec2ce2004 kernel/sched_rt.c Peter Zijlstra 2011-04-05 1462 * Otherwise, just let it ride on the affined RQ and the
7608dec2ce2004 kernel/sched_rt.c Peter Zijlstra 2011-04-05 1463 * post-schedule router will push the preempted task away
7608dec2ce2004 kernel/sched_rt.c Peter Zijlstra 2011-04-05 1464 *
7608dec2ce2004 kernel/sched_rt.c Peter Zijlstra 2011-04-05 1465 * This test is optimistic, if we get it wrong the load-balancer
7608dec2ce2004 kernel/sched_rt.c Peter Zijlstra 2011-04-05 1466 * will have to sort it out.
804d402fb6f648 kernel/sched/rt.c Qais Yousef 2019-10-09 1467 *
804d402fb6f648 kernel/sched/rt.c Qais Yousef 2019-10-09 1468 * We take into account the capacity of the CPU to ensure it fits the
804d402fb6f648 kernel/sched/rt.c Qais Yousef 2019-10-09 1469 * requirement of the task - which is only important on heterogeneous
804d402fb6f648 kernel/sched/rt.c Qais Yousef 2019-10-09 1470 * systems like big.LITTLE.
318e0893ce3f52 kernel/sched_rt.c Gregory Haskins 2008-01-25 1471 */
804d402fb6f648 kernel/sched/rt.c Qais Yousef 2019-10-09 1472 test = curr &&
804d402fb6f648 kernel/sched/rt.c Qais Yousef 2019-10-09 1473 unlikely(rt_task(curr)) &&
804d402fb6f648 kernel/sched/rt.c Qais Yousef 2019-10-09 1474 (curr->nr_cpus_allowed < 2 || curr->prio <= p->prio);
804d402fb6f648 kernel/sched/rt.c Qais Yousef 2019-10-09 1475
804d402fb6f648 kernel/sched/rt.c Qais Yousef 2019-10-09 1476 if (test || !rt_task_fits_capacity(p, cpu)) {
7608dec2ce2004 kernel/sched_rt.c Peter Zijlstra 2011-04-05 1477 int target = find_lowest_rq(p);
318e0893ce3f52 kernel/sched_rt.c Gregory Haskins 2008-01-25 1478
b28bc1e002c23f kernel/sched/rt.c Qais Yousef 2020-03-02 1479 /*
b28bc1e002c23f kernel/sched/rt.c Qais Yousef 2020-03-02 1480 * Bail out if we were forcing a migration to find a better
b28bc1e002c23f kernel/sched/rt.c Qais Yousef 2020-03-02 1481 * fitting CPU but our search failed.
b28bc1e002c23f kernel/sched/rt.c Qais Yousef 2020-03-02 1482 */
b28bc1e002c23f kernel/sched/rt.c Qais Yousef 2020-03-02 1483 if (!test && target != -1 && !rt_task_fits_capacity(p, target))
b28bc1e002c23f kernel/sched/rt.c Qais Yousef 2020-03-02 1484 goto out_unlock;
b28bc1e002c23f kernel/sched/rt.c Qais Yousef 2020-03-02 1485
80e3d87b2c5582 kernel/sched/rt.c Tim Chen 2014-12-12 1486 /*
80e3d87b2c5582 kernel/sched/rt.c Tim Chen 2014-12-12 1487 * Don't bother moving it if the destination CPU is
80e3d87b2c5582 kernel/sched/rt.c Tim Chen 2014-12-12 1488 * not running a lower priority task.
80e3d87b2c5582 kernel/sched/rt.c Tim Chen 2014-12-12 1489 */
80e3d87b2c5582 kernel/sched/rt.c Tim Chen 2014-12-12 1490 if (target != -1 &&
80e3d87b2c5582 kernel/sched/rt.c Tim Chen 2014-12-12 1491 p->prio < cpu_rq(target)->rt.highest_prio.curr)
7608dec2ce2004 kernel/sched_rt.c Peter Zijlstra 2011-04-05 1492 cpu = target;
318e0893ce3f52 kernel/sched_rt.c Gregory Haskins 2008-01-25 1493 }
b28bc1e002c23f kernel/sched/rt.c Qais Yousef 2020-03-02 1494
b28bc1e002c23f kernel/sched/rt.c Qais Yousef 2020-03-02 1495 out_unlock:
7608dec2ce2004 kernel/sched_rt.c Peter Zijlstra 2011-04-05 1496 rcu_read_unlock();
318e0893ce3f52 kernel/sched_rt.c Gregory Haskins 2008-01-25 1497
c37495fd0f64fc kernel/sched_rt.c Steven Rostedt 2011-06-16 1498 out:
7608dec2ce2004 kernel/sched_rt.c Peter Zijlstra 2011-04-05 1499 return cpu;
e7693a362ec84b kernel/sched_rt.c Gregory Haskins 2008-01-25 1500 }
7ebefa8ceefed4 kernel/sched_rt.c Dmitry Adamushko 2008-07-01 1501
:::::: The code at line 1444 was first introduced by commit
:::::: 316c1608d15c736439d4065ed12f306db554b3da sched, timer: Convert usages of ACCESS_ONCE() in the scheduler to READ_ONCE()/WRITE_ONCE()
:::::: TO: Jason Low <jason.low2(a)hp.com>
:::::: CC: Ingo Molnar <mingo(a)kernel.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years
[android-common:android-4.19-stable 8873/9999] sound/soc/intel/skylake/skl-messages.c:138:1: warning: the frame size of 2056 bytes is larger than 2048 bytes
by kernel test robot
tree: https://android.googlesource.com/kernel/common android-4.19-stable
head: 4da740c10dc0f2de632686e8cc0274cfa52e67e4
commit: a74c0e4e9162d0a524325f4045c1cc9f51b279f5 [8873/9999] ANDROID: GKI: timer.h: add Android ABI padding to a structure
config: x86_64-randconfig-s021-20200629 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-13) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.2-3-gfa153962-dirty
git checkout a74c0e4e9162d0a524325f4045c1cc9f51b279f5
# save the attached .config to linux build tree
make W=1 C= CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
sound/soc/intel/skylake/skl-messages.c: In function 'skl_dsp_prepare':
>> sound/soc/intel/skylake/skl-messages.c:138:1: warning: the frame size of 2056 bytes is larger than 2048 bytes [-Wframe-larger-than=]
138 | }
| ^
vim +138 sound/soc/intel/skylake/skl-messages.c
92eb4f62cbac02 Jeeja KP 2016-03-11 107
92eb4f62cbac02 Jeeja KP 2016-03-11 108 static int skl_dsp_prepare(struct device *dev, unsigned int format,
92eb4f62cbac02 Jeeja KP 2016-03-11 109 unsigned int size, struct snd_dma_buffer *dmab)
92eb4f62cbac02 Jeeja KP 2016-03-11 110 {
76f56fae1cf904 Rakesh Ughreja 2018-06-01 111 struct hdac_bus *bus = dev_get_drvdata(dev);
92eb4f62cbac02 Jeeja KP 2016-03-11 112 struct hdac_ext_stream *estream;
92eb4f62cbac02 Jeeja KP 2016-03-11 113 struct hdac_stream *stream;
92eb4f62cbac02 Jeeja KP 2016-03-11 114 struct snd_pcm_substream substream;
92eb4f62cbac02 Jeeja KP 2016-03-11 115 int ret;
92eb4f62cbac02 Jeeja KP 2016-03-11 116
92eb4f62cbac02 Jeeja KP 2016-03-11 117 if (!bus)
92eb4f62cbac02 Jeeja KP 2016-03-11 118 return -ENODEV;
92eb4f62cbac02 Jeeja KP 2016-03-11 119
92eb4f62cbac02 Jeeja KP 2016-03-11 120 memset(&substream, 0, sizeof(substream));
92eb4f62cbac02 Jeeja KP 2016-03-11 121 substream.stream = SNDRV_PCM_STREAM_PLAYBACK;
92eb4f62cbac02 Jeeja KP 2016-03-11 122
76f56fae1cf904 Rakesh Ughreja 2018-06-01 123 estream = snd_hdac_ext_stream_assign(bus, &substream,
92eb4f62cbac02 Jeeja KP 2016-03-11 124 HDAC_EXT_STREAM_TYPE_HOST);
92eb4f62cbac02 Jeeja KP 2016-03-11 125 if (!estream)
92eb4f62cbac02 Jeeja KP 2016-03-11 126 return -ENODEV;
92eb4f62cbac02 Jeeja KP 2016-03-11 127
92eb4f62cbac02 Jeeja KP 2016-03-11 128 stream = hdac_stream(estream);
92eb4f62cbac02 Jeeja KP 2016-03-11 129
92eb4f62cbac02 Jeeja KP 2016-03-11 130 /* assign decouple host dma channel */
92eb4f62cbac02 Jeeja KP 2016-03-11 131 ret = snd_hdac_dsp_prepare(stream, format, size, dmab);
92eb4f62cbac02 Jeeja KP 2016-03-11 132 if (ret < 0)
92eb4f62cbac02 Jeeja KP 2016-03-11 133 return ret;
92eb4f62cbac02 Jeeja KP 2016-03-11 134
92eb4f62cbac02 Jeeja KP 2016-03-11 135 skl_dsp_setup_spib(dev, size, stream->stream_tag, true);
92eb4f62cbac02 Jeeja KP 2016-03-11 136
92eb4f62cbac02 Jeeja KP 2016-03-11 137 return stream->stream_tag;
92eb4f62cbac02 Jeeja KP 2016-03-11 @138 }
92eb4f62cbac02 Jeeja KP 2016-03-11 139
:::::: The code at line 138 was first introduced by commit
:::::: 92eb4f62cbac0211e43ee4a6715ee2ea43167e88 ASoC: Intel: Bxtn: Add Broxton DSP support
:::::: TO: Jeeja KP <jeeja.kp(a)intel.com>
:::::: CC: Mark Brown <broonie(a)kernel.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years