lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Tue, 6 Oct 2015 15:27:28 +0800
From:	kbuild test robot <lkp@...el.com>
To:	Noam Camus <noamc@...hip.com>
Cc:	kbuild-all@...org, linux-kernel@...r.kernel.org,
	linux-serial@...r.kernel.org, gregkh@...uxfoundation.org,
	jslaby@...e.com, peter@...leysoftware.com, fransklaver@...il.com,
	Alexey.Brodkin@...opsys.com, vgupta@...opsys.com,
	Noam Camus <noamc@...hip.com>
Subject: Re: [v6] serial: 8250_dw: Add support for big-endian MMIO accesses

Hi Noam,

[auto build test WARNING on v4.3-rc4 -- if it's inappropriate base, please ignore]

config: alpha-allyesconfig (attached as .config)
reproduce:
        wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        make.cross ARCH=alpha 

All warnings (new ones prefixed by >>):

   In file included from include/linux/swab.h:4:0,
                    from include/uapi/linux/byteorder/little_endian.h:12,
                    from include/linux/byteorder/little_endian.h:4,
                    from arch/alpha/include/uapi/asm/byteorder.h:4,
                    from include/asm-generic/bitops/le.h:5,
                    from arch/alpha/include/asm/bitops.h:454,
                    from include/linux/bitops.h:36,
                    from include/linux/kernel.h:10,
                    from include/linux/list.h:8,
                    from include/linux/kobject.h:20,
                    from include/linux/device.h:17,
                    from drivers/tty/serial/8250/8250_dw.c:16:
   drivers/tty/serial/8250/8250_dw.c: In function '_dw8250_serial_in32be':
>> arch/alpha/include/asm/io.h:495:35: warning: passing argument 1 of 'ioread32' discards 'const' qualifier from pointer target type
    #define ioread32be(p) be32_to_cpu(ioread32(p))
                                      ^
   include/uapi/linux/swab.h:115:32: note: in definition of macro '__swab32'
     (__builtin_constant_p((__u32)(x)) ? \
                                   ^
>> include/linux/byteorder/generic.h:94:21: note: in expansion of macro '__be32_to_cpu'
    #define be32_to_cpu __be32_to_cpu
                        ^
>> drivers/tty/serial/8250/8250_dw.c:214:9: note: in expansion of macro 'ioread32be'
     return ioread32be(addr);
            ^
   In file included from arch/alpha/include/asm/io.h:15:0,
                    from include/linux/io.h:25,
                    from drivers/tty/serial/8250/8250_dw.c:17:
   include/asm-generic/iomap.h:31:21: note: expected 'void *' but argument is of type 'const void *'
    extern unsigned int ioread32(void __iomem *);
                        ^
   In file included from include/linux/swab.h:4:0,
                    from include/uapi/linux/byteorder/little_endian.h:12,
                    from include/linux/byteorder/little_endian.h:4,
                    from arch/alpha/include/uapi/asm/byteorder.h:4,
                    from include/asm-generic/bitops/le.h:5,
                    from arch/alpha/include/asm/bitops.h:454,
                    from include/linux/bitops.h:36,
                    from include/linux/kernel.h:10,
                    from include/linux/list.h:8,
                    from include/linux/kobject.h:20,
                    from include/linux/device.h:17,
                    from drivers/tty/serial/8250/8250_dw.c:16:
>> arch/alpha/include/asm/io.h:495:35: warning: passing argument 1 of 'ioread32' discards 'const' qualifier from pointer target type
    #define ioread32be(p) be32_to_cpu(ioread32(p))
                                      ^
   include/uapi/linux/swab.h:17:12: note: in definition of macro '___constant_swab32'
     (((__u32)(x) & (__u32)0x000000ffUL) << 24) |  \
               ^
   include/uapi/linux/byteorder/little_endian.h:39:26: note: in expansion of macro '__swab32'
    #define __be32_to_cpu(x) __swab32((__force __u32)(__be32)(x))
                             ^
>> include/linux/byteorder/generic.h:94:21: note: in expansion of macro '__be32_to_cpu'
    #define be32_to_cpu __be32_to_cpu
                        ^
>> drivers/tty/serial/8250/8250_dw.c:214:9: note: in expansion of macro 'ioread32be'
     return ioread32be(addr);
            ^
   In file included from arch/alpha/include/asm/io.h:15:0,
                    from include/linux/io.h:25,
                    from drivers/tty/serial/8250/8250_dw.c:17:
   include/asm-generic/iomap.h:31:21: note: expected 'void *' but argument is of type 'const void *'
    extern unsigned int ioread32(void __iomem *);
                        ^
   In file included from include/linux/swab.h:4:0,
                    from include/uapi/linux/byteorder/little_endian.h:12,
                    from include/linux/byteorder/little_endian.h:4,
                    from arch/alpha/include/uapi/asm/byteorder.h:4,
                    from include/asm-generic/bitops/le.h:5,
                    from arch/alpha/include/asm/bitops.h:454,
                    from include/linux/bitops.h:36,
                    from include/linux/kernel.h:10,
                    from include/linux/list.h:8,
                    from include/linux/kobject.h:20,
                    from include/linux/device.h:17,
                    from drivers/tty/serial/8250/8250_dw.c:16:
>> arch/alpha/include/asm/io.h:495:35: warning: passing argument 1 of 'ioread32' discards 'const' qualifier from pointer target type
    #define ioread32be(p) be32_to_cpu(ioread32(p))
                                      ^
   include/uapi/linux/swab.h:18:12: note: in definition of macro '___constant_swab32'
     (((__u32)(x) & (__u32)0x0000ff00UL) <<  8) |  \
               ^
   include/uapi/linux/byteorder/little_endian.h:39:26: note: in expansion of macro '__swab32'
    #define __be32_to_cpu(x) __swab32((__force __u32)(__be32)(x))
                             ^
>> include/linux/byteorder/generic.h:94:21: note: in expansion of macro '__be32_to_cpu'
    #define be32_to_cpu __be32_to_cpu
                        ^
>> drivers/tty/serial/8250/8250_dw.c:214:9: note: in expansion of macro 'ioread32be'
     return ioread32be(addr);
            ^
   In file included from arch/alpha/include/asm/io.h:15:0,
                    from include/linux/io.h:25,
                    from drivers/tty/serial/8250/8250_dw.c:17:
   include/asm-generic/iomap.h:31:21: note: expected 'void *' but argument is of type 'const void *'
    extern unsigned int ioread32(void __iomem *);
                        ^
   In file included from include/linux/swab.h:4:0,
                    from include/uapi/linux/byteorder/little_endian.h:12,
                    from include/linux/byteorder/little_endian.h:4,
                    from arch/alpha/include/uapi/asm/byteorder.h:4,
                    from include/asm-generic/bitops/le.h:5,
                    from arch/alpha/include/asm/bitops.h:454,
                    from include/linux/bitops.h:36,
                    from include/linux/kernel.h:10,
                    from include/linux/list.h:8,
                    from include/linux/kobject.h:20,
                    from include/linux/device.h:17,
                    from drivers/tty/serial/8250/8250_dw.c:16:
>> arch/alpha/include/asm/io.h:495:35: warning: passing argument 1 of 'ioread32' discards 'const' qualifier from pointer target type
    #define ioread32be(p) be32_to_cpu(ioread32(p))
                                      ^
   include/uapi/linux/swab.h:19:12: note: in definition of macro '___constant_swab32'
     (((__u32)(x) & (__u32)0x00ff0000UL) >>  8) |  \
               ^
   include/uapi/linux/byteorder/little_endian.h:39:26: note: in expansion of macro '__swab32'
    #define __be32_to_cpu(x) __swab32((__force __u32)(__be32)(x))
                             ^
>> include/linux/byteorder/generic.h:94:21: note: in expansion of macro '__be32_to_cpu'
    #define be32_to_cpu __be32_to_cpu
                        ^
>> drivers/tty/serial/8250/8250_dw.c:214:9: note: in expansion of macro 'ioread32be'
     return ioread32be(addr);
            ^
   In file included from arch/alpha/include/asm/io.h:15:0,
                    from include/linux/io.h:25,
                    from drivers/tty/serial/8250/8250_dw.c:17:
   include/asm-generic/iomap.h:31:21: note: expected 'void *' but argument is of type 'const void *'
    extern unsigned int ioread32(void __iomem *);
                        ^
   In file included from include/linux/swab.h:4:0,
                    from include/uapi/linux/byteorder/little_endian.h:12,
                    from include/linux/byteorder/little_endian.h:4,
                    from arch/alpha/include/uapi/asm/byteorder.h:4,
                    from include/asm-generic/bitops/le.h:5,
                    from arch/alpha/include/asm/bitops.h:454,
                    from include/linux/bitops.h:36,
                    from include/linux/kernel.h:10,
                    from include/linux/list.h:8,
                    from include/linux/kobject.h:20,
                    from include/linux/device.h:17,
                    from drivers/tty/serial/8250/8250_dw.c:16:
>> arch/alpha/include/asm/io.h:495:35: warning: passing argument 1 of 'ioread32' discards 'const' qualifier from pointer target type
    #define ioread32be(p) be32_to_cpu(ioread32(p))
                                      ^
   include/uapi/linux/swab.h:20:12: note: in definition of macro '___constant_swab32'
     (((__u32)(x) & (__u32)0xff000000UL) >> 24)))
               ^
   include/uapi/linux/byteorder/little_endian.h:39:26: note: in expansion of macro '__swab32'
    #define __be32_to_cpu(x) __swab32((__force __u32)(__be32)(x))
                             ^
>> include/linux/byteorder/generic.h:94:21: note: in expansion of macro '__be32_to_cpu'
    #define be32_to_cpu __be32_to_cpu
                        ^
>> drivers/tty/serial/8250/8250_dw.c:214:9: note: in expansion of macro 'ioread32be'
     return ioread32be(addr);
            ^
   In file included from arch/alpha/include/asm/io.h:15:0,
                    from include/linux/io.h:25,
                    from drivers/tty/serial/8250/8250_dw.c:17:
   include/asm-generic/iomap.h:31:21: note: expected 'void *' but argument is of type 'const void *'
    extern unsigned int ioread32(void __iomem *);
                        ^
   In file included from include/linux/swab.h:4:0,
                    from include/uapi/linux/byteorder/little_endian.h:12,
                    from include/linux/byteorder/little_endian.h:4,
                    from arch/alpha/include/uapi/asm/byteorder.h:4,
                    from include/asm-generic/bitops/le.h:5,
                    from arch/alpha/include/asm/bitops.h:454,
                    from include/linux/bitops.h:36,
                    from include/linux/kernel.h:10,
                    from include/linux/list.h:8,
                    from include/linux/kobject.h:20,
                    from include/linux/device.h:17,
                    from drivers/tty/serial/8250/8250_dw.c:16:
>> arch/alpha/include/asm/io.h:495:35: warning: passing argument 1 of 'ioread32' discards 'const' qualifier from pointer target type
    #define ioread32be(p) be32_to_cpu(ioread32(p))
                                      ^
   include/uapi/linux/swab.h:117:12: note: in definition of macro '__swab32'
     __fswab32(x))
               ^
>> include/linux/byteorder/generic.h:94:21: note: in expansion of macro '__be32_to_cpu'
    #define be32_to_cpu __be32_to_cpu
                        ^
>> drivers/tty/serial/8250/8250_dw.c:214:9: note: in expansion of macro 'ioread32be'
     return ioread32be(addr);
            ^
   In file included from arch/alpha/include/asm/io.h:15:0,
                    from include/linux/io.h:25,
                    from drivers/tty/serial/8250/8250_dw.c:17:
   include/asm-generic/iomap.h:31:21: note: expected 'void *' but argument is of type 'const void *'
    extern unsigned int ioread32(void __iomem *);
                        ^

vim +/ioread32be +214 drivers/tty/serial/8250/8250_dw.c

   198	}
   199	
   200	static unsigned int dw8250_serial_in32(struct uart_port *p, int offset)
   201	{
   202		unsigned int value = readl(p->membase + (offset << p->regshift));
   203	
   204		return dw8250_modify_msr(p, offset, value);
   205	}
   206	
   207	static void _dw8250_serial_out32be(unsigned int value, void __iomem *addr)
   208	{
   209		iowrite32be(value, addr);
   210	}
   211	
   212	static unsigned int _dw8250_serial_in32be(const void __iomem *addr)
   213	{
 > 214		return ioread32be(addr);
   215	}
   216	
   217	static void dw8250_serial_out32be(struct uart_port *p, int offset, int value)
   218	{
   219		iowrite32be(value, p->membase + (offset << p->regshift));
   220		dw8250_check_LCR(p, offset, value);
   221	}
   222	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Download attachment ".config.gz" of type "application/octet-stream" (43617 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ