Unnamed repository
Go to file
Philipp Rudo fb25c11f79 use cycle detection when parsing the prink log_buf
Resolves: bz2069200
Upstream: github.com/makedumpfile/makedumpfile.git
Conflicts: None

commit 68d120b30af5e930afafed81e79712af3c1a278c
Author: Philipp Rudo <prudo@redhat.com>
Date:   Mon Mar 14 17:04:31 2022 +0100

    [PATCH v2 3/3] use cycle detection when parsing the prink log_buf

    The old printk mechanism (> v3.5.0 and < v5.10.0) had a fixed size
    buffer (log_buf) that contains all messages. The location for the next
    message is stored in log_next_idx. In case the log_buf runs full
    log_next_idx wraps around and starts overwriting old messages at the
    beginning of the buffer. The wraparound is denoted by a message with
    msg->len == 0.

    Following the behavior described above blindly in makedumpfile is
    dangerous as e.g. a memory corruption could overwrite (parts of) the
    log_buf. If the corruption adds a message with msg->len == 0 this leads
    to an endless loop when dumping the dmesg with makedumpfile appending
    the messages up to the corruption over and over again to the output file
    until file system is full. Fix this by using cycle detection and aboard
    once one is detected.

    While at it also verify that the index is within the log_buf and thus
    guard against corruptions with msg->len != 0.

    Reported-by: Audra Mitchell <aubaker@redhat.com>
    Suggested-by: Dave Wysochanski <dwysocha@redhat.com>
    Signed-off-by: Philipp Rudo <prudo@redhat.com>
    Reviewed-and-tested-by: Dave Wysochanski <dwysocha@redhat.com>

Signed-off-by: Philipp Rudo <prudo@redhat.com>
2022-03-28 18:39:31 +02:00
tests Merged update from upstream sources 2020-11-20 12:35:49 +00:00
.editorconfig kdump-lib-initramfs.sh: prepare to be a POSIX compatible lib 2021-11-09 21:45:15 +08:00
.gitignore RHEL 9.0.0 Alpha bootstrap 2020-10-15 14:45:57 +02:00
60-kdump.install Write to `/var/lib/kdump` if $KDUMP_BOOTDIR not writable 2021-06-23 09:34:40 +08:00
92-crashkernel.install reset kernel crashkernel for the special case where the kernel is updated right after kexec-tools 2022-01-06 03:55:25 +00:00
98-kexec.rules RHEL 9.0.0 Alpha bootstrap 2020-10-15 14:45:57 +02:00
98-kexec.rules.ppc64 Stop reloading kdump service on CPU hotplug event for FADump 2021-05-14 14:27:03 +08:00
README RHEL 9.0.0 Alpha bootstrap 2020-10-15 14:45:57 +02:00
crashkernel-howto.txt update crashkernel-howto 2022-01-06 03:55:25 +00:00
dracut-early-kdump-module-setup.sh dracut-early-kdump-module-setup.sh: install xargs and kdump-lib-initramfs.sh 2022-01-06 14:31:33 +08:00
dracut-early-kdump.sh dracut-early-kdump.sh: make it POSIX compatible 2021-11-10 10:27:00 +08:00
dracut-fadump-init-fadump.sh fadump-init: clean up mount points properly 2021-07-20 15:43:43 +08:00
dracut-fadump-module-setup.sh fadump: isolate fadump initramfs image within the default one 2021-07-20 15:43:11 +08:00
dracut-kdump-capture.service RHEL 9.0.0 Alpha bootstrap 2020-10-15 14:45:57 +02:00
dracut-kdump-emergency.service Merge kdump-error-handler.sh into kdump.sh 2021-11-09 21:45:31 +08:00
dracut-kdump-emergency.target RHEL 9.0.0 Alpha bootstrap 2020-10-15 14:45:57 +02:00
dracut-kdump.sh Add header comment for POSIX compliant scripts 2021-11-10 10:26:54 +08:00
dracut-module-setup.sh ppc64/ppc64le: drop cpu online rule in 40-redhat.rules in kdump initramfs 2021-12-29 11:21:42 +08:00
dracut-monitor_dd_progress RHEL 9.0.0 Alpha bootstrap 2020-10-15 14:45:57 +02:00
early-kdump-howto.txt RHEL 9.0.0 Alpha bootstrap 2020-10-15 14:45:57 +02:00
fadump-howto.txt fadump: improve fadump-howto.txt about remote dump target setup 2021-12-08 08:59:31 +08:00
gating.yaml Add gating.yaml to RHEL-9 kexec-tools 2021-06-08 20:03:41 +08:00
kdump-dep-generator.sh Merged update from upstream sources 2021-01-22 08:12:00 +00:00
kdump-in-cluster-environment.txt RHEL 9.0.0 Alpha bootstrap 2020-10-15 14:45:57 +02:00
kdump-lib-initramfs.sh move variable FENCE_KDUMP_SEND from kdump-lib.sh to kdump-lib-initramfs.sh 2022-01-18 15:16:29 +08:00
kdump-lib.sh Revert "Remove trace_buf_size and trace_event from the kernel bootparameters of the kdump kernel" 2022-01-26 14:58:39 +08:00
kdump-logger.sh Add header comment for POSIX compliant scripts 2021-11-10 10:26:54 +08:00
kdump-migrate-action.sh kdump/ppc64: rebuild initramfs image after migration 2021-12-03 18:13:09 +08:00
kdump-restart.sh kdump/ppc64: rebuild initramfs image after migration 2021-12-03 18:13:09 +08:00
kdump-udev-throttler RHEL 9.0.0 Alpha bootstrap 2020-10-15 14:45:57 +02:00
kdump.conf introduce the auto_reset_crashkernel option to kdump.conf 2022-01-06 03:55:25 +00:00
kdump.conf.5 introduce the auto_reset_crashkernel option to kdump.conf 2022-01-06 03:55:25 +00:00
kdump.service Merged update from upstream sources 2020-11-05 05:34:29 +00:00
kdump.sysconfig Disable CMA in kdump 2nd kernel 2021-05-14 14:27:03 +08:00
kdump.sysconfig.aarch64 kdump.sysconfig: make kexec_file_load as default option on arm64 2021-11-12 05:58:48 +00:00
kdump.sysconfig.i386 Disable CMA in kdump 2nd kernel 2021-05-14 14:27:03 +08:00
kdump.sysconfig.ppc64 Disable CMA in kdump 2nd kernel 2021-05-14 14:27:03 +08:00
kdump.sysconfig.ppc64le kdump.sysconfig: make kexec_file_load as default option on ppc64le 2021-11-12 09:47:42 +08:00
kdump.sysconfig.s390x kdump.sysconfig.s390: Remove "prot_virt" from kdump kernel cmdline 2021-07-20 17:27:12 +02:00
kdump.sysconfig.x86_64 Revert "Revert "x86_64: enable the kexec file load by default"" 2021-07-14 09:21:57 +08:00
kdumpctl fix incorrect usage of _get_all_kernels_from_grubby 2022-02-14 11:04:47 +08:00
kdumpctl.8 rewrite reset_crashkernel to support fadump and to used by RPM scriptlet 2022-01-06 03:55:25 +00:00
kexec-kdump-howto.txt Document/kexec-kdump-howto.txt: improve notes for kdump_pre and kdump_post scripts 2021-12-07 20:02:41 +08:00
kexec-tools-2.0.22-01-s390_handle_R_390_PLT32DBL_reloc_entries_in_machine_apply_elf_rel_.patch s390: handle R_390_PLT32DBL reloc entries in machine_apply_elf_rel() 2022-01-19 10:35:02 +01:00
kexec-tools-2.0.23-01-_PATCH_v2_1_3_add_generic_cycle_detection.patch add generic cycle detection 2022-03-28 18:38:30 +02:00
kexec-tools-2.0.23-02-_PATCH_v2_2_3_use_pointer_arithmetics_for_dump_dmesg.patch use pointer arithmetics for dump_dmesg 2022-03-28 18:39:04 +02:00
kexec-tools-2.0.23-03-_PATCH_v2_3_3_use_cycle_detection_when_parsing_the_prink_log_buf.patch use cycle detection when parsing the prink log_buf 2022-03-28 18:39:31 +02:00
kexec-tools-2.0.23-makedumpfile-sadump-kaslr-fix-failure-of-calculating-kaslr_.patch makedumpfile: sadump, kaslr: fix failure of calculating kaslr_offset 2022-02-25 09:53:51 +08:00
kexec-tools.spec use cycle detection when parsing the prink log_buf 2022-03-28 18:39:31 +02:00
live-image-kdump-howto.txt RHEL 9.0.0 Alpha bootstrap 2020-10-15 14:45:57 +02:00
mkdumprd mkdumprd (RHEL-only): add nvme module by force 2022-01-26 11:19:56 +08:00
mkdumprd.8 Merged update from upstream sources 2020-12-23 10:00:07 +00:00
mkfadumprd Set zstd as recommented for kexec-tools 2022-01-11 10:02:52 +08:00
sources Release 2.0.23-3 2021-12-08 09:13:27 +08:00
supported-kdump-targets.txt Update supported-kdump-targets.txt 2021-11-26 13:38:12 +08:00
zanata-notes.txt RHEL 9.0.0 Alpha bootstrap 2020-10-15 14:45:57 +02:00

README

Adding a patch to kexec-tools
=============================
There is a mailing list kexec@lists.fedoraproject.org where all the dicussion
related to fedora kexec-tools happen. All the patches are posted there for
inclusion and committed to kexec-tools after review.

So if you want your patches to be included in fedora kexec-tools package,
post these to kexec@lists.fedoraproject.org.

One can subscribe to list and browse through archives here.

https://admin.fedoraproject.org/mailman/listinfo/kexec