diff --git a/debian/changelog b/debian/changelog index d2d319381..94bd94111 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +linux-2.6 (2.6.38-2) UNRELEASED; urgency=low + + [ Ben Hutchings ] + * kconfig: Avoid buffer underrun in choice input (fixes FTBFS on mips) + + -- Ben Hutchings Sat, 19 Mar 2011 05:17:42 +0000 + linux-2.6 (2.6.38-1) unstable; urgency=low * New upstream release: http://kernelnewbies.org/Linux_2_6_38 diff --git a/debian/patches/bugfix/all/kconfig-Avoid-buffer-underrun-in-choice-input.patch b/debian/patches/bugfix/all/kconfig-Avoid-buffer-underrun-in-choice-input.patch new file mode 100644 index 000000000..ee611b1ab --- /dev/null +++ b/debian/patches/bugfix/all/kconfig-Avoid-buffer-underrun-in-choice-input.patch @@ -0,0 +1,38 @@ +From f924897c3f04927d0d28d71b11c4019c9dd7a9f2 Mon Sep 17 00:00:00 2001 +From: Ben Hutchings +Date: Sat, 19 Mar 2011 04:11:33 +0000 +Subject: [PATCH] kconfig: Avoid buffer underrun in choice input + +commit 40aee729b350672c2550640622416a855e27938f ('kconfig: fix default +value for choice input') fixed some cases where kconfig would select +the wrong option from a choice with a single valid option and thus +enter an infinite loop. + +However, this broke the test for user input of the form 'N?', because +when kconfig selects the single valid option the input is zero-length +and the test will read the byte before the input buffer. If this +happens to contain '?' (as it will in a mips build on Debian unstable +today) then kconfig again enters an infinite loop. + +Signed-off-by: Ben Hutchings +Cc: stable@kernel.org [2.6.17+] +--- + scripts/kconfig/conf.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/scripts/kconfig/conf.c b/scripts/kconfig/conf.c +index 659326c..006ad81 100644 +--- a/scripts/kconfig/conf.c ++++ b/scripts/kconfig/conf.c +@@ -332,7 +332,7 @@ static int conf_choice(struct menu *menu) + } + if (!child) + continue; +- if (line[strlen(line) - 1] == '?') { ++ if (line[0] && line[strlen(line) - 1] == '?') { + print_help(child); + continue; + } +-- +1.7.4.1 + diff --git a/debian/patches/series/2 b/debian/patches/series/2 new file mode 100644 index 000000000..1b5d94ed4 --- /dev/null +++ b/debian/patches/series/2 @@ -0,0 +1 @@ ++ bugfix/all/kconfig-Avoid-buffer-underrun-in-choice-input.patch