Skip to content

ipmi: various fixes for panic notifier robustness

Hidehiro Kawai lkml 1 version In review

Get series with b4
b4 am 20150727055516.4759.34462.stgit@softrs

Versions newest first

  1. v1 Latest7 patches 11 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/7ipmi: Remove unneeded set_run_to_completion calldrivers/char/ipmi/ipmi_msghandler.c+0 -20 replies
2/7ipmi: Factor out message flushing proceduredrivers/char/ipmi/ipmi_si_intf.c+18 -210 replies
3/7ipmi: Don't flush messages in sneder() in run-to-completion modedrivers/char/ipmi/ipmi_msghandler.c drivers/char/ipmi/ipmi_si_intf.c include/linux/ipmi_smi.h+11 -20 replies
4/7ipmi: Avoid touching possible corrupted lists in the panic contextdrivers/char/ipmi/ipmi_msghandler.c+17 -00 replies
5/7ipmi: Don't call receive handler in the panic contextdrivers/char/ipmi/ipmi_msghandler.c+7 -10 replies
6/7ipmi: Handle queued messages more certainly on panicdrivers/char/ipmi/ipmi_msghandler.c drivers/char/ipmi/ipmi_si_intf.c include/linux/ipmi_smi.h+45 -13 replies
7/7ipmi/kcs: Don't run the KCS state machine when it is KCS_IDLEdrivers/char/ipmi/ipmi_kcs_sm.c+4 -08 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH 0/7] ipmi: various fixes for panic notifier robustness

This patche set fixes multiple bugs in IPMI driver especially for the panic notifier callback panic_event() and related functions. This callback is called before kdump if crash_kexec_post_notifiers boot option is specified, so its robustness is very important.

panic_event() first tries to flush queued messages before panic, and this can cause multiple trouble such as hang-up. PATCH 3 to 6 addresses this kind of problems.

PATCH 7 addresses a problem caused by malfunctioning BMC.

NOTE: I'm planning to post another patch set which includes a patch to drop all queued messages at the beginning of panic_event() if crash_kexec_post_notifiers boot option is specified. This will improve the robustness of the panic notifier callback.

---

Hidehiro Kawai (7):
ipmi: Remove unneeded set_run_to_completion call
ipmi: Factor out message flushing procedure
ipmi: Don't flush messages in sneder() in run-to-completion mode
ipmi: Avoid touching possible corrupted lists in the panic context
ipmi: Don't call receive handler in the panic context
ipmi: Handle queued messages more certainly on panic ipmi/kcs: Don't run the KCS state machine when it is KCS_IDLE

 drivers/char/ipmi/ipmi_kcs_sm.c     |    4 ++
 drivers/char/ipmi/ipmi_msghandler.c |   66 +++++++++++++++++++++++++++++++++--
 drivers/char/ipmi/ipmi_si_intf.c    |   45 ++++++++++++------------
 include/linux/ipmi_smi.h            |   10 +++++
 4 files changed, 100 insertions(+), 25 deletions(-)
Signature · 2 lines
Hidehiro Kawai
Hitachi, Ltd. Research & Development Group