kernel_optimize_test/drivers/hv
Vitaly Kuznetsov 510f7aef65 Drivers: hv: vmbus: prefer 'die' notification chain to 'panic'
current_pt_regs() sometimes returns regs of the userspace process and in
case of a kernel crash this is not what we need to report. E.g. when we
trigger crash with sysrq we see the following:
...
 RIP: 0010:[<ffffffff815b8696>]  [<ffffffff815b8696>] sysrq_handle_crash+0x16/0x20
 RSP: 0018:ffff8800db0a7d88  EFLAGS: 00010246
 RAX: 000000000000000f RBX: ffffffff820a0660 RCX: 0000000000000000
...
at the same time current_pt_regs() give us:
ip=7f899ea7e9e0, ax=ffffffffffffffda, bx=26c81a0, cx=7f899ea7e9e0, ...
These registers come from the userspace process triggered the crash. As we
don't even know which process it was this information is rather useless.

When kernel crash happens through 'die' proper regs are being passed to
all receivers on the die_chain (and panic_notifier_list is being notified
with the string passed to panic() only). If panic() is called manually
(e.g. on BUG()) we won't get 'die' notification so keep the 'panic'
notification reporter as well but guard against double reporting.

Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-08-04 22:28:38 -07:00
..
channel_mgmt.c Drivers: hv: vmbus: Implement NUMA aware CPU affinity for channels 2015-06-01 10:56:31 +09:00
channel.c Drivers: hv: vmbus: Allocate ring buffer memory in NUMA aware fashion 2015-06-12 16:58:33 -07:00
connection.c Drivers: hv: vmbus:Update preferred vmbus protocol version to windows 10. 2015-06-01 06:38:21 +09:00
hv_balloon.c Drivers: hv: balloon: check if ha_region_mutex was acquired in MEM_CANCEL_ONLINE case 2015-06-01 06:38:21 +09:00
hv_fcopy.c Drivers: hv: utils: unify driver registration reporting 2015-05-24 12:17:42 -07:00
hv_kvp.c Drivers: hv: utils: unify driver registration reporting 2015-05-24 12:17:42 -07:00
hv_snapshot.c Drivers: hv: utils: unify driver registration reporting 2015-05-24 12:17:42 -07:00
hv_util.c Drivers: hv: util: On device remove, close the channel after de-initializing the service 2015-03-01 19:31:02 -08:00
hv_utils_transport.c Drivers: hv: util: introduce hv_utils_transport abstraction 2015-05-24 12:17:41 -07:00
hv_utils_transport.h Drivers: hv: util: introduce hv_utils_transport abstraction 2015-05-24 12:17:41 -07:00
hv.c Drivers: hv: don't do hypercalls when hypercall_page is NULL 2015-08-04 22:25:29 -07:00
hyperv_vmbus.h Drivers: hv: vmbus: Implement the protocol for tearing down vmbus state 2015-05-24 12:18:24 -07:00
Kconfig x86: Make Linux guest support optional 2013-03-04 13:14:25 -08:00
Makefile Drivers: hv: util: introduce hv_utils_transport abstraction 2015-05-24 12:17:41 -07:00
ring_buffer.c Drivers: hv: vmbus: Enable interrupt driven flow control 2014-09-23 23:31:22 -07:00
vmbus_drv.c Drivers: hv: vmbus: prefer 'die' notification chain to 'panic' 2015-08-04 22:28:38 -07:00