[lkundrak-linux-mmp:lr/ariel 45/50] sound/soc/codecs/88ce156-codec.c:405:5: warning: no previous prototype for function 'ce156_set_sample_rate'
by kernel test robot
tree: git://git.kernel.org/pub/scm/linux/kernel/git/lkundrak/linux-mmp.git lr/ariel
head: 4d586ea0de8af0daaef44b13621d8a48f6565be2
commit: 5af54aabd51377d10927e6478f75838bb3fc33b7 [45/50] p1
config: powerpc64-randconfig-r015-20200612 (attached as .config)
compiler: clang version 11.0.0 (https://github.com/llvm/llvm-project 3b43f006294971b8049d4807110032169780e5b8)
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 powerpc64 cross compiling tool for clang build
# apt-get install binutils-powerpc64-linux-gnu
git checkout 5af54aabd51377d10927e6478f75838bb3fc33b7
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=powerpc64
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 >>, old ones prefixed by <<):
__do_##name al; ^~~~~~~~~~~~~~
<scratch space>:89:1: note: expanded from here
__do_insw
^
arch/powerpc/include/asm/io.h:542:56: note: expanded from macro '__do_insw'
#define __do_insw(p, b, n) readsw((PCI_IO_ADDR)_IO_BASE+(p), (b), (n))
~~~~~~~~~~~~~~~~~~~~~^
In file included from sound/soc/codecs/88ce156-codec.c:20:
In file included from include/linux/spi/spi.h:14:
In file included from include/linux/scatterlist.h:9:
In file included from arch/powerpc/include/asm/io.h:604:
arch/powerpc/include/asm/io-defs.h:47:1: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
DEF_PCI_AC_NORET(insl, (unsigned long p, void *b, unsigned long c),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/powerpc/include/asm/io.h:601:3: note: expanded from macro 'DEF_PCI_AC_NORET'
__do_##name al; ^~~~~~~~~~~~~~
<scratch space>:91:1: note: expanded from here
__do_insl
^
arch/powerpc/include/asm/io.h:543:56: note: expanded from macro '__do_insl'
#define __do_insl(p, b, n) readsl((PCI_IO_ADDR)_IO_BASE+(p), (b), (n))
~~~~~~~~~~~~~~~~~~~~~^
In file included from sound/soc/codecs/88ce156-codec.c:20:
In file included from include/linux/spi/spi.h:14:
In file included from include/linux/scatterlist.h:9:
In file included from arch/powerpc/include/asm/io.h:604:
arch/powerpc/include/asm/io-defs.h:49:1: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
DEF_PCI_AC_NORET(outsb, (unsigned long p, const void *b, unsigned long c),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/powerpc/include/asm/io.h:601:3: note: expanded from macro 'DEF_PCI_AC_NORET'
__do_##name al; ^~~~~~~~~~~~~~
<scratch space>:93:1: note: expanded from here
__do_outsb
^
arch/powerpc/include/asm/io.h:544:58: note: expanded from macro '__do_outsb'
#define __do_outsb(p, b, n) writesb((PCI_IO_ADDR)_IO_BASE+(p),(b),(n))
~~~~~~~~~~~~~~~~~~~~~^
In file included from sound/soc/codecs/88ce156-codec.c:20:
In file included from include/linux/spi/spi.h:14:
In file included from include/linux/scatterlist.h:9:
In file included from arch/powerpc/include/asm/io.h:604:
arch/powerpc/include/asm/io-defs.h:51:1: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
DEF_PCI_AC_NORET(outsw, (unsigned long p, const void *b, unsigned long c),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/powerpc/include/asm/io.h:601:3: note: expanded from macro 'DEF_PCI_AC_NORET'
__do_##name al; ^~~~~~~~~~~~~~
<scratch space>:95:1: note: expanded from here
__do_outsw
^
arch/powerpc/include/asm/io.h:545:58: note: expanded from macro '__do_outsw'
#define __do_outsw(p, b, n) writesw((PCI_IO_ADDR)_IO_BASE+(p),(b),(n))
~~~~~~~~~~~~~~~~~~~~~^
In file included from sound/soc/codecs/88ce156-codec.c:20:
In file included from include/linux/spi/spi.h:14:
In file included from include/linux/scatterlist.h:9:
In file included from arch/powerpc/include/asm/io.h:604:
arch/powerpc/include/asm/io-defs.h:53:1: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
DEF_PCI_AC_NORET(outsl, (unsigned long p, const void *b, unsigned long c),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/powerpc/include/asm/io.h:601:3: note: expanded from macro 'DEF_PCI_AC_NORET'
__do_##name al; ^~~~~~~~~~~~~~
<scratch space>:97:1: note: expanded from here
__do_outsl
^
arch/powerpc/include/asm/io.h:546:58: note: expanded from macro '__do_outsl'
#define __do_outsl(p, b, n) writesl((PCI_IO_ADDR)_IO_BASE+(p),(b),(n))
~~~~~~~~~~~~~~~~~~~~~^
sound/soc/codecs/88ce156-codec.c:97:33: error: no member named 'reg_cache_default' in 'struct snd_soc_component_driver'
u8 *cache = (u8*)componentdrv->reg_cache_default;
~~~~~~~~~~~~ ^
sound/soc/codecs/88ce156-codec.c:98:37: error: no member named 'reg_cache_size' in 'struct snd_soc_component_driver'
if (reg < 0 || reg > componentdrv->reg_cache_size)
~~~~~~~~~~~~ ^
sound/soc/codecs/88ce156-codec.c:111:33: error: no member named 'control_data' in 'struct snd_soc_component'
if (i2c_master_send(component->control_data, data, 1) == 1) {
~~~~~~~~~ ^
sound/soc/codecs/88ce156-codec.c:112:30: error: no member named 'control_data' in 'struct snd_soc_component'
i2c_master_recv(component->control_data, data, 1);
~~~~~~~~~ ^
sound/soc/codecs/88ce156-codec.c:135:33: error: no member named 'reg_cache_default' in 'struct snd_soc_component_driver'
u8 *cache = (u8*)componentdrv->reg_cache_default;
~~~~~~~~~~~~ ^
sound/soc/codecs/88ce156-codec.c:136:37: error: no member named 'reg_cache_size' in 'struct snd_soc_component_driver'
if (reg < 0 || reg > componentdrv->reg_cache_size) {
~~~~~~~~~~~~ ^
sound/soc/codecs/88ce156-codec.c:272:33: error: no member named 'control_data' in 'struct snd_soc_component'
if (i2c_master_send(component->control_data, data, 2) == 2) {
~~~~~~~~~ ^
sound/soc/codecs/88ce156-codec.c:371:5: warning: no previous prototype for function 'ce156_hw_init' [-Wmissing-prototypes]
int ce156_hw_init(struct snd_soc_component *component)
^
sound/soc/codecs/88ce156-codec.c:371:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int ce156_hw_init(struct snd_soc_component *component)
^
static
>> sound/soc/codecs/88ce156-codec.c:405:5: warning: no previous prototype for function 'ce156_set_sample_rate' [-Wmissing-prototypes]
int ce156_set_sample_rate(struct snd_soc_dai *codec_dai,
^
sound/soc/codecs/88ce156-codec.c:405:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int ce156_set_sample_rate(struct snd_soc_dai *codec_dai,
^
static
sound/soc/codecs/88ce156-codec.c:923:2: error: field designator 'invert' does not refer to any field in type 'const struct snd_soc_dapm_widget'
CE156_DAPM_OUTPUT("RSYNC", ce156_rsync_event),
^
sound/soc/codecs/88ce156-codec.c:42:15: note: expanded from macro 'CE156_DAPM_OUTPUT'
.shift = 0, .invert = 0, .kcontrols = NULL, ^
sound/soc/codecs/88ce156-codec.c:1038:7: error: invalid application of 'sizeof' to an incomplete type 'const struct snd_soc_dapm_widget []'
ARRAY_SIZE(ce156_dapm_widgets));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/kernel.h:47:32: note: expanded from macro 'ARRAY_SIZE'
#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr))
^~~~~
sound/soc/codecs/88ce156-codec.c:1395:24: warning: unused variable 'ce156_priv' [-Wunused-variable]
struct ce156_private *ce156_priv = snd_soc_component_get_drvdata(component);
^
sound/soc/codecs/88ce156-codec.c:1445:13: error: incompatible function pointer types initializing 'void (*)(struct snd_soc_component *)' with an expression of type 'int (struct snd_soc_component *)' [-Werror,-Wincompatible-function-pointer-types]
.remove = ce156_remove,
^~~~~~~~~~~~
sound/soc/codecs/88ce156-codec.c:1446:13: error: incompatible function pointer types initializing 'int (*)(struct snd_soc_component *)' with an expression of type 'int (struct snd_soc_component *, pm_message_t)' (aka 'int (struct snd_soc_component *, struct pm_message)') [-Werror,-Wincompatible-function-pointer-types]
.suspend = ce156_suspend,
^~~~~~~~~~~~~
sound/soc/codecs/88ce156-codec.c:1451:3: error: field designator 'reg_cache_size' does not refer to any field in type 'struct snd_soc_component_driver'
.reg_cache_size = ARRAY_SIZE(ce156_reg),
^
sound/soc/codecs/88ce156-codec.c:1452:3: error: field designator 'reg_cache_step' does not refer to any field in type 'struct snd_soc_component_driver'
.reg_cache_step = 1,
^
sound/soc/codecs/88ce156-codec.c:1453:3: error: field designator 'reg_word_size' does not refer to any field in type 'struct snd_soc_component_driver'
.reg_word_size = sizeof(u8),
^
sound/soc/codecs/88ce156-codec.c:1454:3: error: field designator 'reg_cache_default' does not refer to any field in type 'struct snd_soc_component_driver'
.reg_cache_default = ce156_reg,
^
9 warnings and 15 errors generated.
vim +/ce156_set_sample_rate +405 sound/soc/codecs/88ce156-codec.c
f92f68a79bd0bba Lubomir Rintel 2020-05-24 403
f92f68a79bd0bba Lubomir Rintel 2020-05-24 404
f92f68a79bd0bba Lubomir Rintel 2020-05-24 @405 int ce156_set_sample_rate(struct snd_soc_dai *codec_dai,
f92f68a79bd0bba Lubomir Rintel 2020-05-24 406 int div_id, int div)
f92f68a79bd0bba Lubomir Rintel 2020-05-24 407 {
5af54aabd51377d Lubomir Rintel 2020-05-24 408 struct snd_soc_component *component = codec_dai->component;
5af54aabd51377d Lubomir Rintel 2020-05-24 409 u8 rate = ce156_read_reg_cache(component, CE156_ADC_RATE) & 0xf0;
f92f68a79bd0bba Lubomir Rintel 2020-05-24 410 switch(div_id){
f92f68a79bd0bba Lubomir Rintel 2020-05-24 411 case SAMPLE_RATE_8000:
f92f68a79bd0bba Lubomir Rintel 2020-05-24 412 rate |= 0x0;
f92f68a79bd0bba Lubomir Rintel 2020-05-24 413 break;
f92f68a79bd0bba Lubomir Rintel 2020-05-24 414 case SAMPLE_RATE_12000:
f92f68a79bd0bba Lubomir Rintel 2020-05-24 415 rate |= 0x1;
f92f68a79bd0bba Lubomir Rintel 2020-05-24 416 break;
f92f68a79bd0bba Lubomir Rintel 2020-05-24 417 case SAMPLE_RATE_16000:
f92f68a79bd0bba Lubomir Rintel 2020-05-24 418 rate |= 0x2;
f92f68a79bd0bba Lubomir Rintel 2020-05-24 419 break;
f92f68a79bd0bba Lubomir Rintel 2020-05-24 420 case SAMPLE_RATE_24000:
f92f68a79bd0bba Lubomir Rintel 2020-05-24 421 rate |= 0x3;
f92f68a79bd0bba Lubomir Rintel 2020-05-24 422 break;
f92f68a79bd0bba Lubomir Rintel 2020-05-24 423 case SAMPLE_RATE_32000:
f92f68a79bd0bba Lubomir Rintel 2020-05-24 424 rate |= 0x4;
f92f68a79bd0bba Lubomir Rintel 2020-05-24 425 break;
f92f68a79bd0bba Lubomir Rintel 2020-05-24 426 case SAMPLE_RATE_48000:
f92f68a79bd0bba Lubomir Rintel 2020-05-24 427 rate |= 0x5;
f92f68a79bd0bba Lubomir Rintel 2020-05-24 428 break;
f92f68a79bd0bba Lubomir Rintel 2020-05-24 429 case SAMPLE_RATE_96000:
f92f68a79bd0bba Lubomir Rintel 2020-05-24 430 rate |= 0x6;
f92f68a79bd0bba Lubomir Rintel 2020-05-24 431 break;
f92f68a79bd0bba Lubomir Rintel 2020-05-24 432 case SAMPLE_RATE_11025:
f92f68a79bd0bba Lubomir Rintel 2020-05-24 433 rate |= 0x7;
f92f68a79bd0bba Lubomir Rintel 2020-05-24 434 break;
f92f68a79bd0bba Lubomir Rintel 2020-05-24 435 case SAMPLE_RATE_22050:
f92f68a79bd0bba Lubomir Rintel 2020-05-24 436 rate |= 0x8;
f92f68a79bd0bba Lubomir Rintel 2020-05-24 437 break;
f92f68a79bd0bba Lubomir Rintel 2020-05-24 438 case SAMPLE_RATE_44100:
f92f68a79bd0bba Lubomir Rintel 2020-05-24 439 rate |= 0x9;
f92f68a79bd0bba Lubomir Rintel 2020-05-24 440 break;
f92f68a79bd0bba Lubomir Rintel 2020-05-24 441 case SAMPLE_RATE_88200:
f92f68a79bd0bba Lubomir Rintel 2020-05-24 442 rate |= 0xa;
f92f68a79bd0bba Lubomir Rintel 2020-05-24 443 break;
f92f68a79bd0bba Lubomir Rintel 2020-05-24 444 default:
f92f68a79bd0bba Lubomir Rintel 2020-05-24 445 printk(KERN_INFO "sample rate set failed!\n");
f92f68a79bd0bba Lubomir Rintel 2020-05-24 446 return -EINVAL;
f92f68a79bd0bba Lubomir Rintel 2020-05-24 447 }
5af54aabd51377d Lubomir Rintel 2020-05-24 448 ce156_write(component, CE156_ADC_RATE, rate);
f92f68a79bd0bba Lubomir Rintel 2020-05-24 449 return 0;
f92f68a79bd0bba Lubomir Rintel 2020-05-24 450 }
f92f68a79bd0bba Lubomir Rintel 2020-05-24 451 EXPORT_SYMBOL_GPL(ce156_set_sample_rate);
f92f68a79bd0bba Lubomir Rintel 2020-05-24 452
:::::: The code at line 405 was first introduced by commit
:::::: f92f68a79bd0bba6baf56c272cc22f9a4a030032 XXX 88CE156
:::::: TO: Lubomir Rintel <lkundrak(a)v3.sk>
:::::: CC: Lubomir Rintel <lkundrak(a)v3.sk>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 3 months
drivers/net/can/kvaser_pciefd.c:801:17: sparse: sparse: cast removes address space '<asn:2>' of expression
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: b791d1bdf9212d944d749a5c7ff6febdba241771
commit: 26ad340e582d3d5958ed8456a1911d79cfb567b4 can: kvaser_pciefd: Add driver for Kvaser PCIEcan devices
date: 11 months ago
config: m68k-randconfig-s032-20200612 (attached as .config)
compiler: m68k-linux-gcc (GCC) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.1-250-g42323db3-dirty
git checkout 26ad340e582d3d5958ed8456a1911d79cfb567b4
# save the attached .config to linux build tree
make W=1 C=1 ARCH=m68k CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'
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 >>)
>> drivers/net/can/kvaser_pciefd.c:801:17: sparse: sparse: cast removes address space '<asn:2>' of expression
drivers/net/can/kvaser_pciefd.c:805:17: sparse: sparse: cast removes address space '<asn:2>' of expression
arch/m68k/include/asm/io_no.h:77:24: sparse: sparse: cast removes address space '<asn:2>' of expression
arch/m68k/include/asm/io_no.h:78:16: sparse: sparse: cast removes address space '<asn:2>' of expression
arch/m68k/include/asm/io_no.h:78:16: sparse: sparse: cast to restricted __le32
arch/m68k/include/asm/io_no.h:78:16: sparse: sparse: cast removes address space '<asn:2>' of expression
arch/m68k/include/asm/io_no.h:78:16: sparse: sparse: cast to restricted __le32
arch/m68k/include/asm/io_no.h:78:16: sparse: sparse: cast removes address space '<asn:2>' of expression
arch/m68k/include/asm/io_no.h:78:16: sparse: sparse: cast to restricted __le32
arch/m68k/include/asm/io_no.h:78:16: sparse: sparse: cast removes address space '<asn:2>' of expression
arch/m68k/include/asm/io_no.h:78:16: sparse: sparse: cast to restricted __le32
arch/m68k/include/asm/io_no.h:78:16: sparse: sparse: cast removes address space '<asn:2>' of expression
arch/m68k/include/asm/io_no.h:78:16: sparse: sparse: cast to restricted __le32
arch/m68k/include/asm/io_no.h:78:16: sparse: sparse: cast removes address space '<asn:2>' of expression
arch/m68k/include/asm/io_no.h:78:16: sparse: sparse: cast to restricted __le32
arch/m68k/include/asm/io_no.h:77:24: sparse: sparse: cast removes address space '<asn:2>' of expression
arch/m68k/include/asm/io_no.h:78:16: sparse: sparse: cast removes address space '<asn:2>' of expression
arch/m68k/include/asm/io_no.h:78:16: sparse: sparse: cast to restricted __le32
arch/m68k/include/asm/io_no.h:78:16: sparse: sparse: cast removes address space '<asn:2>' of expression
arch/m68k/include/asm/io_no.h:78:16: sparse: sparse: cast to restricted __le32
arch/m68k/include/asm/io_no.h:78:16: sparse: sparse: cast removes address space '<asn:2>' of expression
arch/m68k/include/asm/io_no.h:78:16: sparse: sparse: cast to restricted __le32
arch/m68k/include/asm/io_no.h:78:16: sparse: sparse: cast removes address space '<asn:2>' of expression
arch/m68k/include/asm/io_no.h:78:16: sparse: sparse: cast to restricted __le32
arch/m68k/include/asm/io_no.h:78:16: sparse: sparse: cast removes address space '<asn:2>' of expression
arch/m68k/include/asm/io_no.h:78:16: sparse: sparse: cast to restricted __le32
arch/m68k/include/asm/io_no.h:78:16: sparse: sparse: cast removes address space '<asn:2>' of expression
arch/m68k/include/asm/io_no.h:78:16: sparse: sparse: cast to restricted __le32
arch/m68k/include/asm/io_no.h:77:24: sparse: sparse: cast removes address space '<asn:2>' of expression
arch/m68k/include/asm/io_no.h:78:16: sparse: sparse: cast removes address space '<asn:2>' of expression
arch/m68k/include/asm/io_no.h:78:16: sparse: sparse: cast to restricted __le32
arch/m68k/include/asm/io_no.h:78:16: sparse: sparse: cast removes address space '<asn:2>' of expression
arch/m68k/include/asm/io_no.h:78:16: sparse: sparse: cast to restricted __le32
arch/m68k/include/asm/io_no.h:78:16: sparse: sparse: cast removes address space '<asn:2>' of expression
arch/m68k/include/asm/io_no.h:78:16: sparse: sparse: cast to restricted __le32
arch/m68k/include/asm/io_no.h:78:16: sparse: sparse: cast removes address space '<asn:2>' of expression
arch/m68k/include/asm/io_no.h:78:16: sparse: sparse: cast to restricted __le32
arch/m68k/include/asm/io_no.h:78:16: sparse: sparse: cast removes address space '<asn:2>' of expression
arch/m68k/include/asm/io_no.h:78:16: sparse: sparse: cast to restricted __le32
arch/m68k/include/asm/io_no.h:78:16: sparse: sparse: cast removes address space '<asn:2>' of expression
arch/m68k/include/asm/io_no.h:78:16: sparse: sparse: cast to restricted __le32
arch/m68k/include/asm/io_no.h:77:24: sparse: sparse: cast removes address space '<asn:2>' of expression
arch/m68k/include/asm/io_no.h:78:16: sparse: sparse: cast removes address space '<asn:2>' of expression
arch/m68k/include/asm/io_no.h:78:16: sparse: sparse: cast to restricted __le32
arch/m68k/include/asm/io_no.h:78:16: sparse: sparse: cast removes address space '<asn:2>' of expression
arch/m68k/include/asm/io_no.h:78:16: sparse: sparse: cast to restricted __le32
arch/m68k/include/asm/io_no.h:78:16: sparse: sparse: cast removes address space '<asn:2>' of expression
arch/m68k/include/asm/io_no.h:78:16: sparse: sparse: cast to restricted __le32
arch/m68k/include/asm/io_no.h:78:16: sparse: sparse: cast removes address space '<asn:2>' of expression
arch/m68k/include/asm/io_no.h:78:16: sparse: sparse: cast to restricted __le32
arch/m68k/include/asm/io_no.h:78:16: sparse: sparse: cast removes address space '<asn:2>' of expression
arch/m68k/include/asm/io_no.h:78:16: sparse: sparse: cast to restricted __le32
arch/m68k/include/asm/io_no.h:78:16: sparse: sparse: cast removes address space '<asn:2>' of expression
arch/m68k/include/asm/io_no.h:78:16: sparse: sparse: cast to restricted __le32
vim +801 drivers/net/can/kvaser_pciefd.c
764
765 static netdev_tx_t kvaser_pciefd_start_xmit(struct sk_buff *skb,
766 struct net_device *netdev)
767 {
768 struct kvaser_pciefd_can *can = netdev_priv(netdev);
769 unsigned long irq_flags;
770 struct kvaser_pciefd_tx_packet packet;
771 int nwords;
772 u8 count;
773
774 if (can_dropped_invalid_skb(netdev, skb))
775 return NETDEV_TX_OK;
776
777 nwords = kvaser_pciefd_prepare_tx_packet(&packet, can, skb);
778
779 spin_lock_irqsave(&can->echo_lock, irq_flags);
780
781 /* Prepare and save echo skb in internal slot */
782 can_put_echo_skb(skb, netdev, can->echo_idx);
783
784 /* Move echo index to the next slot */
785 can->echo_idx = (can->echo_idx + 1) % can->can.echo_skb_max;
786
787 /* Write header to fifo */
788 iowrite32(packet.header[0],
789 can->reg_base + KVASER_PCIEFD_KCAN_FIFO_REG);
790 iowrite32(packet.header[1],
791 can->reg_base + KVASER_PCIEFD_KCAN_FIFO_REG);
792
793 if (nwords) {
794 u32 data_last = ((u32 *)packet.data)[nwords - 1];
795
796 /* Write data to fifo, except last word */
797 iowrite32_rep(can->reg_base +
798 KVASER_PCIEFD_KCAN_FIFO_REG, packet.data,
799 nwords - 1);
800 /* Write last word to end of fifo */
> 801 __raw_writel(data_last, can->reg_base +
802 KVASER_PCIEFD_KCAN_FIFO_LAST_REG);
803 } else {
804 /* Complete write to fifo */
805 __raw_writel(0, can->reg_base +
806 KVASER_PCIEFD_KCAN_FIFO_LAST_REG);
807 }
808
809 count = ioread32(can->reg_base + KVASER_PCIEFD_KCAN_TX_NPACKETS_REG);
810 /* No room for a new message, stop the queue until at least one
811 * successful transmit
812 */
813 if (count >= KVASER_PCIEFD_CAN_TX_MAX_COUNT ||
814 can->can.echo_skb[can->echo_idx])
815 netif_stop_queue(netdev);
816
817 spin_unlock_irqrestore(&can->echo_lock, irq_flags);
818
819 return NETDEV_TX_OK;
820 }
821
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 3 months
[linux-review:Geliang-Tang/mptcp-unify-MPTCP_PM_MAX_ADDR-and-MPTCP_PM_ADDR_MAX/20200612-133047 8/15] net/mptcp/token_test.c:68:29: sparse: sparse: incorrect type in assignment (different address spaces)
by kernel test robot
tree: https://github.com/0day-ci/linux/commits/Geliang-Tang/mptcp-unify-MPTCP_P...
head: 3f09f774b312ce644f099fbd6c937a55557282de
commit: c02de26a91832f767c707764154cbce3ad8dd459 [8/15] mptcp: introduce token KUNIT self-tests
config: c6x-randconfig-s031-20200612 (attached as .config)
compiler: c6x-elf-gcc (GCC) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.1-250-g42323db3-dirty
git checkout c02de26a91832f767c707764154cbce3ad8dd459
# save the attached .config to linux build tree
make W=1 C=1 ARCH=c6x CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'
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 >>)
>> net/mptcp/token_test.c:68:29: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void [noderef] <asn:4> *icsk_ulp_data @@ got struct mptcp_subflow_context *ctx @@
>> net/mptcp/token_test.c:68:29: sparse: expected void [noderef] <asn:4> *icsk_ulp_data
>> net/mptcp/token_test.c:68:29: sparse: got struct mptcp_subflow_context *ctx
vim +68 net/mptcp/token_test.c
59
60 static void mptcp_token_test_msk_basic(struct kunit *test)
61 {
62 struct inet_connection_sock *icsk = build_icsk(test);
63 struct mptcp_subflow_context *ctx = build_ctx(test);
64 struct mptcp_sock *msk = build_msk(test);
65 struct mptcp_sock *null_msk = NULL;
66 struct sock *sk;
67
> 68 icsk->icsk_ulp_data = ctx;
69 ctx->conn = (struct sock*)msk;
70 sk = (struct sock*)msk;
71
72 KUNIT_ASSERT_EQ(test, 0,
73 mptcp_token_new_connect((struct sock *)icsk));
74 KUNIT_EXPECT_NE(test, 0, (int)ctx->token);
75 KUNIT_EXPECT_EQ(test, ctx->token, msk->token);
76 KUNIT_EXPECT_PTR_EQ(test, msk, mptcp_token_get_sock(ctx->token));
77 KUNIT_EXPECT_EQ(test, 2, (int)refcount_read(&sk->sk_refcnt));
78
79 mptcp_token_destroy(msk);
80 KUNIT_EXPECT_PTR_EQ(test, null_msk, mptcp_token_get_sock(ctx->token));
81 }
82
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 3 months
drivers/video/fbdev/controlfb.c:326:23: error: implicit declaration of function 'pgprot_noncached'
by kernel test robot
Hi Bartlomiej,
FYI, the error/warning still remains.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: b791d1bdf9212d944d749a5c7ff6febdba241771
commit: a07a63b0e24dd1316d11427601a9f83dc955bb40 video: fbdev: controlfb: add COMPILE_TEST support
date: 8 weeks ago
config: m68k-randconfig-r025-20200612 (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 a07a63b0e24dd1316d11427601a9f83dc955bb40
# 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 >>, old ones prefixed by <<):
drivers/video/fbdev/controlfb.c: In function 'controlfb_mmap':
>> drivers/video/fbdev/controlfb.c:326:23: error: implicit declaration of function 'pgprot_noncached' [-Werror=implicit-function-declaration]
326 | vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot);
| ^~~~~~~~~~~~~~~~
drivers/video/fbdev/controlfb.c:326:23: error: incompatible types when assigning to type 'pgprot_t' {aka 'struct <anonymous>'} from type 'int'
drivers/video/fbdev/controlfb.c: In function 'controlfb_setcolreg':
drivers/video/fbdev/controlfb.c:373:13: warning: variable 'b' set but not used [-Wunused-but-set-variable]
373 | __u8 r, g, b;
| ^
drivers/video/fbdev/controlfb.c:373:10: warning: variable 'g' set but not used [-Wunused-but-set-variable]
373 | __u8 r, g, b;
| ^
drivers/video/fbdev/controlfb.c:373:7: warning: variable 'r' set but not used [-Wunused-but-set-variable]
373 | __u8 r, g, b;
| ^
drivers/video/fbdev/controlfb.c: In function 'control_set_hardware':
drivers/video/fbdev/controlfb.c:505:11: warning: variable 'cmode' set but not used [-Wunused-but-set-variable]
505 | int i, cmode;
| ^~~~~
cc1: some warnings being treated as errors
vim +/pgprot_noncached +326 drivers/video/fbdev/controlfb.c
^1da177e4c3f41 drivers/video/controlfb.c Linus Torvalds 2005-04-16 303
^1da177e4c3f41 drivers/video/controlfb.c Linus Torvalds 2005-04-16 304
^1da177e4c3f41 drivers/video/controlfb.c Linus Torvalds 2005-04-16 305 /*
^1da177e4c3f41 drivers/video/controlfb.c Linus Torvalds 2005-04-16 306 * Private mmap since we want to have a different caching on the framebuffer
^1da177e4c3f41 drivers/video/controlfb.c Linus Torvalds 2005-04-16 307 * for controlfb.
^1da177e4c3f41 drivers/video/controlfb.c Linus Torvalds 2005-04-16 308 * Note there's no locking in here; it's done in fb_mmap() in fbmem.c.
^1da177e4c3f41 drivers/video/controlfb.c Linus Torvalds 2005-04-16 309 */
216d526c89d144 drivers/video/controlfb.c Christoph Hellwig 2006-01-14 310 static int controlfb_mmap(struct fb_info *info,
^1da177e4c3f41 drivers/video/controlfb.c Linus Torvalds 2005-04-16 311 struct vm_area_struct *vma)
^1da177e4c3f41 drivers/video/controlfb.c Linus Torvalds 2005-04-16 312 {
47f698a9f2fc49 drivers/video/controlfb.c Tomi Valkeinen 2013-04-17 313 unsigned long mmio_pgoff;
47f698a9f2fc49 drivers/video/controlfb.c Tomi Valkeinen 2013-04-17 314 unsigned long start;
^1da177e4c3f41 drivers/video/controlfb.c Linus Torvalds 2005-04-16 315 u32 len;
^1da177e4c3f41 drivers/video/controlfb.c Linus Torvalds 2005-04-16 316
^1da177e4c3f41 drivers/video/controlfb.c Linus Torvalds 2005-04-16 317 start = info->fix.smem_start;
47f698a9f2fc49 drivers/video/controlfb.c Tomi Valkeinen 2013-04-17 318 len = info->fix.smem_len;
47f698a9f2fc49 drivers/video/controlfb.c Tomi Valkeinen 2013-04-17 319 mmio_pgoff = PAGE_ALIGN((start & ~PAGE_MASK) + len) >> PAGE_SHIFT;
47f698a9f2fc49 drivers/video/controlfb.c Tomi Valkeinen 2013-04-17 320 if (vma->vm_pgoff >= mmio_pgoff) {
^1da177e4c3f41 drivers/video/controlfb.c Linus Torvalds 2005-04-16 321 if (info->var.accel_flags)
^1da177e4c3f41 drivers/video/controlfb.c Linus Torvalds 2005-04-16 322 return -EINVAL;
47f698a9f2fc49 drivers/video/controlfb.c Tomi Valkeinen 2013-04-17 323 vma->vm_pgoff -= mmio_pgoff;
^1da177e4c3f41 drivers/video/controlfb.c Linus Torvalds 2005-04-16 324 start = info->fix.mmio_start;
47f698a9f2fc49 drivers/video/controlfb.c Tomi Valkeinen 2013-04-17 325 len = info->fix.mmio_len;
64b3d0e8122b42 drivers/video/controlfb.c Benjamin Herrenschmidt 2008-12-18 @326 vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot);
^1da177e4c3f41 drivers/video/controlfb.c Linus Torvalds 2005-04-16 327 } else {
^1da177e4c3f41 drivers/video/controlfb.c Linus Torvalds 2005-04-16 328 /* framebuffer */
64b3d0e8122b42 drivers/video/controlfb.c Benjamin Herrenschmidt 2008-12-18 329 vma->vm_page_prot = pgprot_cached_wthru(vma->vm_page_prot);
^1da177e4c3f41 drivers/video/controlfb.c Linus Torvalds 2005-04-16 330 }
^1da177e4c3f41 drivers/video/controlfb.c Linus Torvalds 2005-04-16 331
47f698a9f2fc49 drivers/video/controlfb.c Tomi Valkeinen 2013-04-17 332 return vm_iomap_memory(vma, start, len);
^1da177e4c3f41 drivers/video/controlfb.c Linus Torvalds 2005-04-16 333 }
^1da177e4c3f41 drivers/video/controlfb.c Linus Torvalds 2005-04-16 334
:::::: The code at line 326 was first introduced by commit
:::::: 64b3d0e8122b422e879b23d42f9e0e8efbbf9744 powerpc/mm: Rework usage of _PAGE_COHERENT/NO_CACHE/GUARDED
:::::: TO: Benjamin Herrenschmidt <benh(a)kernel.crashing.org>
:::::: CC: Paul Mackerras <paulus(a)samba.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 3 months
sound/soc/samsung/idma.c:250:22: error: implicit declaration of function 'pgprot_noncached'
by kernel test robot
Hi Stephen,
First bad commit (maybe != root cause):
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: b791d1bdf9212d944d749a5c7ff6febdba241771
commit: bbd7ffdbef6888459f301c5889f3b14ada38b913 clk: Allow the common clk framework to be selectable
date: 5 weeks ago
config: m68k-randconfig-r025-20200612 (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 bbd7ffdbef6888459f301c5889f3b14ada38b913
# 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 >>, old ones prefixed by <<):
sound/soc/samsung/idma.c: In function 'idma_mmap':
>> sound/soc/samsung/idma.c:250:22: error: implicit declaration of function 'pgprot_noncached' [-Werror=implicit-function-declaration]
250 | vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot);
| ^~~~~~~~~~~~~~~~
>> sound/soc/samsung/idma.c:250:22: error: incompatible types when assigning to type 'pgprot_t' {aka 'struct <anonymous>'} from type 'int'
cc1: some warnings being treated as errors
vim +/pgprot_noncached +250 sound/soc/samsung/idma.c
f09aecd50f39d3 Sangbeom Kim 2011-07-20 240
ba40ab6275173e Kuninori Morimoto 2019-10-02 241 static int idma_mmap(struct snd_soc_component *component,
ba40ab6275173e Kuninori Morimoto 2019-10-02 242 struct snd_pcm_substream *substream,
f09aecd50f39d3 Sangbeom Kim 2011-07-20 243 struct vm_area_struct *vma)
f09aecd50f39d3 Sangbeom Kim 2011-07-20 244 {
f09aecd50f39d3 Sangbeom Kim 2011-07-20 245 struct snd_pcm_runtime *runtime = substream->runtime;
f09aecd50f39d3 Sangbeom Kim 2011-07-20 246 unsigned long size, offset;
f09aecd50f39d3 Sangbeom Kim 2011-07-20 247 int ret;
f09aecd50f39d3 Sangbeom Kim 2011-07-20 248
f09aecd50f39d3 Sangbeom Kim 2011-07-20 249 /* From snd_pcm_lib_mmap_iomem */
f09aecd50f39d3 Sangbeom Kim 2011-07-20 @250 vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot);
f09aecd50f39d3 Sangbeom Kim 2011-07-20 251 size = vma->vm_end - vma->vm_start;
f09aecd50f39d3 Sangbeom Kim 2011-07-20 252 offset = vma->vm_pgoff << PAGE_SHIFT;
f09aecd50f39d3 Sangbeom Kim 2011-07-20 253 ret = io_remap_pfn_range(vma, vma->vm_start,
f09aecd50f39d3 Sangbeom Kim 2011-07-20 254 (runtime->dma_addr + offset) >> PAGE_SHIFT,
f09aecd50f39d3 Sangbeom Kim 2011-07-20 255 size, vma->vm_page_prot);
f09aecd50f39d3 Sangbeom Kim 2011-07-20 256
f09aecd50f39d3 Sangbeom Kim 2011-07-20 257 return ret;
f09aecd50f39d3 Sangbeom Kim 2011-07-20 258 }
f09aecd50f39d3 Sangbeom Kim 2011-07-20 259
:::::: The code at line 250 was first introduced by commit
:::::: f09aecd50f39d35372e551491d9f36ff0f51ee4d ASoC: SAMSUNG: Add I2S0 internal dma driver
:::::: TO: Sangbeom Kim <sbkim73(a)samsung.com>
:::::: CC: Mark Brown <broonie(a)opensource.wolfsonmicro.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 3 months
drivers/usb/host/ohci-at91.c:33:36: warning: comparison is always true due to limited range of data type
by kernel test robot
Hi Krzysztof,
First bad commit (maybe != root cause):
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: b791d1bdf9212d944d749a5c7ff6febdba241771
commit: 88eaaecc44461f9fb147bf7ee6ccc6d4e9fc23e0 usb: host: Enable compile testing for some of drivers
date: 6 months ago
config: h8300-randconfig-r024-20200612 (attached as .config)
compiler: h8300-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 88eaaecc44461f9fb147bf7ee6ccc6d4e9fc23e0
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=h8300
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 >>, old ones prefixed by <<):
In file included from arch/h8300/include/asm/bug.h:8,
from include/linux/bug.h:5,
from include/linux/thread_info.h:12,
from include/asm-generic/current.h:5,
from ./arch/h8300/include/generated/asm/current.h:1,
from include/linux/mutex.h:14,
from include/linux/notifier.h:14,
from include/linux/clk.h:14,
from drivers/usb/host/ohci-at91.c:16:
include/linux/dma-mapping.h: In function 'dma_map_resource':
include/asm-generic/page.h:91:32: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits]
91 | #define pfn_valid(pfn) ((pfn) >= ARCH_PFN_OFFSET && ((pfn) - ARCH_PFN_OFFSET) < max_mapnr)
| ^~
include/asm-generic/bug.h:139:27: note: in definition of macro 'WARN_ON_ONCE'
139 | int __ret_warn_once = !!(condition); | ^~~~~~~~~
include/linux/dma-mapping.h:352:19: note: in expansion of macro 'pfn_valid'
352 | if (WARN_ON_ONCE(pfn_valid(PHYS_PFN(phys_addr))))
| ^~~~~~~~~
drivers/usb/host/ohci-at91.c: In function 'ohci_at91_hub_control':
>> drivers/usb/host/ohci-at91.c:33:36: warning: comparison is always true due to limited range of data type [-Wtype-limits]
33 | #define valid_port(index) ((index) >= 0 && (index) < AT91_MAX_USBH_PORTS)
| ^~
>> drivers/usb/host/ohci-at91.c:347:8: note: in expansion of macro 'valid_port'
347 | if (valid_port(wIndex)) {
| ^~~~~~~~~~
>> drivers/usb/host/ohci-at91.c:33:36: warning: comparison is always true due to limited range of data type [-Wtype-limits]
33 | #define valid_port(index) ((index) >= 0 && (index) < AT91_MAX_USBH_PORTS)
| ^~
drivers/usb/host/ohci-at91.c:356:8: note: in expansion of macro 'valid_port'
356 | if (valid_port(wIndex) && ohci_at91->sfr_regmap) {
| ^~~~~~~~~~
>> drivers/usb/host/ohci-at91.c:33:36: warning: comparison is always true due to limited range of data type [-Wtype-limits]
33 | #define valid_port(index) ((index) >= 0 && (index) < AT91_MAX_USBH_PORTS)
| ^~
drivers/usb/host/ohci-at91.c:371:8: note: in expansion of macro 'valid_port'
371 | if (valid_port(wIndex)) {
| ^~~~~~~~~~
>> drivers/usb/host/ohci-at91.c:33:36: warning: comparison is always true due to limited range of data type [-Wtype-limits]
33 | #define valid_port(index) ((index) >= 0 && (index) < AT91_MAX_USBH_PORTS)
| ^~
drivers/usb/host/ohci-at91.c:382:8: note: in expansion of macro 'valid_port'
382 | if (valid_port(wIndex))
| ^~~~~~~~~~
>> drivers/usb/host/ohci-at91.c:33:36: warning: comparison is always true due to limited range of data type [-Wtype-limits]
33 | #define valid_port(index) ((index) >= 0 && (index) < AT91_MAX_USBH_PORTS)
| ^~
drivers/usb/host/ohci-at91.c:391:8: note: in expansion of macro 'valid_port'
391 | if (valid_port(wIndex)) {
| ^~~~~~~~~~
>> drivers/usb/host/ohci-at91.c:33:36: warning: comparison is always true due to limited range of data type [-Wtype-limits]
33 | #define valid_port(index) ((index) >= 0 && (index) < AT91_MAX_USBH_PORTS)
| ^~
drivers/usb/host/ohci-at91.c:399:8: note: in expansion of macro 'valid_port'
399 | if (valid_port(wIndex) && ohci_at91->sfr_regmap) {
| ^~~~~~~~~~
>> drivers/usb/host/ohci-at91.c:33:36: warning: comparison is always true due to limited range of data type [-Wtype-limits]
33 | #define valid_port(index) ((index) >= 0 && (index) < AT91_MAX_USBH_PORTS)
| ^~
drivers/usb/host/ohci-at91.c:447:7: note: in expansion of macro 'valid_port'
447 | if (valid_port(wIndex)) {
| ^~~~~~~~~~
In file included from drivers/usb/host/ohci-at91.c:31:
At top level:
drivers/usb/host/ohci.h:165:18: warning: 'cc_to_error' defined but not used [-Wunused-const-variable=]
165 | static const int cc_to_error [16] = {
| ^~~~~~~~~~~
vim +33 drivers/usb/host/ohci-at91.c
39a269c09f854d Andrew Victor 2006-01-22 32
0ee6d1eeef7bf4 Nicolas Ferre 2012-03-21 @33 #define valid_port(index) ((index) >= 0 && (index) < AT91_MAX_USBH_PORTS)
0ee6d1eeef7bf4 Nicolas Ferre 2012-03-21 34 #define at91_for_each_port(index) \
0ee6d1eeef7bf4 Nicolas Ferre 2012-03-21 35 for ((index) = 0; (index) < AT91_MAX_USBH_PORTS; (index)++)
0ee6d1eeef7bf4 Nicolas Ferre 2012-03-21 36
:::::: The code at line 33 was first introduced by commit
:::::: 0ee6d1eeef7bf4e08aba37bf1da377b25e8d853a USB: ohci-at91: change maximum number of ports
:::::: TO: Nicolas Ferre <nicolas.ferre(a)atmel.com>
:::::: CC: Nicolas Ferre <nicolas.ferre(a)atmel.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 3 months
net/sunrpc/svcsock.c:226:5: warning: "ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE" is not defined
by kernel test robot
Hi Chuck,
FYI, the error/warning still remains.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: b791d1bdf9212d944d749a5c7ff6febdba241771
commit: ca07eda33e01eafa7a26ec06974f7eacee6a89c8 SUNRPC: Refactor svc_recvfrom()
date: 3 weeks ago
config: i386-randconfig-r016-20200612 (attached as .config)
compiler: gcc-6 (Debian 6.3.0-18+deb9u1) 6.3.0 20170516
reproduce (this is a W=1 build):
git checkout ca07eda33e01eafa7a26ec06974f7eacee6a89c8
# 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 warnings (new ones prefixed by >>, old ones prefixed by <<):
>> net/sunrpc/svcsock.c:226:5: warning: "ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE" is not defined [-Wundef]
#if ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
vim +/ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE +226 net/sunrpc/svcsock.c
225
> 226 #if ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE
227 static void svc_flush_bvec(const struct bio_vec *bvec, size_t size, size_t seek)
228 {
229 struct bvec_iter bi = {
230 .bi_size = size,
231 };
232 struct bio_vec bv;
233
234 bvec_iter_advance(bvec, &bi, seek & PAGE_MASK);
235 for_each_bvec(bv, bvec, bi, bi)
236 flush_dcache_page(bv.bv_page);
237 }
238 #else
239 static inline void svc_flush_bvec(const struct bio_vec *bvec, size_t size,
240 size_t seek)
241 {
242 }
243 #endif
244
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 3 months
Re: [PATCH v3 20/41] powerpc/book3s64/kuap/kuep: Make KUAP and KUEP a subfeature of PPC_MEM_KEYS
by kernel test robot
Hi "Aneesh,
I love your patch! Yet something to improve:
[auto build test ERROR on powerpc/next]
[also build test ERROR on next-20200611]
[cannot apply to v5.7]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/Aneesh-Kumar-K-V/Kernel-userspac...
base: https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git next
config: powerpc-randconfig-r003-20200612 (attached as .config)
compiler: powerpc64le-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=powerpc
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 >>, old ones prefixed by <<):
arch/powerpc/mm/book3s64/pkeys.c: In function 'setup_kuep':
>> arch/powerpc/mm/book3s64/pkeys.c:207:28: error: 'boot_cpuid' undeclared (first use in this function)
207 | if (smp_processor_id() == boot_cpuid) {
| ^~~~~~~~~~
arch/powerpc/mm/book3s64/pkeys.c:207:28: note: each undeclared identifier is reported only once for each function it appears in
arch/powerpc/mm/book3s64/pkeys.c: In function 'setup_kuap':
arch/powerpc/mm/book3s64/pkeys.c:228:28: error: 'boot_cpuid' undeclared (first use in this function)
228 | if (smp_processor_id() == boot_cpuid) {
| ^~~~~~~~~~
vim +/boot_cpuid +207 arch/powerpc/mm/book3s64/pkeys.c
92e3da3cf193fd arch/powerpc/mm/pkeys.c Ram Pai 2018-01-18 200
82b6d6aaa3e29c arch/powerpc/mm/book3s64/pkeys.c Aneesh Kumar K.V 2020-06-10 201 #ifdef CONFIG_PPC_KUEP
82b6d6aaa3e29c arch/powerpc/mm/book3s64/pkeys.c Aneesh Kumar K.V 2020-06-10 202 void __init setup_kuep(bool disabled)
82b6d6aaa3e29c arch/powerpc/mm/book3s64/pkeys.c Aneesh Kumar K.V 2020-06-10 203 {
82b6d6aaa3e29c arch/powerpc/mm/book3s64/pkeys.c Aneesh Kumar K.V 2020-06-10 204 if (disabled || !early_radix_enabled())
82b6d6aaa3e29c arch/powerpc/mm/book3s64/pkeys.c Aneesh Kumar K.V 2020-06-10 205 return;
82b6d6aaa3e29c arch/powerpc/mm/book3s64/pkeys.c Aneesh Kumar K.V 2020-06-10 206
82b6d6aaa3e29c arch/powerpc/mm/book3s64/pkeys.c Aneesh Kumar K.V 2020-06-10 @207 if (smp_processor_id() == boot_cpuid) {
82b6d6aaa3e29c arch/powerpc/mm/book3s64/pkeys.c Aneesh Kumar K.V 2020-06-10 208 pr_info("Activating Kernel Userspace Execution Prevention\n");
82b6d6aaa3e29c arch/powerpc/mm/book3s64/pkeys.c Aneesh Kumar K.V 2020-06-10 209 cur_cpu_spec->mmu_features |= MMU_FTR_KUEP;
82b6d6aaa3e29c arch/powerpc/mm/book3s64/pkeys.c Aneesh Kumar K.V 2020-06-10 210 }
82b6d6aaa3e29c arch/powerpc/mm/book3s64/pkeys.c Aneesh Kumar K.V 2020-06-10 211
82b6d6aaa3e29c arch/powerpc/mm/book3s64/pkeys.c Aneesh Kumar K.V 2020-06-10 212 /*
82b6d6aaa3e29c arch/powerpc/mm/book3s64/pkeys.c Aneesh Kumar K.V 2020-06-10 213 * Radix always uses key0 of the IAMR to determine if an access is
82b6d6aaa3e29c arch/powerpc/mm/book3s64/pkeys.c Aneesh Kumar K.V 2020-06-10 214 * allowed. We set bit 0 (IBM bit 1) of key0, to prevent instruction
82b6d6aaa3e29c arch/powerpc/mm/book3s64/pkeys.c Aneesh Kumar K.V 2020-06-10 215 * fetch.
82b6d6aaa3e29c arch/powerpc/mm/book3s64/pkeys.c Aneesh Kumar K.V 2020-06-10 216 */
82b6d6aaa3e29c arch/powerpc/mm/book3s64/pkeys.c Aneesh Kumar K.V 2020-06-10 217 mtspr(SPRN_IAMR, AMR_KUEP_BLOCKED);
82b6d6aaa3e29c arch/powerpc/mm/book3s64/pkeys.c Aneesh Kumar K.V 2020-06-10 218 isync();
82b6d6aaa3e29c arch/powerpc/mm/book3s64/pkeys.c Aneesh Kumar K.V 2020-06-10 219 }
82b6d6aaa3e29c arch/powerpc/mm/book3s64/pkeys.c Aneesh Kumar K.V 2020-06-10 220 #endif
82b6d6aaa3e29c arch/powerpc/mm/book3s64/pkeys.c Aneesh Kumar K.V 2020-06-10 221
:::::: The code at line 207 was first introduced by commit
:::::: 82b6d6aaa3e29c1f61639eaf61333b3f84b34c4d powerpc/book3s64/kuep: Move KUEP related function outside radix
:::::: TO: Aneesh Kumar K.V <aneesh.kumar(a)linux.ibm.com>
:::::: CC: 0day robot <lkp(a)intel.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 3 months
drivers/net/wireless/intel/iwlwifi/mvm/scan.c:1981 iwl_mvm_scan_umac_v12() warn: inconsistent indenting
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: b791d1bdf9212d944d749a5c7ff6febdba241771
commit: 5167ff45a503ee49ae314c0cff410efa1eb9a1b8 iwlwifi: scan: support scan req cmd ver 12
date: 7 months ago
config: powerpc64-randconfig-m031-20200612 (attached as .config)
compiler: powerpc64le-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>
New smatch warnings:
drivers/net/wireless/intel/iwlwifi/mvm/scan.c:1981 iwl_mvm_scan_umac_v12() warn: inconsistent indenting
Old smatch warnings:
drivers/net/wireless/intel/iwlwifi/mvm/scan.c:1949 iwl_mvm_scan_umac_v11() warn: inconsistent indenting
vim +1981 drivers/net/wireless/intel/iwlwifi/mvm/scan.c
1961
1962 static int iwl_mvm_scan_umac_v12(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
1963 struct iwl_mvm_scan_params *params, int type,
1964 int uid)
1965 {
1966 struct iwl_scan_req_umac_v12 *cmd = mvm->scan_cmd;
1967 struct iwl_scan_req_params_v12 *scan_p = &cmd->scan_params;
1968 int ret;
1969 u16 gen_flags;
1970
1971 mvm->scan_uid_status[uid] = type;
1972
1973 cmd->ooc_priority = cpu_to_le32(iwl_mvm_scan_umac_ooc_priority(params));
1974 cmd->uid = cpu_to_le32(uid);
1975
1976 gen_flags = iwl_mvm_scan_umac_flags_v2(mvm, params, vif, type);
1977 iwl_mvm_scan_umac_fill_general_p_v10(mvm, params, vif,
1978 &scan_p->general_params,
1979 gen_flags);
1980
> 1981 ret = iwl_mvm_fill_scan_sched_params(params,
1982 scan_p->periodic_params.schedule,
1983 &scan_p->periodic_params.delay);
1984 if (ret)
1985 return ret;
1986
1987 iwl_mvm_scan_umac_fill_probe_p_v3(params, &scan_p->probe_params);
1988 iwl_mvm_scan_umac_fill_ch_p_v4(mvm, params, vif,
1989 &scan_p->channel_params);
1990
1991 return 0;
1992 }
1993
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 3 months