kernel_optimize_test/lib
Daniel Thompson f2d10ff4a9 kgdb: Honour the kprobe blocklist when setting breakpoints
Currently kgdb has absolutely no safety rails in place to discourage or
prevent a user from placing a breakpoint in dangerous places such as
the debugger's own trap entry/exit and other places where it is not safe
to take synchronous traps.

Introduce a new config symbol KGDB_HONOUR_BLOCKLIST and modify the
default implementation of kgdb_validate_break_address() so that we use
the kprobe blocklist to prohibit instrumentation of critical functions
if the config symbol is set. The config symbol dependencies are set to
ensure that the blocklist will be enabled by default if we enable KGDB
and are compiling for an architecture where we HAVE_KPROBES.

Suggested-by: Peter Zijlstra <peterz@infradead.org>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Reviewed-by: Masami Hiramatsu <mhiramat@kernel.org>
Link: https://lore.kernel.org/r/20200927211531.1380577-2-daniel.thompson@linaro.org
Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
2020-09-28 12:14:08 +01:00
..
842 kbuild: trace functions in subdirectories of lib/ 2020-08-10 01:32:59 +09:00
crypto kbuild: trace functions in subdirectories of lib/ 2020-08-10 01:32:59 +09:00
dim lib: Revert use of fallthrough pseudo-keyword in lib/ 2020-08-24 14:17:44 -07:00
fonts kbuild: trace functions in subdirectories of lib/ 2020-08-10 01:32:59 +09:00
kunit kbuild: trace functions in subdirectories of lib/ 2020-08-10 01:32:59 +09:00
livepatch Kbuild updates for v5.9 2020-08-09 14:10:26 -07:00
lz4 lz4: fix kernel decompression speed 2020-08-14 19:56:56 -07:00
lzo kbuild: trace functions in subdirectories of lib/ 2020-08-10 01:32:59 +09:00
math lib/: replace HTTP links with HTTPS ones 2020-08-12 10:58:00 -07:00
mpi kbuild: trace functions in subdirectories of lib/ 2020-08-10 01:32:59 +09:00
pldmfw Add pldmfw library for PLDM firmware update 2020-07-28 17:07:06 -07:00
raid6 kbuild: trace functions in subdirectories of lib/ 2020-08-10 01:32:59 +09:00
reed_solomon kbuild: trace functions in subdirectories of lib/ 2020-08-10 01:32:59 +09:00
vdso vdso/treewide: Add vdso_data pointer argument to __arch_get_hw_counter() 2020-08-06 10:57:30 +02:00
xz lib: Revert use of fallthrough pseudo-keyword in lib/ 2020-08-24 14:17:44 -07:00
zlib_deflate kbuild: trace functions in subdirectories of lib/ 2020-08-10 01:32:59 +09:00
zlib_dfltcc kbuild: trace functions in subdirectories of lib/ 2020-08-10 01:32:59 +09:00
zlib_inflate kbuild: trace functions in subdirectories of lib/ 2020-08-10 01:32:59 +09:00
zstd lib: Revert use of fallthrough pseudo-keyword in lib/ 2020-08-24 14:17:44 -07:00
.gitignore
argv_split.c
ashldi3.c
ashrdi3.c
asn1_decoder.c lib: Revert use of fallthrough pseudo-keyword in lib/ 2020-08-24 14:17:44 -07:00
assoc_array.c lib: Revert use of fallthrough pseudo-keyword in lib/ 2020-08-24 14:17:44 -07:00
atomic64_test.c
atomic64.c
audit.c
bcd.c
bch.c
bitmap.c lib/bitmap.c: fix bitmap_cut() for partial overlapping case 2020-08-12 10:57:59 -07:00
bitrev.c
bootconfig.c lib: Revert use of fallthrough pseudo-keyword in lib/ 2020-08-24 14:17:44 -07:00
bsearch.c lib/bsearch: Provide __always_inline variant 2020-06-11 15:14:53 +02:00
btree.c
bucket_locks.c
bug.c
build_OID_registry
bust_spinlocks.c
check_signature.c
checksum.c arch, net: remove the last csum_partial_copy() leftovers 2020-07-20 17:45:32 -07:00
clz_ctz.c
clz_tab.c
cmdline.c lib: Revert use of fallthrough pseudo-keyword in lib/ 2020-08-24 14:17:44 -07:00
cmpdi2.c
compat_audit.c
cpu_rmap.c
cpumask.c lib: Restrict cpumask_local_spread to houskeeping CPUs 2020-07-08 11:39:01 +02:00
crc-ccitt.c
crc-itu-t.c
crc-t10dif.c crc-t10dif: clean up some more things 2020-06-18 17:26:43 +10:00
crc4.c
crc7.c
crc8.c
crc16.c
crc32.c docs: move remaining stuff under Documentation/*.txt to Documentation/staging 2020-06-19 14:17:05 -06:00
crc32defs.h
crc32test.c
crc64.c lib/: replace HTTP links with HTTPS ones 2020-08-12 10:58:00 -07:00
ctype.c
debug_info.c
debug_locks.c
debugobjects.c debugobjects: Convert to DEFINE_SHOW_ATTRIBUTE 2020-07-17 23:25:46 +02:00
dec_and_lock.c
decompress_bunzip2.c lib/: replace HTTP links with HTTPS ones 2020-08-12 10:58:00 -07:00
decompress_inflate.c
decompress_unlz4.c
decompress_unlzma.c lib/: replace HTTP links with HTTPS ones 2020-08-12 10:58:00 -07:00
decompress_unlzo.c
decompress_unxz.c
decompress_unzstd.c lib: Add zstd support to decompress 2020-07-31 11:49:08 +02:00
decompress.c lib: Add zstd support to decompress 2020-07-31 11:49:08 +02:00
devres.c lib: devres: add a comment about the devm_of_iomap() function 2020-07-10 14:15:55 +02:00
digsig.c
dump_stack.c kernel: rename show_stack_loglvl() => show_stack() 2020-06-09 09:39:13 -07:00
dynamic_debug.c dyndbg: export ddebug_exec_queries 2020-07-24 17:00:10 +02:00
dynamic_queue_limits.c
earlycpio.c
errname.c
error-inject.c
errseq.c
extable.c
fault-inject.c
fdt_addresses.c
fdt_empty_tree.c
fdt_ro.c
fdt_rw.c
fdt_strerror.c
fdt_sw.c
fdt_wip.c
fdt.c
find_bit_benchmark.c
find_bit.c
flex_proportions.c
gen_crc32table.c
gen_crc64table.c
genalloc.c
generic-radix-tree.c
glob.c lib: Revert use of fallthrough pseudo-keyword in lib/ 2020-08-24 14:17:44 -07:00
globtest.c
hexdump.c
hweight.c
idr.c
inflate.c
interval_tree_test.c
interval_tree.c
iomap_copy.c
iomap.c iomap: constify ioreadX() iomem argument (as in generic implementation) 2020-08-14 19:56:57 -07:00
iommu-helper.c
iov_iter.c iov_iter: Move unnecessary inclusion of crypto/hash.h 2020-06-30 09:34:23 -04:00
irq_poll.c
irq_regs.c
is_single_threaded.c
kasprintf.c
Kconfig Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next 2020-08-05 20:13:21 -07:00
Kconfig.debug lib/Kconfig.debug: fix typo in the help text of CONFIG_PANIC_TIMEOUT 2020-08-12 10:58:02 -07:00
Kconfig.kasan kasan: update required compiler versions in documentation 2020-08-07 11:33:28 -07:00
Kconfig.kcsan kcsan: Re-add GCC as a supported compiler 2020-06-29 12:04:48 -07:00
Kconfig.kgdb kgdb: Honour the kprobe blocklist when setting breakpoints 2020-09-28 12:14:08 +01:00
Kconfig.ubsan ubsan, kcsan: Don't combine sanitizer with kcov on clang 2020-06-11 20:03:59 +02:00
kfifo.c
klist.c
kobject_uevent.c
kobject.c kobject: Avoid premature parent object freeing in kobject_cleanup() 2020-07-10 14:14:37 +02:00
kstrtox.c kstrto*: do not describe simple_strto*() as obsolete/replaced 2020-08-12 10:58:00 -07:00
kstrtox.h
libcrc32c.c
linear_ranges.c
list_debug.c
list_sort.c
list-test.c
llist.c
locking-selftest-hardirq.h
locking-selftest-mutex.h
locking-selftest-rlock-hardirq.h
locking-selftest-rlock-softirq.h
locking-selftest-rlock.h
locking-selftest-rsem.h
locking-selftest-rtmutex.h
locking-selftest-softirq.h
locking-selftest-spin-hardirq.h
locking-selftest-spin-softirq.h
locking-selftest-spin.h
locking-selftest-wlock-hardirq.h
locking-selftest-wlock-softirq.h
locking-selftest-wlock.h
locking-selftest-wsem.h
locking-selftest.c
lockref.c
logic_pio.c
lru_cache.c
lshrdi3.c
Makefile lib/string.c: Use freestanding environment 2020-08-19 11:23:45 -07:00
memcat_p.c
memory-notifier-error-inject.c
memregion.c
memweight.c
muldi3.c
net_utils.c
netdev-notifier-error-inject.c
nlattr.c
nmi_backtrace.c
nodemask.c
notifier-error-inject.c
notifier-error-inject.h
objagg.c
of-reconfig-notifier-error-inject.c
oid_registry.c
once.c
packing.c lib: packing: add documentation for pbuflen argument 2020-06-28 20:45:27 -07:00
parman.c
parser.c
pci_iomap.c
percpu_counter.c percpu_counter: add percpu_counter_sync() 2020-08-07 11:33:26 -07:00
percpu_test.c
percpu-refcount.c
plist.c
pm-notifier-error-inject.c
radix-tree.c treewide: Remove uninitialized_var() usage 2020-07-16 12:35:15 -07:00
random32.c random32: add a tracepoint for prandom_u32() 2020-08-13 15:11:14 -07:00
ratelimit.c
rbtree_test.c
rbtree.c lib/: replace HTTP links with HTTPS ones 2020-08-12 10:58:00 -07:00
refcount.c
rhashtable.c rhashtable: Restore RCU marking on rhash_lock_head 2020-07-28 17:09:49 -07:00
sbitmap.c sbitmap: Consider cleared bits in sbitmap_bitmap_show() 2020-07-01 10:53:00 -06:00
scatterlist.c
seq_buf.c seq_buf: Export seq_buf_printf 2020-06-15 18:22:43 -07:00
sg_pool.c
sg_split.c
sha1.c
show_mem.c
siphash.c lib: Revert use of fallthrough pseudo-keyword in lib/ 2020-08-24 14:17:44 -07:00
smp_processor_id.c lib/smp_processor_id: Move it into noinstr section 2020-06-11 15:14:36 +02:00
sort.c
stackdepot.c
stmp_device.c
string_helpers.c
string.c
strncpy_from_user.c
strnlen_user.c
syscall.c
test_bitfield.c
test_bitmap.c lib/test_bitmap.c: add test for bitmap_cut() 2020-08-12 10:57:59 -07:00
test_bitops.c lib/test_bitops: do the full test during module init 2020-08-12 10:57:59 -07:00
test_bits.c lib/test_bits.c: add tests of GENMASK 2020-08-12 10:58:00 -07:00
test_blackhole_dev.c
test_bpf.c bpf: revert "test_bpf: Flag tests that cannot be jited on s390" 2020-07-16 20:52:43 +02:00
test_debug_virtual.c
test_firmware.c Revert "test_firmware: Test platform fw loading on non-EFI systems" 2020-07-27 12:14:28 +02:00
test_fpu.c selftests/fpu: Add an FPU selftest 2020-06-29 10:02:23 +02:00
test_hash.c
test_hexdump.c
test_hmm_uapi.h mm/hmm: add tests for hmm_pfn_to_map_order() 2020-07-10 16:24:28 -03:00
test_hmm.c mm/hmm/test: use the new migration invalidation 2020-07-28 16:20:33 -03:00
test_ida.c
test_kasan.c kasan: adjust kasan_stack_oob for tag-based mode 2020-08-07 11:33:28 -07:00
test_kmod.c test_kmod: avoid potential double free in trigger_config_run_type() 2020-08-12 10:58:01 -07:00
test_linear_ranges.c
test_list_sort.c
test_lockup.c lib/test_lockup.c: fix return value of test_lockup_init() 2020-08-12 10:58:00 -07:00
test_memcat_p.c
test_meminit.c
test_min_heap.c
test_module.c
test_objagg.c test_objagg: Fix potential memory leak in error handling 2020-06-15 13:32:11 -07:00
test_overflow.c
test_parman.c
test_printf.c
test_rhashtable.c
test_siphash.c
test_sort.c
test_stackinit.c
test_static_key_base.c
test_static_keys.c
test_string.c
test_strscpy.c
test_sysctl.c linux-kselftest-5.8-rc1 2020-06-09 10:03:12 -07:00
test_ubsan.c
test_user_copy.c
test_uuid.c
test_vmalloc.c lib/test_vmalloc.c: Add test cases for kvfree_rcu() 2020-06-29 11:59:26 -07:00
test_xarray.c
test-kstrtox.c
test-string_helpers.c lib/test-string_helpers.c: Add string_upper() and string_lower() tests 2020-07-15 12:45:06 +03:00
textsearch.c
timerqueue.c
ts_bm.c lib/: replace HTTP links with HTTPS ones 2020-08-12 10:58:00 -07:00
ts_fsm.c lib: Revert use of fallthrough pseudo-keyword in lib/ 2020-08-24 14:17:44 -07:00
ts_kmp.c
ubsan.c
ubsan.h
ucmpdi2.c
ucs2_string.c
usercopy.c Rebase locking/kcsan to locking/urgent 2020-06-11 20:02:46 +02:00
uuid.c
vsprintf.c lib: Revert use of fallthrough pseudo-keyword in lib/ 2020-08-24 14:17:44 -07:00
win_minmax.c
xarray.c
xxhash.c lib/: replace HTTP links with HTTPS ones 2020-08-12 10:58:00 -07:00