* [PATCH v3] crypto: atmel: fix bogus select
2015-11-18 15:33 [PATCH v3] crypto: atmel: fix bogus select Arnd Bergmann
@ 2015-11-18 18:17 ` kbuild test robot
2015-11-18 19:54 ` Arnd Bergmann
2015-11-18 18:56 ` kbuild test robot
2015-11-23 13:05 ` Herbert Xu
2 siblings, 1 reply; 5+ messages in thread
From: kbuild test robot @ 2015-11-18 18:17 UTC (permalink / raw)
To: linux-arm-kernel
Hi Arnd,
[auto build test WARNING on: cryptodev/master]
[also build test WARNING on: v4.4-rc1 next-20151118]
url: https://github.com/0day-ci/linux/commits/Arnd-Bergmann/crypto-atmel-fix-bogus-select/20151118-233706
base: https://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git master
config: tile-allmodconfig (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=tile
All warnings (new ones prefixed by >>):
drivers/crypto/atmel-aes.c: In function 'atmel_aes_sg_copy':
>> drivers/crypto/atmel-aes.c:191:11: warning: comparison of distinct pointer types lacks a cast [enabled by default]
drivers/crypto/atmel-aes.c: In function 'atmel_aes_crypt_dma_start':
drivers/crypto/atmel-aes.c:447:11: warning: comparison of distinct pointer types lacks a cast [enabled by default]
drivers/crypto/atmel-aes.c:448:11: warning: comparison of distinct pointer types lacks a cast [enabled by default]
drivers/crypto/atmel-aes.c: In function 'atmel_aes_crypt_dma_stop':
>> drivers/crypto/atmel-aes.c:642:5: warning: format '%u' expects argument of type 'unsigned int', but argument 2 has type 'size_t' [-Wformat]
drivers/crypto/atmel-aes.c: In function 'atmel_aes_buff_init':
>> drivers/crypto/atmel-aes.c:669:3: warning: format '%d' expects argument of type 'int', but argument 3 has type 'size_t' [-Wformat]
drivers/crypto/atmel-aes.c:677:3: warning: format '%d' expects argument of type 'int', but argument 3 has type 'size_t' [-Wformat]
vim +191 drivers/crypto/atmel-aes.c
bd3c7b5c Nicolas Royer 2012-07-01 175
bd3c7b5c Nicolas Royer 2012-07-01 176 sg_list = sg_next(sg_list);
bd3c7b5c Nicolas Royer 2012-07-01 177 if (!sg_list)
bd3c7b5c Nicolas Royer 2012-07-01 178 total = 0;
bd3c7b5c Nicolas Royer 2012-07-01 179 }
bd3c7b5c Nicolas Royer 2012-07-01 180
bd3c7b5c Nicolas Royer 2012-07-01 181 return sg_nb;
bd3c7b5c Nicolas Royer 2012-07-01 182 }
bd3c7b5c Nicolas Royer 2012-07-01 183
cadc4ab8 Nicolas Royer 2013-02-20 184 static int atmel_aes_sg_copy(struct scatterlist **sg, size_t *offset,
cadc4ab8 Nicolas Royer 2013-02-20 185 void *buf, size_t buflen, size_t total, int out)
cadc4ab8 Nicolas Royer 2013-02-20 186 {
cadc4ab8 Nicolas Royer 2013-02-20 187 unsigned int count, off = 0;
cadc4ab8 Nicolas Royer 2013-02-20 188
cadc4ab8 Nicolas Royer 2013-02-20 189 while (buflen && total) {
cadc4ab8 Nicolas Royer 2013-02-20 190 count = min((*sg)->length - *offset, total);
cadc4ab8 Nicolas Royer 2013-02-20 @191 count = min(count, buflen);
cadc4ab8 Nicolas Royer 2013-02-20 192
cadc4ab8 Nicolas Royer 2013-02-20 193 if (!count)
cadc4ab8 Nicolas Royer 2013-02-20 194 return off;
cadc4ab8 Nicolas Royer 2013-02-20 195
cadc4ab8 Nicolas Royer 2013-02-20 196 scatterwalk_map_and_copy(buf + off, *sg, *offset, count, out);
cadc4ab8 Nicolas Royer 2013-02-20 197
cadc4ab8 Nicolas Royer 2013-02-20 198 off += count;
cadc4ab8 Nicolas Royer 2013-02-20 199 buflen -= count;
:::::: The code at line 191 was first introduced by commit
:::::: cadc4ab8f6f73719ef0e124320cdd210d1c9ff3e crypto: atmel-aes - add support for latest release of the IP (0x130)
:::::: TO: Nicolas Royer <nicolas@eukrea.com>
:::::: CC: Herbert Xu <herbert@gondor.apana.org.au>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/octet-stream
Size: 42162 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20151119/8f974c02/attachment-0001.obj>
^ permalink raw reply [flat|nested] 5+ messages in thread* [PATCH v3] crypto: atmel: fix bogus select
2015-11-18 15:33 [PATCH v3] crypto: atmel: fix bogus select Arnd Bergmann
2015-11-18 18:17 ` kbuild test robot
@ 2015-11-18 18:56 ` kbuild test robot
2015-11-23 13:05 ` Herbert Xu
2 siblings, 0 replies; 5+ messages in thread
From: kbuild test robot @ 2015-11-18 18:56 UTC (permalink / raw)
To: linux-arm-kernel
Hi Arnd,
[auto build test WARNING on: cryptodev/master]
[also build test WARNING on: v4.4-rc1 next-20151118]
url: https://github.com/0day-ci/linux/commits/Arnd-Bergmann/crypto-atmel-fix-bogus-select/20151118-233706
base: https://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git master
config: x86_64-allmodconfig (attached as .config)
reproduce:
# save the attached .config to linux build tree
make ARCH=x86_64
All warnings (new ones prefixed by >>):
include/linux/compiler.h:228:8: sparse: attribute 'no_sanitize_address': unknown attribute
drivers/crypto/atmel-aes.c:191:25: sparse: incompatible types in comparison expression (different type sizes)
drivers/crypto/atmel-aes.c:447:25: sparse: incompatible types in comparison expression (different type sizes)
drivers/crypto/atmel-aes.c:448:25: sparse: incompatible types in comparison expression (different type sizes)
In file included from drivers/crypto/atmel-aes.c:17:0:
drivers/crypto/atmel-aes.c: In function 'atmel_aes_sg_copy':
include/linux/kernel.h:724:17: warning: comparison of distinct pointer types lacks a cast
(void) (&_min1 == &_min2); \
^
>> drivers/crypto/atmel-aes.c:191:11: note: in expansion of macro 'min'
count = min(count, buflen);
^
drivers/crypto/atmel-aes.c: In function 'atmel_aes_crypt_dma_start':
include/linux/kernel.h:724:17: warning: comparison of distinct pointer types lacks a cast
(void) (&_min1 == &_min2); \
^
drivers/crypto/atmel-aes.c:447:11: note: in expansion of macro 'min'
count = min(dd->total, sg_dma_len(dd->in_sg));
^
include/linux/kernel.h:724:17: warning: comparison of distinct pointer types lacks a cast
(void) (&_min1 == &_min2); \
^
drivers/crypto/atmel-aes.c:448:11: note: in expansion of macro 'min'
count = min(count, sg_dma_len(dd->out_sg));
^
In file included from include/linux/printk.h:6:0,
from include/linux/kernel.h:13,
from drivers/crypto/atmel-aes.c:17:
drivers/crypto/atmel-aes.c: In function 'atmel_aes_crypt_dma_stop':
>> include/linux/kern_levels.h:4:18: warning: format '%u' expects argument of type 'unsigned int', but argument 2 has type 'size_t {aka long unsigned int}' [-Wformat=]
#define KERN_SOH "\001" /* ASCII Start Of Header */
^
include/linux/kern_levels.h:10:18: note: in expansion of macro 'KERN_SOH'
#define KERN_ERR KERN_SOH "3" /* error conditions */
^
include/linux/printk.h:252:9: note: in expansion of macro 'KERN_ERR'
printk(KERN_ERR pr_fmt(fmt), ##__VA_ARGS__)
^
>> drivers/crypto/atmel-aes.c:642:5: note: in expansion of macro 'pr_err'
pr_err("not all data converted: %u\n", count);
^
drivers/crypto/atmel-aes.c: In function 'atmel_aes_buff_init':
>> drivers/crypto/atmel-aes.c:669:20: warning: format '%d' expects argument of type 'int', but argument 3 has type 'size_t {aka long unsigned int}' [-Wformat=]
dev_err(dd->dev, "dma %d bytes error\n", dd->buflen);
^
drivers/crypto/atmel-aes.c:677:20: warning: format '%d' expects argument of type 'int', but argument 3 has type 'size_t {aka long unsigned int}' [-Wformat=]
dev_err(dd->dev, "dma %d bytes error\n", dd->buflen);
^
sparse warnings: (new ones prefixed by >>)
include/linux/compiler.h:228:8: sparse: attribute 'no_sanitize_address': unknown attribute
>> drivers/crypto/atmel-aes.c:191:25: sparse: incompatible types in comparison expression (different type sizes)
drivers/crypto/atmel-aes.c:447:25: sparse: incompatible types in comparison expression (different type sizes)
drivers/crypto/atmel-aes.c:448:25: sparse: incompatible types in comparison expression (different type sizes)
In file included from drivers/crypto/atmel-aes.c:17:0:
drivers/crypto/atmel-aes.c: In function 'atmel_aes_sg_copy':
include/linux/kernel.h:724:17: warning: comparison of distinct pointer types lacks a cast
(void) (&_min1 == &_min2); \
^
drivers/crypto/atmel-aes.c:191:11: note: in expansion of macro 'min'
count = min(count, buflen);
^
drivers/crypto/atmel-aes.c: In function 'atmel_aes_crypt_dma_start':
include/linux/kernel.h:724:17: warning: comparison of distinct pointer types lacks a cast
(void) (&_min1 == &_min2); \
^
drivers/crypto/atmel-aes.c:447:11: note: in expansion of macro 'min'
count = min(dd->total, sg_dma_len(dd->in_sg));
^
include/linux/kernel.h:724:17: warning: comparison of distinct pointer types lacks a cast
(void) (&_min1 == &_min2); \
^
drivers/crypto/atmel-aes.c:448:11: note: in expansion of macro 'min'
count = min(count, sg_dma_len(dd->out_sg));
^
In file included from include/linux/printk.h:6:0,
from include/linux/kernel.h:13,
from drivers/crypto/atmel-aes.c:17:
drivers/crypto/atmel-aes.c: In function 'atmel_aes_crypt_dma_stop':
include/linux/kern_levels.h:4:18: warning: format '%u' expects argument of type 'unsigned int', but argument 2 has type 'size_t {aka long unsigned int}' [-Wformat=]
#define KERN_SOH "\001" /* ASCII Start Of Header */
^
include/linux/kern_levels.h:10:18: note: in expansion of macro 'KERN_SOH'
#define KERN_ERR KERN_SOH "3" /* error conditions */
^
include/linux/printk.h:252:9: note: in expansion of macro 'KERN_ERR'
printk(KERN_ERR pr_fmt(fmt), ##__VA_ARGS__)
^
drivers/crypto/atmel-aes.c:642:5: note: in expansion of macro 'pr_err'
pr_err("not all data converted: %u\n", count);
^
drivers/crypto/atmel-aes.c: In function 'atmel_aes_buff_init':
drivers/crypto/atmel-aes.c:669:20: warning: format '%d' expects argument of type 'int', but argument 3 has type 'size_t {aka long unsigned int}' [-Wformat=]
dev_err(dd->dev, "dma %d bytes error\n", dd->buflen);
^
drivers/crypto/atmel-aes.c:677:20: warning: format '%d' expects argument of type 'int', but argument 3 has type 'size_t {aka long unsigned int}' [-Wformat=]
dev_err(dd->dev, "dma %d bytes error\n", dd->buflen);
^
vim +/min +191 drivers/crypto/atmel-aes.c
bd3c7b5c Nicolas Royer 2012-07-01 175
bd3c7b5c Nicolas Royer 2012-07-01 176 sg_list = sg_next(sg_list);
bd3c7b5c Nicolas Royer 2012-07-01 177 if (!sg_list)
bd3c7b5c Nicolas Royer 2012-07-01 178 total = 0;
bd3c7b5c Nicolas Royer 2012-07-01 179 }
bd3c7b5c Nicolas Royer 2012-07-01 180
bd3c7b5c Nicolas Royer 2012-07-01 181 return sg_nb;
bd3c7b5c Nicolas Royer 2012-07-01 182 }
bd3c7b5c Nicolas Royer 2012-07-01 183
cadc4ab8 Nicolas Royer 2013-02-20 184 static int atmel_aes_sg_copy(struct scatterlist **sg, size_t *offset,
cadc4ab8 Nicolas Royer 2013-02-20 185 void *buf, size_t buflen, size_t total, int out)
cadc4ab8 Nicolas Royer 2013-02-20 186 {
cadc4ab8 Nicolas Royer 2013-02-20 187 unsigned int count, off = 0;
cadc4ab8 Nicolas Royer 2013-02-20 188
cadc4ab8 Nicolas Royer 2013-02-20 189 while (buflen && total) {
cadc4ab8 Nicolas Royer 2013-02-20 190 count = min((*sg)->length - *offset, total);
cadc4ab8 Nicolas Royer 2013-02-20 @191 count = min(count, buflen);
cadc4ab8 Nicolas Royer 2013-02-20 192
cadc4ab8 Nicolas Royer 2013-02-20 193 if (!count)
cadc4ab8 Nicolas Royer 2013-02-20 194 return off;
cadc4ab8 Nicolas Royer 2013-02-20 195
cadc4ab8 Nicolas Royer 2013-02-20 196 scatterwalk_map_and_copy(buf + off, *sg, *offset, count, out);
cadc4ab8 Nicolas Royer 2013-02-20 197
cadc4ab8 Nicolas Royer 2013-02-20 198 off += count;
cadc4ab8 Nicolas Royer 2013-02-20 199 buflen -= count;
:::::: The code at line 191 was first introduced by commit
:::::: cadc4ab8f6f73719ef0e124320cdd210d1c9ff3e crypto: atmel-aes - add support for latest release of the IP (0x130)
:::::: TO: Nicolas Royer <nicolas@eukrea.com>
:::::: CC: Herbert Xu <herbert@gondor.apana.org.au>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/octet-stream
Size: 51069 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20151119/d0dc8111/attachment-0001.obj>
^ permalink raw reply [flat|nested] 5+ messages in thread* [PATCH v3] crypto: atmel: fix bogus select
2015-11-18 15:33 [PATCH v3] crypto: atmel: fix bogus select Arnd Bergmann
2015-11-18 18:17 ` kbuild test robot
2015-11-18 18:56 ` kbuild test robot
@ 2015-11-23 13:05 ` Herbert Xu
2 siblings, 0 replies; 5+ messages in thread
From: Herbert Xu @ 2015-11-23 13:05 UTC (permalink / raw)
To: linux-arm-kernel
On Wed, Nov 18, 2015 at 04:33:54PM +0100, Arnd Bergmann wrote:
> >From 0d53d42a56e9a3769847fd03c703876f2c063fb4 Mon Sep 17 00:00:00 2001
> From: Arnd Bergmann <arnd@arndb.de>
> Date: Tue, 27 Jan 2015 22:34:04 +0100
> Subject: [PATCH] [SUBMITTED] crypto: atmel: fix bogus select
>
> The Atmel at91 crypto driver unconditionally selects AT_HDMAC,
> which results in a Kconfig warning if that driver is not enabled:
>
> warning: (CRYPTO_DEV_ATMEL_AES) selects AT_HDMAC which has unmet direct dependencies (DMADEVICES && ARCH_AT91)
>
> The crypto driver itself does not actually have a dependency
> on a particular dma engine, other than this being the one that
> is used in at91.
>
> Removing the 'select' gets rid of the warning, but can cause
> the driver to be unusable if the HDMAC is not enabled at the
> same time. To work around that, this patch clarifies the runtime
> dependency to be 'AT_HDMAC || AT_XDMAC', but adds an alternative
> for COMPILE_TEST, which lets the driver get build on all systems.
>
> The ARCH_AT91 dependency is implied by AT_XDMAC || AT_HDMAC now
> and no longer needs to be listed separately.
>
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Patch applied. Thanks.
--
Email: Herbert Xu <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
^ permalink raw reply [flat|nested] 5+ messages in thread