config HAVE_ARCH_KGDB bool menuconfig KGDB bool "KGDB: kernel debugger" depends on HAVE_ARCH_KGDB depends on DEBUG_KERNEL help If you say Y here, it will be possible to remotely debug the kernel using gdb. It is recommended but not required, that you also turn on the kernel config option CONFIG_FRAME_POINTER to aid in producing more reliable stack backtraces in the external debugger. Documentation of kernel debugger is available at http://kgdb.sourceforge.net as well as in DocBook form in Documentation/DocBook/. If unsure, say N. if KGDB config KGDB_SERIAL_CONSOLE tristate "KGDB: use kgdb over the serial console" select CONSOLE_POLL select MAGIC_SYSRQ depends on TTY && HW_CONSOLE default y help Share a serial console with kgdb. Sysrq-g must be used to break in initially. config KGDB_TESTS bool "KGDB: internal test suite" default n help This is a kgdb I/O module specifically designed to test kgdb's internal functions. This kgdb I/O module is intended to for the development of new kgdb stubs as well as regression testing the kgdb internals. See the drivers/misc/kgdbts.c for the details about the tests. The most basic of this I/O module is to boot a kernel boot arguments "kgdbwait kgdbts=V1F100" config KGDB_TESTS_ON_BOOT bool "KGDB: Run tests on boot" depends on KGDB_TESTS default n help Run the kgdb tests on boot up automatically without the need to pass in a kernel parameter config KGDB_TESTS_BOOT_STRING string "KGDB: which internal kgdb tests to run" depends on KGDB_TESTS_ON_BOOT default "V1F100" help This is the command string to send the kgdb test suite on boot. See the drivers/misc/kgdbts.c for detailed information about other strings you could use beyond the default of V1F100. config KGDB_LOW_LEVEL_TRAP bool "KGDB: Allow debugging with traps in notifiers" depends on X86 || MIPS default n help This will add an extra call back to kgdb for the breakpoint exception handler which will allow kgdb to step through a notify handler. config KGDB_KDB bool "KGDB_KDB: include kdb frontend for kgdb" default n help KDB frontend for kernel config KDB_DEFAULT_ENABLE hex "KDB: Select kdb command functions to be enabled by default" depends on KGDB_KDB default 0x1 help Specifiers which kdb commands are enabled by default. This may be set to 1 or 0 to enable all commands or disable almost all commands. Alternatively the following bitmask applies: 0x0002 - allow arbitrary reads from memory and symbol lookup 0x0004 - allow arbitrary writes to memory 0x0008 - allow current register state to be inspected 0x0010 - allow current register state to be modified 0x0020 - allow passive inspection (backtrace, process list, lsmod) 0x0040 - allow flow control management (breakpoint, single step) 0x0080 - enable signalling of processes 0x0100 - allow machine to be rebooted The config option merely sets the default at boot time. Both issuing 'echo X > /sys/module/kdb/parameters/cmd_enable' or setting with kdb.cmd_enable=X kernel command line option will override the default settings. config KDB_KEYBOARD bool "KGDB_KDB: keyboard as input device" depends on VT && KGDB_KDB default n help KDB can use a PS/2 type keyboard for an input device config KDB_CONTINUE_CATASTROPHIC int "KDB: continue after catastrophic errors" depends on KGDB_KDB default "0" help This integer controls the behaviour of kdb when the kernel gets a catastrophic error, i.e. for a panic or oops. When KDB is active and a catastrophic error occurs, nothing extra will happen until you type 'go'. CONFIG_KDB_CONTINUE_CATASTROPHIC == 0 (default). The first time you type 'go', you will be warned by kdb. The secend time you type 'go', KDB tries to continue. No guarantees that the kernel is still usable in this situation. CONFIG_KDB_CONTINUE_CATASTROPHIC == 1. KDB tries to continue. No guarantees that the kernel is still usable in this situation. CONFIG_KDB_CONTINUE_CATASTROPHIC == 2. KDB forces a reboot. If you are not sure, say 0. endif # KGDB alue='0' selected='selected'>includemode:
authorTejun Heo <tj@kernel.org>2017-01-26 16:47:28 -0500
committerTejun Heo <tj@kernel.org>2017-01-26 16:47:28 -0500
commit07cd12945551b63ecb1a349d50a6d69d1d6feb4a (patch)
tree75f65eba7eac9277971082a2d5a4cf1370562c0c /include/net/sctp/ulpqueue.h
parent7ce7d89f48834cefece7804d38fc5d85382edf77 (diff)
cgroup: don't online subsystems before cgroup_name/path() are operational
While refactoring cgroup creation, a5bca2152036 ("cgroup: factor out cgroup_create() out of cgroup_mkdir()") incorrectly onlined subsystems before the new cgroup is associated with it kernfs_node. This is fine for cgroup proper but cgroup_name/path() depend on the associated kernfs_node and if a subsystem makes the new cgroup_subsys_state visible, which they're allowed to after onlining, it can lead to NULL dereference. The current code performs cgroup creation and subsystem onlining in cgroup_create() and cgroup_mkdir() makes the cgroup and subsystems visible afterwards. There's no reason to online the subsystems early and we can simply drop cgroup_apply_control_enable() call from cgroup_create() so that the subsystems are onlined and made visible at the same time. Signed-off-by: Tejun Heo <tj@kernel.org> Reported-by: Konstantin Khlebnikov <khlebnikov@yandex-team.ru> Fixes: a5bca2152036 ("cgroup: factor out cgroup_create() out of cgroup_mkdir()") Cc: stable@vger.kernel.org # v4.6+
Diffstat (limited to 'include/net/sctp/ulpqueue.h')