diff --git a/0001-kconfig-loop-boundary-condition-fix.patch b/0001-kconfig-loop-boundary-condition-fix.patch new file mode 100644 index 000000000..71c7f1d36 --- /dev/null +++ b/0001-kconfig-loop-boundary-condition-fix.patch @@ -0,0 +1,35 @@ +From fbeaf6c71be2273fde980395974e70eb8e1f4a80 Mon Sep 17 00:00:00 2001 +From: Jerry James +Date: Sat, 23 Jun 2018 22:49:04 +0200 +Subject: [PATCH] kconfig: loop boundary condition fix + +If buf[-1] just happens to hold the byte 0x0A, then nread can wrap around +to (size_t)-1, leading to invalid memory accesses. + +This has caused segmentation faults when trying to build the latest +kernel snapshots for i686 in Fedora: +https://bugzilla.redhat.com/show_bug.cgi?id=1592374 + +Signed-off-by: Jerry James +[alexpl@fedoraproject.org: reformatted patch for submission] +Signed-off-by: Alexander Ploumistos +--- + scripts/kconfig/preprocess.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/scripts/kconfig/preprocess.c b/scripts/kconfig/preprocess.c +index 65da87fce907..5ca2df790d3c 100644 +--- a/scripts/kconfig/preprocess.c ++++ b/scripts/kconfig/preprocess.c +@@ -156,7 +156,7 @@ static char *do_shell(int argc, char *argv[]) + nread--; + + /* remove trailing new lines */ +- while (buf[nread - 1] == '\n') ++ while (nread > 0 && buf[nread - 1] == '\n') + nread--; + + buf[nread] = 0; +-- +2.17.1 + diff --git a/kernel.spec b/kernel.spec index 7be0c96c8..0bc01ee00 100644 --- a/kernel.spec +++ b/kernel.spec @@ -323,7 +323,7 @@ Summary: The Linux kernel # Which is a BadThing(tm). # We only build kernel-headers on the following... -%define nobuildarches i386 i686 +%define nobuildarches i386 %ifarch %nobuildarches %define with_up 0 @@ -605,6 +605,9 @@ Patch502: input-rmi4-remove-the-need-for-artifical-IRQ.patch # rhbz 1470995 Patch504: kexec-bzimage-verify-pe-signature-fix.patch +# i686 fix +Patch505: 0001-kconfig-loop-boundary-condition-fix.patch + # END OF PATCH DEFINITIONS %endif