[dm-devel] [dm:for-next 1/1] drivers/md/dm-verity-target.c:109:23: note: in expansion of macro 'min'
kbuild test robot
lkp at intel.com
Fri Aug 31 05:19:50 UTC 2018
tree: https://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm.git for-next
head: 43323993e68adf32894189c57245a13c2bc2ff91
commit: 43323993e68adf32894189c57245a13c2bc2ff91 [1/1] dm verity: fix crash on bufio buffer that was allocated with vmalloc
config: i386-randconfig-x000-201834 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-16) 7.3.0
reproduce:
git checkout 43323993e68adf32894189c57245a13c2bc2ff91
# save the attached .config to linux build tree
make ARCH=i386
All warnings (new ones prefixed by >>):
In file included from arch/x86/include/asm/percpu.h:45:0,
from arch/x86/include/asm/current.h:6,
from include/linux/sched.h:12,
from include/linux/blkdev.h:5,
from include/linux/dm-bufio.h:12,
from drivers/md/dm-verity.h:15,
from drivers/md/dm-verity-target.c:17:
drivers/md/dm-verity-target.c: In function 'verity_hash_update':
include/linux/kernel.h:845:29: warning: comparison of distinct pointer types lacks a cast
(!!(sizeof((typeof(x) *)1 == (typeof(y) *)1)))
^
include/linux/kernel.h:859:4: note: in expansion of macro '__typecheck'
(__typecheck(x, y) && __no_side_effects(x, y))
^~~~~~~~~~~
include/linux/kernel.h:869:24: note: in expansion of macro '__safe_cmp'
__builtin_choose_expr(__safe_cmp(x, y), \
^~~~~~~~~~
include/linux/kernel.h:878:19: note: in expansion of macro '__careful_cmp'
#define min(x, y) __careful_cmp(x, y, <)
^~~~~~~~~~~~~
>> drivers/md/dm-verity-target.c:109:23: note: in expansion of macro 'min'
size_t this_step = min(len, PAGE_SIZE - offset_in_page(data));
^~~
vim +/min +109 drivers/md/dm-verity-target.c
95
96 static int verity_hash_update(struct dm_verity *v, struct ahash_request *req,
97 const u8 *data, size_t len,
98 struct crypto_wait *wait)
99 {
100 struct scatterlist sg;
101
102 if (likely(!is_vmalloc_addr(data))) {
103 sg_init_one(&sg, data, len);
104 ahash_request_set_crypt(req, &sg, NULL, len);
105 return crypto_wait_req(crypto_ahash_update(req), wait);
106 } else {
107 do {
108 int r;
> 109 size_t this_step = min(len, PAGE_SIZE - offset_in_page(data));
110 flush_kernel_vmap_range((void *)data, this_step);
111 sg_init_table(&sg, 1);
112 sg_set_page(&sg, vmalloc_to_page(data), this_step, offset_in_page(data));
113 ahash_request_set_crypt(req, &sg, NULL, this_step);
114 r = crypto_wait_req(crypto_ahash_update(req), wait);
115 if (unlikely(r))
116 return r;
117 data += this_step;
118 len -= this_step;
119 } while (len);
120 return 0;
121 }
122 }
123
---
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/gzip
Size: 29180 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/dm-devel/attachments/20180831/4ffec170/attachment.gz>
More information about the dm-devel
mailing list