* [linux-next:master 7490/11541] drivers/md/dm-integrity.c:539 sb_mac() error: memcmp() 'result' too small (64 vs 448)
@ 2021-02-15 21:42 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2021-02-15 21:42 UTC (permalink / raw)
To: kbuild
[-- Attachment #1: Type: text/plain, Size: 5356 bytes --]
CC: kbuild-all(a)lists.01.org
CC: Linux Memory Management List <linux-mm@kvack.org>
TO: Mikulas Patocka <mpatocka@redhat.com>
CC: Mike Snitzer <snitzer@redhat.com>
CC: Lukas Bulwahn <lukas.bulwahn@gmail.com>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: 52a0bcb60e40f30211cb5cbbb0f582ec4e91d896
commit: 09d85f8d8909ec8baa07479ba5777bbca24961f3 [7490/11541] dm integrity: introduce the "fix_hmac" argument
:::::: branch date: 12 hours ago
:::::: commit date: 12 days ago
config: mips-randconfig-m031-20210215 (attached as .config)
compiler: mipsel-linux-gcc (GCC) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
New smatch warnings:
drivers/md/dm-integrity.c:539 sb_mac() error: memcmp() 'result' too small (64 vs 448)
Old smatch warnings:
drivers/md/dm-integrity.c:1749 integrity_metadata() warn: should 'this_step_blocks << ic->sb->log2_sectors_per_block' be a 64 bit type?
drivers/md/dm-integrity.c:2483 do_journal_write() warn: should '(k - j) << ic->sb->log2_sectors_per_block' be a 64 bit type?
drivers/md/dm-integrity.c:3267 dm_integrity_status() warn: should '1 << ic->sb->log2_interleave_sectors' be a 64 bit type?
drivers/md/dm-integrity.c:3268 dm_integrity_status() warn: should '1 << ic->log2_buffer_sectors' be a 64 bit type?
drivers/md/dm-integrity.c:4039 dm_integrity_ctr() warn: impossible condition '(val >= (~0) * 1000 / 24) => (0-u32max >= 178956970625)'
drivers/md/dm-integrity.c:4442 dm_integrity_ctr() warn: missing error code 'r'
vim +/result +539 drivers/md/dm-integrity.c
1f9fc0b826119f Mikulas Patocka 2018-07-03 500
09d85f8d8909ec Mikulas Patocka 2021-01-21 501 static int sb_mac(struct dm_integrity_c *ic, bool wr)
09d85f8d8909ec Mikulas Patocka 2021-01-21 502 {
09d85f8d8909ec Mikulas Patocka 2021-01-21 503 SHASH_DESC_ON_STACK(desc, ic->journal_mac);
09d85f8d8909ec Mikulas Patocka 2021-01-21 504 int r;
09d85f8d8909ec Mikulas Patocka 2021-01-21 505 unsigned size = crypto_shash_digestsize(ic->journal_mac);
09d85f8d8909ec Mikulas Patocka 2021-01-21 506
09d85f8d8909ec Mikulas Patocka 2021-01-21 507 if (sizeof(struct superblock) + size > 1 << SECTOR_SHIFT) {
09d85f8d8909ec Mikulas Patocka 2021-01-21 508 dm_integrity_io_error(ic, "digest is too long", -EINVAL);
09d85f8d8909ec Mikulas Patocka 2021-01-21 509 return -EINVAL;
09d85f8d8909ec Mikulas Patocka 2021-01-21 510 }
09d85f8d8909ec Mikulas Patocka 2021-01-21 511
09d85f8d8909ec Mikulas Patocka 2021-01-21 512 desc->tfm = ic->journal_mac;
09d85f8d8909ec Mikulas Patocka 2021-01-21 513
09d85f8d8909ec Mikulas Patocka 2021-01-21 514 r = crypto_shash_init(desc);
09d85f8d8909ec Mikulas Patocka 2021-01-21 515 if (unlikely(r < 0)) {
09d85f8d8909ec Mikulas Patocka 2021-01-21 516 dm_integrity_io_error(ic, "crypto_shash_init", r);
09d85f8d8909ec Mikulas Patocka 2021-01-21 517 return r;
09d85f8d8909ec Mikulas Patocka 2021-01-21 518 }
09d85f8d8909ec Mikulas Patocka 2021-01-21 519
09d85f8d8909ec Mikulas Patocka 2021-01-21 520 r = crypto_shash_update(desc, (__u8 *)ic->sb, (1 << SECTOR_SHIFT) - size);
09d85f8d8909ec Mikulas Patocka 2021-01-21 521 if (unlikely(r < 0)) {
09d85f8d8909ec Mikulas Patocka 2021-01-21 522 dm_integrity_io_error(ic, "crypto_shash_update", r);
09d85f8d8909ec Mikulas Patocka 2021-01-21 523 return r;
09d85f8d8909ec Mikulas Patocka 2021-01-21 524 }
09d85f8d8909ec Mikulas Patocka 2021-01-21 525
09d85f8d8909ec Mikulas Patocka 2021-01-21 526 if (likely(wr)) {
09d85f8d8909ec Mikulas Patocka 2021-01-21 527 r = crypto_shash_final(desc, (__u8 *)ic->sb + (1 << SECTOR_SHIFT) - size);
09d85f8d8909ec Mikulas Patocka 2021-01-21 528 if (unlikely(r < 0)) {
09d85f8d8909ec Mikulas Patocka 2021-01-21 529 dm_integrity_io_error(ic, "crypto_shash_final", r);
09d85f8d8909ec Mikulas Patocka 2021-01-21 530 return r;
09d85f8d8909ec Mikulas Patocka 2021-01-21 531 }
09d85f8d8909ec Mikulas Patocka 2021-01-21 532 } else {
09d85f8d8909ec Mikulas Patocka 2021-01-21 533 __u8 result[HASH_MAX_DIGESTSIZE];
09d85f8d8909ec Mikulas Patocka 2021-01-21 534 r = crypto_shash_final(desc, result);
09d85f8d8909ec Mikulas Patocka 2021-01-21 535 if (unlikely(r < 0)) {
09d85f8d8909ec Mikulas Patocka 2021-01-21 536 dm_integrity_io_error(ic, "crypto_shash_final", r);
09d85f8d8909ec Mikulas Patocka 2021-01-21 537 return r;
09d85f8d8909ec Mikulas Patocka 2021-01-21 538 }
09d85f8d8909ec Mikulas Patocka 2021-01-21 @539 if (memcmp((__u8 *)ic->sb + (1 << SECTOR_SHIFT) - size, result, size)) {
09d85f8d8909ec Mikulas Patocka 2021-01-21 540 dm_integrity_io_error(ic, "superblock mac", -EILSEQ);
09d85f8d8909ec Mikulas Patocka 2021-01-21 541 return -EILSEQ;
09d85f8d8909ec Mikulas Patocka 2021-01-21 542 }
09d85f8d8909ec Mikulas Patocka 2021-01-21 543 }
09d85f8d8909ec Mikulas Patocka 2021-01-21 544
09d85f8d8909ec Mikulas Patocka 2021-01-21 545 return 0;
09d85f8d8909ec Mikulas Patocka 2021-01-21 546 }
09d85f8d8909ec Mikulas Patocka 2021-01-21 547
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 34532 bytes --]
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2021-02-15 21:42 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-02-15 21:42 [linux-next:master 7490/11541] drivers/md/dm-integrity.c:539 sb_mac() error: memcmp() 'result' too small (64 vs 448) kernel test robot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.