forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'akpm' (patches from Andrew)
Merge third patch-bomb from Andrew Morton: "I'm pretty much done for -rc1 now: - the rest of MM, basically - lib/ updates - checkpatch, epoll, hfs, fatfs, ptrace, coredump, exit - cpu_mask simplifications - kexec, rapidio, MAINTAINERS etc, etc. - more dma-mapping cleanups/simplifications from hch" * emailed patches from Andrew Morton <[email protected]>: (109 commits) MAINTAINERS: add/fix git URLs for various subsystems mm: memcontrol: add "sock" to cgroup2 memory.stat mm: memcontrol: basic memory statistics in cgroup2 memory controller mm: memcontrol: do not uncharge old page in page cache replacement Documentation: cgroup: add memory.swap.{current,max} description mm: free swap cache aggressively if memcg swap is full mm: vmscan: do not scan anon pages if memcg swap limit is hit swap.h: move memcg related stuff to the end of the file mm: memcontrol: replace mem_cgroup_lruvec_online with mem_cgroup_online mm: vmscan: pass memcg to get_scan_count() mm: memcontrol: charge swap to cgroup2 mm: memcontrol: clean up alloc, online, offline, free functions mm: memcontrol: flatten struct cg_proto mm: memcontrol: rein in the CONFIG space madness net: drop tcp_memcontrol.c mm: memcontrol: introduce CONFIG_MEMCG_LEGACY_KMEM mm: memcontrol: allow to disable kmem accounting for cgroup2 mm: memcontrol: account "kmem" consumers in cgroup2 memory controller mm: memcontrol: move kmem accounting code to CONFIG_MEMCG mm: memcontrol: separate kmem code from legacy tcp accounting code ...
- Loading branch information
Showing
203 changed files
with
3,642 additions
and
3,991 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -1856,6 +1856,16 @@ S: Korte Heul 95 | |
S: 1403 ND BUSSUM | ||
S: The Netherlands | ||
|
||
N: Martin Kepplinger | ||
E: [email protected] | ||
E: [email protected] | ||
W: http://www.martinkepplinger.com | ||
D: mma8452 accelerators iio driver | ||
D: Kernel cleanups | ||
S: Garnisonstraße 26 | ||
S: 4020 Linz | ||
S: Austria | ||
|
||
N: Karl Keyte | ||
E: [email protected] | ||
D: Disk usage statistics and modifications to line printer driver | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,84 @@ | ||
Undefined Behavior Sanitizer - UBSAN | ||
|
||
Overview | ||
-------- | ||
|
||
UBSAN is a runtime undefined behaviour checker. | ||
|
||
UBSAN uses compile-time instrumentation to catch undefined behavior (UB). | ||
Compiler inserts code that perform certain kinds of checks before operations | ||
that may cause UB. If check fails (i.e. UB detected) __ubsan_handle_* | ||
function called to print error message. | ||
|
||
GCC has that feature since 4.9.x [1] (see -fsanitize=undefined option and | ||
its suboptions). GCC 5.x has more checkers implemented [2]. | ||
|
||
Report example | ||
--------------- | ||
|
||
================================================================================ | ||
UBSAN: Undefined behaviour in ../include/linux/bitops.h:110:33 | ||
shift exponent 32 is to large for 32-bit type 'unsigned int' | ||
CPU: 0 PID: 0 Comm: swapper Not tainted 4.4.0-rc1+ #26 | ||
0000000000000000 ffffffff82403cc8 ffffffff815e6cd6 0000000000000001 | ||
ffffffff82403cf8 ffffffff82403ce0 ffffffff8163a5ed 0000000000000020 | ||
ffffffff82403d78 ffffffff8163ac2b ffffffff815f0001 0000000000000002 | ||
Call Trace: | ||
[<ffffffff815e6cd6>] dump_stack+0x45/0x5f | ||
[<ffffffff8163a5ed>] ubsan_epilogue+0xd/0x40 | ||
[<ffffffff8163ac2b>] __ubsan_handle_shift_out_of_bounds+0xeb/0x130 | ||
[<ffffffff815f0001>] ? radix_tree_gang_lookup_slot+0x51/0x150 | ||
[<ffffffff8173c586>] _mix_pool_bytes+0x1e6/0x480 | ||
[<ffffffff83105653>] ? dmi_walk_early+0x48/0x5c | ||
[<ffffffff8173c881>] add_device_randomness+0x61/0x130 | ||
[<ffffffff83105b35>] ? dmi_save_one_device+0xaa/0xaa | ||
[<ffffffff83105653>] dmi_walk_early+0x48/0x5c | ||
[<ffffffff831066ae>] dmi_scan_machine+0x278/0x4b4 | ||
[<ffffffff8111d58a>] ? vprintk_default+0x1a/0x20 | ||
[<ffffffff830ad120>] ? early_idt_handler_array+0x120/0x120 | ||
[<ffffffff830b2240>] setup_arch+0x405/0xc2c | ||
[<ffffffff830ad120>] ? early_idt_handler_array+0x120/0x120 | ||
[<ffffffff830ae053>] start_kernel+0x83/0x49a | ||
[<ffffffff830ad120>] ? early_idt_handler_array+0x120/0x120 | ||
[<ffffffff830ad386>] x86_64_start_reservations+0x2a/0x2c | ||
[<ffffffff830ad4f3>] x86_64_start_kernel+0x16b/0x17a | ||
================================================================================ | ||
|
||
Usage | ||
----- | ||
|
||
To enable UBSAN configure kernel with: | ||
|
||
CONFIG_UBSAN=y | ||
|
||
and to check the entire kernel: | ||
|
||
CONFIG_UBSAN_SANITIZE_ALL=y | ||
|
||
To enable instrumentation for specific files or directories, add a line | ||
similar to the following to the respective kernel Makefile: | ||
|
||
For a single file (e.g. main.o): | ||
UBSAN_SANITIZE_main.o := y | ||
|
||
For all files in one directory: | ||
UBSAN_SANITIZE := y | ||
|
||
To exclude files from being instrumented even if | ||
CONFIG_UBSAN_SANITIZE_ALL=y, use: | ||
|
||
UBSAN_SANITIZE_main.o := n | ||
and: | ||
UBSAN_SANITIZE := n | ||
|
||
Detection of unaligned accesses controlled through the separate option - | ||
CONFIG_UBSAN_ALIGNMENT. It's off by default on architectures that support | ||
unaligned accesses (CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y). One could | ||
still enable it in config, just note that it will produce a lot of UBSAN | ||
reports. | ||
|
||
References | ||
---------- | ||
|
||
[1] - https://gcc.gnu.org/onlinedocs/gcc-4.9.0/gcc/Debugging-Options.html | ||
[2] - https://gcc.gnu.org/onlinedocs/gcc/Debugging-Options.html |
Oops, something went wrong.