On Mon, Mar 14, 2022 at 12:04 PM Philipp Rudo <prudo@xxxxxxxxxx> wrote: > > Hi, > > dumping the dmesg can cause an endless loop for the old prink mechanism (> > v3.5.0 and < v5.10.0) when the log_buf got corrupted. This series fixes those > cases by adding a cycle detection. The cycle detection is implemented in a > generic way so that it can be reused in other parts of makedumpfile. > > Thanks > Philipp > > v2: > * Rename 'idx' to 'ptr' > * Also print the non-loop part when a cycle was detected. Such a > situation can happen when log_buf wrapped around in the kernel > (log_first_idx != 0) and the corruption occurred on an > idx < log_first_idx. > * Add patch 4 fixing a bug independent from the memory corruption but > found while investigating it. > > Philipp Rudo (4): > makedumpfile: add generic cycle detection > makedumpfile: use pointer arithmetics for dump_dmesg > makedumpfile: use cycle detection when parsing the prink log_buf > makedumpfile: print error when reading with unsupported compression > > Makefile | 2 +- > detect_cycle.c | 99 +++++++++++++++++++++++++++++++++++++ > detect_cycle.h | 40 +++++++++++++++ > makedumpfile.c | 131 ++++++++++++++++++++++++++++++++++++++++--------- > 4 files changed, 247 insertions(+), 25 deletions(-) > create mode 100644 detect_cycle.c > create mode 100644 detect_cycle.h > > -- > 2.35.1 > Thanks for doing v2. Reviewing / testing this now... _______________________________________________ kexec mailing list kexec@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/kexec