From: kernel test robot <lkp@intel.com>
To: oe-kbuild@lists.linux.dev
Cc: lkp@intel.com, Dan Carpenter <error27@gmail.com>
Subject: mm/kasan/report_tags.c:63 kasan_complete_mode_report_info() error: we previously assumed 'info->cache' could be null (see line 37)
Date: Sat, 28 Sep 2024 01:19:32 +0800 [thread overview]
Message-ID: <202409280119.7gzM9E4h-lkp@intel.com> (raw)
BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
CC: linux-kernel@vger.kernel.org
TO: Andrey Konovalov <andreyknvl@google.com>
CC: Andrew Morton <akpm@linux-foundation.org>
CC: Linux Memory Management List <linux-mm@kvack.org>
CC: Alexander Potapenko <glider@google.com>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 075dbe9f6e3c21596c5245826a4ee1f1c1676eb8
commit: 7d88e4f768b0fdb85b68f0e4679bb10fdb05c808 kasan: check object_size in kasan_complete_mode_report_info
date: 10 months ago
:::::: branch date: 22 hours ago
:::::: commit date: 10 months ago
config: arm64-randconfig-r071-20240923 (https://download.01.org/0day-ci/archive/20240928/202409280119.7gzM9E4h-lkp@intel.com/config)
compiler: clang version 20.0.0git (https://github.com/llvm/llvm-project 8663a75fa2f31299ab8d1d90288d9df92aadee88)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Reported-by: Dan Carpenter <error27@gmail.com>
| Closes: https://lore.kernel.org/r/202409280119.7gzM9E4h-lkp@intel.com/
smatch warnings:
mm/kasan/report_tags.c:63 kasan_complete_mode_report_info() error: we previously assumed 'info->cache' could be null (see line 37)
vim +63 mm/kasan/report_tags.c
b89933e9a54d3e Andrey Konovalov 2022-09-05 29
59e6e098d1c156 Andrey Konovalov 2022-09-05 30 void kasan_complete_mode_report_info(struct kasan_report_info *info)
b89933e9a54d3e Andrey Konovalov 2022-09-05 31 {
7bc0584e5d2a68 Andrey Konovalov 2022-09-05 32 unsigned long flags;
7bc0584e5d2a68 Andrey Konovalov 2022-09-05 33 u64 pos;
7bc0584e5d2a68 Andrey Konovalov 2022-09-05 34 struct kasan_stack_ring_entry *entry;
7bc0584e5d2a68 Andrey Konovalov 2022-09-05 35 bool alloc_found = false, free_found = false;
7bc0584e5d2a68 Andrey Konovalov 2022-09-05 36
dcc579663f6073 Andrey Konovalov 2022-09-11 @37 if ((!info->cache || !info->object) && !info->bug_type) {
1f538e1f2d294c Andrey Konovalov 2022-09-05 38 info->bug_type = get_common_bug_type(info);
7bc0584e5d2a68 Andrey Konovalov 2022-09-05 39 return;
7bc0584e5d2a68 Andrey Konovalov 2022-09-05 40 }
7bc0584e5d2a68 Andrey Konovalov 2022-09-05 41
7bc0584e5d2a68 Andrey Konovalov 2022-09-05 42 write_lock_irqsave(&stack_ring.lock, flags);
7bc0584e5d2a68 Andrey Konovalov 2022-09-05 43
7bc0584e5d2a68 Andrey Konovalov 2022-09-05 44 pos = atomic64_read(&stack_ring.pos);
7bc0584e5d2a68 Andrey Konovalov 2022-09-05 45
7bc0584e5d2a68 Andrey Konovalov 2022-09-05 46 /*
7bc0584e5d2a68 Andrey Konovalov 2022-09-05 47 * The loop below tries to find stack ring entries relevant to the
7bc0584e5d2a68 Andrey Konovalov 2022-09-05 48 * buggy object. This is a best-effort process.
7bc0584e5d2a68 Andrey Konovalov 2022-09-05 49 *
7bc0584e5d2a68 Andrey Konovalov 2022-09-05 50 * First, another object with the same tag can be allocated in place of
7bc0584e5d2a68 Andrey Konovalov 2022-09-05 51 * the buggy object. Also, since the number of entries is limited, the
7bc0584e5d2a68 Andrey Konovalov 2022-09-05 52 * entries relevant to the buggy object can be overwritten.
7bc0584e5d2a68 Andrey Konovalov 2022-09-05 53 */
7bc0584e5d2a68 Andrey Konovalov 2022-09-05 54
80b92bfe3bb75a Andrey Konovalov 2022-09-05 55 for (u64 i = pos - 1; i != pos - 1 - stack_ring.size; i--) {
7bc0584e5d2a68 Andrey Konovalov 2022-09-05 56 if (alloc_found && free_found)
7bc0584e5d2a68 Andrey Konovalov 2022-09-05 57 break;
7bc0584e5d2a68 Andrey Konovalov 2022-09-05 58
80b92bfe3bb75a Andrey Konovalov 2022-09-05 59 entry = &stack_ring.entries[i % stack_ring.size];
7bc0584e5d2a68 Andrey Konovalov 2022-09-05 60
f3b59798629940 Andrey Konovalov 2023-11-20 61 if (kasan_reset_tag(entry->ptr) != info->object ||
7d88e4f768b0fd Andrey Konovalov 2023-11-20 62 get_tag(entry->ptr) != get_tag(info->access_addr) ||
7d88e4f768b0fd Andrey Konovalov 2023-11-20 @63 info->cache->object_size != entry->size)
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
next reply other threads:[~2024-09-27 17:19 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-27 17:19 kernel test robot [this message]
-- strict thread matches above, loose matches on Subject: below --
2024-12-12 0:43 mm/kasan/report_tags.c:63 kasan_complete_mode_report_info() error: we previously assumed 'info->cache' could be null (see line 37) kernel test robot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202409280119.7gzM9E4h-lkp@intel.com \
--to=lkp@intel.com \
--cc=error27@gmail.com \
--cc=oe-kbuild@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.