3b955a4 | Andrey Konovalov | 13 October 2017, 17:32:30 UTC | usb-fuzzer: main usb gadget fuzzer driver | 15 May 2019, 14:47:26 UTC |
6bb1574 | Andrey Konovalov | 17 January 2019, 18:26:34 UTC | vhost, kcov: annotate vhost_worker Signed-off-by: Andrey Konovalov <andreyknvl@google.com> | 15 May 2019, 14:47:26 UTC |
9ac20ab | Andrey Konovalov | 17 January 2019, 18:26:05 UTC | usb, kcov: annotate hub_event Signed-off-by: Andrey Konovalov <andreyknvl@google.com> | 15 May 2019, 14:47:26 UTC |
0985500 | Andrey Konovalov | 17 January 2019, 18:25:34 UTC | kcov: remote coverage support Signed-off-by: Andrey Konovalov <andreyknvl@google.com> | 15 May 2019, 14:47:26 UTC |
10c154e | Alexander Potapenko | 10 April 2019, 15:11:21 UTC | Updated example config, NFC | 15 May 2019, 14:47:26 UTC |
f720641 | Alexander Potapenko | 08 April 2019, 15:07:24 UTC | kmsan: fix metadata_is_contiguous() For n-byte accesses to |addr| we used to check bytes from |addr| to |addr+n|, which sometimes hit unmapped memory. Fix this by subtracting 1 from the size. Also fix some compiler warnings in kmsan.c | 15 May 2019, 14:47:26 UTC |
de058c3 | Alexander Potapenko | 08 April 2019, 15:00:54 UTC | kmsan: fix warnings in kmsan.h | 15 May 2019, 14:47:26 UTC |
96e5fdc | Alexander Potapenko | 04 April 2019, 17:33:04 UTC | kmsan: don't enter runtime in kmsan_vmap_page_range_noflush() Turns out one can't flush TLBs with interrupts disabled. | 15 May 2019, 14:47:26 UTC |
34108a3 | Alexander Potapenko | 04 April 2019, 13:56:09 UTC | kmsan: support for vmap in modules region Let KMSAN vmap shadow and origins for [MODULES_VADDR, MODULES_VADDR+MODULES_LEN) at MODULES_SHADOW_START and MODULES_ORIGIN_START Also, make sure page tables for vmalloc/modules metadata are properly synced on every page fault. | 15 May 2019, 14:47:26 UTC |
9f503f9 | Alexander Potapenko | 03 April 2019, 12:16:44 UTC | kmsan: minor vmalloc refactoring - don't use metadata offsets explicitly | 15 May 2019, 14:47:26 UTC |
a4a2793 | Alexander Potapenko | 28 March 2019, 18:11:08 UTC | kmsan: fix comment, NFC | 15 May 2019, 14:47:26 UTC |
d47766f | Alexander Potapenko | 27 March 2019, 15:01:57 UTC | kmsan: don't unpoison memory in dma_map_sg_attrs() Looks like we don't need to do that anymore. | 15 May 2019, 14:47:26 UTC |
dff012a | Alexander Potapenko | 25 March 2019, 15:30:53 UTC | fix compilation? | 15 May 2019, 14:47:26 UTC |
ec82891 | Alexander Potapenko | 22 March 2019, 12:43:18 UTC | kmsan: drop an unnecessary call to kmsan_free_page() It's being already called from kmem_freepages() via __free_pages() | 15 May 2019, 14:47:25 UTC |
f3aef2f | Alexander Potapenko | 20 March 2019, 14:20:55 UTC | kmsan: use set_no_*_page in kmsan_free_page() | 15 May 2019, 14:47:25 UTC |
78f3376 | Alexander Potapenko | 20 March 2019, 14:06:22 UTC | kmsan: drop kmsan_prep_pages() | 15 May 2019, 14:47:25 UTC |
0e6b68a | Alexander Potapenko | 20 March 2019, 13:36:38 UTC | kmsan: use __free_pages() in kmsan_iounmap_page_range() | 15 May 2019, 14:47:25 UTC |
f3c81db | Alexander Potapenko | 20 March 2019, 13:33:05 UTC | kmsan: more warnings fixed | 15 May 2019, 14:47:25 UTC |
a4dceeb | Alexander Potapenko | 20 March 2019, 12:01:54 UTC | kmsan: more compile warnings | 15 May 2019, 14:47:25 UTC |
a2a076e | Alexander Potapenko | 19 March 2019, 15:48:15 UTC | kmsan: fixed more warnings | 15 May 2019, 14:47:25 UTC |
2a86266 | Alexander Potapenko | 19 March 2019, 14:46:05 UTC | kmsan: more casts | 15 May 2019, 14:47:25 UTC |
bbdd04d | Alexander Potapenko | 19 March 2019, 14:38:49 UTC | void* for kmsan_set_origin_inline | 15 May 2019, 14:47:25 UTC |
a25f94e | Alexander Potapenko | 19 March 2019, 14:30:21 UTC | __msan_poison_alloca() should accept void* | 15 May 2019, 14:47:25 UTC |
8f51fcc | Alexander Potapenko | 19 March 2019, 14:26:19 UTC | kmsan_get_shadow_origin_ptr() should accept void* | 15 May 2019, 14:47:25 UTC |
c650895 | Alexander Potapenko | 19 March 2019, 14:21:57 UTC | kmsan: fix some cast-related compiler warnings | 15 May 2019, 14:47:25 UTC |
6f19eb4 | Alexander Potapenko | 19 March 2019, 14:05:01 UTC | kmsan: drop the unneeded parameter of kmsan_report() | 15 May 2019, 14:47:25 UTC |
ea240e6 | Alexander Potapenko | 19 March 2019, 13:51:31 UTC | kmsan: fix compiler warnings in kmsan_init.c | 15 May 2019, 14:47:25 UTC |
a846d1b | Alexander Potapenko | 19 March 2019, 13:48:46 UTC | fix compile-time warnings in kmsan-checks.h | 15 May 2019, 14:47:25 UTC |
2cb9a87 | Alexander Potapenko | 15 March 2019, 16:26:22 UTC | kmsan: fix compile-time warnings in virtio_ring.c | 15 May 2019, 14:47:25 UTC |
9440edd | Alexander Potapenko | 15 March 2019, 16:25:47 UTC | kmsan: fix compile-time warnings in ioremap.c | 15 May 2019, 14:47:25 UTC |
be0f477 | Alexander Potapenko | 15 March 2019, 15:03:55 UTC | gup: drop unused variables | 15 May 2019, 14:47:24 UTC |
2b91e92 | Alexander Potapenko | 15 March 2019, 12:18:34 UTC | kmsan: hide accesses to struct page fields behind macros This is a step towards dropping page->{shadow,origin} | 15 May 2019, 14:47:24 UTC |
e52bd6d | Alexander Potapenko | 15 March 2019, 09:28:12 UTC | unify with codereview tree. NFC | 15 May 2019, 14:47:24 UTC |
8487350 | Alexander Potapenko | 14 March 2019, 17:52:02 UTC | kmsan: unify uaccess.h with the codereview tree. NFC | 15 May 2019, 14:47:24 UTC |
cbbc406 | Alexander Potapenko | 14 March 2019, 15:11:32 UTC | kmsan: uaccess.h: fix variable name conflicts This is a bit silly and straightforward, but we'll be throwing away this version of uaccess.h once Clang supports asm-goto properly. The problem is that nested macros declare variables with the same name, which results in constructs like: __pu_val = (signo); do { __typeof__(*((&infop->si_signo))) __pu_val; __pu_val = __pu_val; } while (0) , leading to false positives. | 15 May 2019, 14:47:24 UTC |
7d6ff17 | Alexander Potapenko | 14 March 2019, 11:09:09 UTC | kmsan: reinstate declaration of __msan_memcpy() in string_64.h | 15 May 2019, 14:47:24 UTC |
3788bb2 | Alexander Potapenko | 13 March 2019, 15:08:09 UTC | kmsan: call vmap hooks from vmalloc and ioremap functions | 15 May 2019, 14:47:24 UTC |
2011a03 | Alexander Potapenko | 13 March 2019, 14:51:21 UTC | kmsan: another attempt to fix vmalloc Turned out that metadata_is_contiguous() never checked vmalloc()-ed memory ranges. Moreover, kmsan_get_metadata_or_null() and kmsan_get_shadow_origin_ptr() used to return pointers to physical pages for such memory ranges, which resulted in shadow and origin being non-contiguous. This led to corrupted metadata in certain cases. The new implementation makes vmalloc area 4 times smaller, so it's now possible to keep shadow and origin pages in the two following quarters of the vmalloc area. The shadow and origin addresses are now calculated by simply adding VMALLOC_SHADOW_OFFSET or VMALLOC_ORIGIN_OFFSET to a vmalloc address. We've implemented vmap() and ioremap() support accordingly, but this patch doesn't enable them, so the kernel may be broken here. | 15 May 2019, 14:47:24 UTC |
3f1742d | Alexander Potapenko | 12 March 2019, 15:34:40 UTC | stackdepot: make sure a valid stack id is passed to depot_fetch_stack() | 15 May 2019, 14:47:24 UTC |
af8a77c | Alexander Potapenko | 12 March 2019, 14:34:03 UTC | kmsan: divide vmalloc space by 4 KMSAN may not work correctly at this point | 15 May 2019, 14:47:24 UTC |
bb4dd42 | Alexander Potapenko | 12 March 2019, 14:33:26 UTC | kmsan: remove hooks from drivers/acpi/osl.c KMSAN may not work properly at this point. | 15 May 2019, 14:47:24 UTC |
113f839 | Alexander Potapenko | 07 March 2019, 15:09:15 UTC | kmsan: fix an uninit (sic!) in kmsan_memcpy_memmove_metadata() | 15 May 2019, 14:47:24 UTC |
62f7ba3 | Alexander Potapenko | 05 March 2019, 15:49:30 UTC | kmsan: fixup mm/sl[au]b.[ch] after rebase | 15 May 2019, 14:47:24 UTC |
89a80e8 | Alexander Potapenko | 05 March 2019, 15:46:11 UTC | kmsan: fixup uaccess.h after rebase We still need to revert: "x86/uaccess: Don't leak the AC flag into __put_user() value evaluation" and "Use __put_user_goto in __put_user_size() and unsafe_put_user()" to build with Clang | 15 May 2019, 14:47:24 UTC |
8d151ec | Alexander Potapenko | 05 March 2019, 15:45:39 UTC | kmsan: fixup page_64_types.h after rebase | 15 May 2019, 14:47:24 UTC |
324bf0e | Alexander Potapenko | 05 March 2019, 13:08:53 UTC | kmsan: define __no_sanitize_memory for GCC builds | 15 May 2019, 14:47:24 UTC |
d17bd4d | Alexander Potapenko | 05 March 2019, 09:31:05 UTC | kmsan: fix a warning in a non-KMSAN build | 15 May 2019, 14:47:24 UTC |
f3856bf | Alexander Potapenko | 25 February 2019, 15:34:12 UTC | kmsan: bail out of kmsan_internal_check_memory() if size <= 0 | 15 May 2019, 14:47:24 UTC |
ac93418 | Alexander Potapenko | 28 January 2019, 12:06:23 UTC | kmsan: fix defconfig build | 15 May 2019, 14:47:23 UTC |
88eb5bd | Alexander Potapenko | 28 January 2019, 11:57:47 UTC | kmsan: drop a redundant declaration of kmsan_iounmap() | 15 May 2019, 14:47:23 UTC |
494ed75 | Alexander Potapenko | 28 January 2019, 11:47:35 UTC | kmsan: drop a conflicting __msan_memcpy() declaration | 15 May 2019, 14:47:23 UTC |
5d901f2 | Alexander Potapenko | 10 January 2019, 13:03:00 UTC | kmsan: (presumably) fix dma_map_page_attrs() | 15 May 2019, 14:47:23 UTC |
72b8930 | Alexander Potapenko | 10 January 2019, 12:47:32 UTC | kmsan: fix asm-goto build See https://github.com/ClangBuiltLinux/linux/issues/6 for details | 15 May 2019, 14:47:23 UTC |
faf565d | Alexander Potapenko | 10 January 2019, 12:36:32 UTC | Revert "x86 uaccess: Introduce __put_user_goto" This reverts commit 4a789213c9a54c8b618924d3421e56e98df8a447. | 15 May 2019, 14:47:23 UTC |
57efaab | Alexander Potapenko | 10 January 2019, 12:35:31 UTC | Revert "Use __put_user_goto in __put_user_size() and unsafe_put_user()" This reverts commit a959dc88f9c8900296ccf13e2f3e1cbc555a8917. | 15 May 2019, 14:47:23 UTC |
6ef69d4 | Alexander Potapenko | 04 January 2019, 09:54:02 UTC | kmsan: don't unpoison pt_regs before KMSAN starts | 15 May 2019, 14:47:23 UTC |
c2d5ee3 | Alexander Potapenko | 09 January 2019, 17:39:16 UTC | kmsan: reimplement metadata_is_contiguous() and memcpy/memmove impl Make sure metadata_is_contiguous() really checks for metadata pages being contiguous. Rewrite kmsan_memcpy_memmove_metadata() assuming the metadata is always contiguous. | 15 May 2019, 14:47:23 UTC |
47b2b1f | Alexander Potapenko | 09 January 2019, 17:33:39 UTC | block: kmsan: don't merge physical pages in scatterlists We're trying to move away from non-consequent metadata, and merged physical pages break the assumption that memory accesses may only touch consequent metadata ranges. | 15 May 2019, 14:47:23 UTC |
224c019 | Alexander Potapenko | 07 January 2019, 09:49:38 UTC | kmsan: fix a minor nit, NFC kmsan_get_metadata_or_null() was incorrectly called for origin instead of shadow. Fortunately we didn't use the result except for checking it for being NULL (which doesn't differ for shadow and origin) | 15 May 2019, 14:47:23 UTC |
00b7de4 | Alexander Potapenko | 04 January 2019, 13:36:28 UTC | kmsan: BUG_ON(!metadata_is_contiguous()) Now that every metadata range is allocated contiguous, non-contiguous accesses can only happen in the case of an error. | 15 May 2019, 14:47:23 UTC |
def2302 | Alexander Potapenko | 04 January 2019, 13:24:26 UTC | kmsan: simplify metadata_is_contiguous() | 15 May 2019, 14:47:23 UTC |
fa103d4 | Alexander Potapenko | 04 January 2019, 13:18:01 UTC | kmsan: remove pr_err | 15 May 2019, 14:47:23 UTC |
3299c5c | Alexander Potapenko | 04 January 2019, 13:02:04 UTC | init: use kmsan_initialize() and kmsan_initialize_shadow() | 15 May 2019, 14:47:23 UTC |
1438a2e | Alexander Potapenko | 04 January 2019, 12:59:43 UTC | kmsan: improve init Split kmsan_initialize_shadow() into two parts: - kmsan_initialize_shadow() that's called from mm_init() and allocates shadow for memblock regions and kernel .data using the memblock allocator itself; - kmsan_initialize() that just sets up the init task and turns KMSAN on. | 15 May 2019, 14:47:23 UTC |
9e746f9 | Alexander Potapenko | 31 December 2018, 11:27:25 UTC | kmsan: declare _nosanitize versions of memory functions | 15 May 2019, 14:47:23 UTC |
e06dcd2 | Alexander Potapenko | 30 December 2018, 13:11:43 UTC | Fix comment style, NFC | 15 May 2019, 14:47:22 UTC |
a80affe | Alexander Potapenko | 24 December 2018, 13:11:59 UTC | kmsan: highmem: use kmsan_clear_page() in copy_user_highpage() We don't need to copy anything because there're no source shadow pages | 15 May 2019, 14:47:22 UTC |
f22b82b | Alexander Potapenko | 24 December 2018, 12:58:26 UTC | kmsan: drop kmsan_clear_user_page() User pages don't have shadow. | 15 May 2019, 14:47:22 UTC |
577fc00 | Alexander Potapenko | 24 December 2018, 12:57:34 UTC | highmem: don't call kmsan_clear_user_page() This function just doesn't make sense, user pages don't have shadow. | 15 May 2019, 14:47:22 UTC |
b9514a7 | Alexander Potapenko | 24 December 2018, 10:56:27 UTC | kmsan: use per-cpu variable for runtime reentrancy counter Storing in_runtime in task_struct may lead to errors when accessing it from interrupts or scheduler code. Because interrupts are disabled between ENTER_RUNTIME/LEAVE_RUNTIME, keeping one counter per CPU should be enough. | 15 May 2019, 14:47:22 UTC |
32af875 | Alexander Potapenko | 21 December 2018, 16:15:32 UTC | kmsan: make the check in LEAVE_RUNTIME() more verbose hope this will help debug syzbot failures | 15 May 2019, 14:47:22 UTC |
c0b4606 | Alexander Potapenko | 21 December 2018, 10:51:12 UTC | kmsan: drop our implementation of is_logbuf_locked() | 15 May 2019, 14:47:22 UTC |
bf793cf | Alexander Potapenko | 21 December 2018, 10:50:24 UTC | printk: add is_logbuf_locked() | 15 May 2019, 14:47:22 UTC |
295d7c8 | Alexander Potapenko | 21 December 2018, 09:48:00 UTC | Revert "kmsan: stop using is_logbuf_locked()" This reverts commit 802bab94b0437f482f990fdab0fc525e03bbf382. Spurious crashes in LEAVE_RUNTIME started showing up on syzbot | 15 May 2019, 14:47:22 UTC |
b287755 | Alexander Potapenko | 21 December 2018, 09:47:51 UTC | Revert "kmsan: printk: remove logbuf_lock_is_locked" This reverts commit 7b8a9a55ee5671fd26c5ab9ab27277e7e1c12af0. | 15 May 2019, 14:47:22 UTC |
bb9ed85 | Alexander Potapenko | 20 December 2018, 16:58:48 UTC | kmsan: fix a comment to trigger build. NFC | 15 May 2019, 14:47:22 UTC |
c0efcc3 | Alexander Potapenko | 20 December 2018, 15:35:29 UTC | kmsan: page_alloc: remove unnecessary kmsan_unpoison_shadow() These calls were left over from the times when we didn't instrument page_alloc.c | 15 May 2019, 14:47:22 UTC |
6b8d10a | Alexander Potapenko | 20 December 2018, 15:22:33 UTC | kmsan: page_alloc: kmsan_alloc_page() may return different errors | 15 May 2019, 14:47:22 UTC |
5ee3056 | Alexander Potapenko | 20 December 2018, 15:17:45 UTC | kmsan: mm: gup: use kmsan_gup_pgd_range() | 15 May 2019, 14:47:22 UTC |
3672f61 | Alexander Potapenko | 20 December 2018, 15:17:02 UTC | kmsan: add kmsan_gup_pgd_range() | 15 May 2019, 14:47:22 UTC |
350de9d | Alexander Potapenko | 20 December 2018, 14:47:28 UTC | kmsan: drop a comment from clear_user_highpage() | 15 May 2019, 14:47:22 UTC |
fbbb89b | Alexander Potapenko | 20 December 2018, 14:41:11 UTC | kmsan: s/kmsan_acpi_/kmsan_io/ | 15 May 2019, 14:47:22 UTC |
78ce1ec | Alexander Potapenko | 20 December 2018, 13:54:10 UTC | kmsan: skb: fix comment | 15 May 2019, 14:47:21 UTC |
248046e | Alexander Potapenko | 20 December 2018, 13:43:33 UTC | kmsan: skb: minor fixes | 15 May 2019, 14:47:21 UTC |
021255d | Alexander Potapenko | 20 December 2018, 13:42:24 UTC | kmsan: virtio: fix comments | 15 May 2019, 14:47:21 UTC |
43dc532 | Alexander Potapenko | 20 December 2018, 13:00:58 UTC | kmsan: printk: remove logbuf_lock_is_locked | 15 May 2019, 14:47:21 UTC |
f914773 | Alexander Potapenko | 20 December 2018, 13:00:17 UTC | kmsan: stop using is_logbuf_locked() Looks like is_console_locked() is enough to avoid deadlocks. | 15 May 2019, 14:47:21 UTC |
5647c35 | Alexander Potapenko | 20 December 2018, 12:03:33 UTC | kmsan: drop kmsan_vprintk_func() declaration | 15 May 2019, 14:47:21 UTC |
dd28ecd | Alexander Potapenko | 20 December 2018, 12:00:35 UTC | kmsan: docs: don't mention metadata flags, which were removed | 15 May 2019, 14:47:21 UTC |
f73af53 | Alexander Potapenko | 20 December 2018, 11:57:46 UTC | kmsan: cleanup test_kmsan.c | 15 May 2019, 14:47:21 UTC |
ded38e1 | Alexander Potapenko | 20 December 2018, 11:48:41 UTC | kmsan: move checks in kmsan_memcpy_memmove_metadata() around | 15 May 2019, 14:47:21 UTC |
4fdafc7 | Alexander Potapenko | 19 December 2018, 16:33:11 UTC | kmsan: fix comment style in kmsan.c, minor nits | 15 May 2019, 14:47:21 UTC |
5c32f51 | Alexander Potapenko | 19 December 2018, 16:16:01 UTC | kmsan: fix -Wunused warnings | 15 May 2019, 14:47:21 UTC |
e95a122 | Alexander Potapenko | 19 December 2018, 15:51:46 UTC | kmsan: fix some review comments | 15 May 2019, 14:47:21 UTC |
e416178 | Alexander Potapenko | 19 December 2018, 15:44:56 UTC | kmsan: drop KMSAN_CHAIN_MAGIC_ORIGIN_FRAME (which was unused) | 15 May 2019, 14:47:21 UTC |
e359067 | Alexander Potapenko | 19 December 2018, 15:36:06 UTC | kmsan: drop runtime check for CONFIG_VMAP_STACK It's not necessary, as it's not compatible with CONFIG_KMSAN | 15 May 2019, 14:47:21 UTC |
92de8dc | Alexander Potapenko | 19 December 2018, 15:31:00 UTC | kmsan: simplify is_module_addr() | 15 May 2019, 14:47:21 UTC |
90dde8e | Alexander Potapenko | 19 December 2018, 15:29:06 UTC | kmsan: use min() where possible, drop min_num() | 15 May 2019, 14:47:21 UTC |
d899ea0 | Alexander Potapenko | 19 December 2018, 15:24:03 UTC | kmsan: use ORIGIN_SIZE instead of magic constants | 15 May 2019, 14:47:21 UTC |
e69494f | Alexander Potapenko | 19 December 2018, 15:14:26 UTC | kmsan: use one dummy page for loads and one for stores No need to distinguish between origins and shadows | 15 May 2019, 14:47:20 UTC |