Re: linux-3.18.y: Add "kconfig: Fix warning "‘jump’ may be used uninitialized""

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Feb 6, 2015 at 4:50 PM, Greg Kroah-Hartman
<gregkh@xxxxxxxxxxxxxxxxxxx> wrote:
> On Fri, Feb 06, 2015 at 04:40:28PM +0100, Sedat Dilek wrote:
>> Hi,
>>
>> I see the following...
>>
>> $ yes "" | make oldconfig && make silentoldconfig </dev/null
>>   HOSTCC  scripts/basic/fixdep
>>   HOSTCC  scripts/kconfig/conf.o
>>   SHIPPED scripts/kconfig/zconf.tab.c
>>   SHIPPED scripts/kconfig/zconf.lex.c
>>   SHIPPED scripts/kconfig/zconf.hash.c
>>   HOSTCC  scripts/kconfig/zconf.tab.o
>> In file included from scripts/kconfig/zconf.tab.c:2537:0:
>> scripts/kconfig/menu.c: In function ‘get_symbol_str’:
>> scripts/kconfig/menu.c:590:18: warning: ‘jump’ may be used
>> uninitialized in this function [-Wmaybe-uninitialized]
>>      jump->offset = strlen(r->s);
>>                   ^
>> scripts/kconfig/menu.c:551:19: note: ‘jump’ was declared here
>>   struct jump_key *jump;
>>                    ^
>>   HOSTLD  scripts/kconfig/conf
>> scripts/kconfig/conf --oldconfig Kconfig
>> #
>> # configuration written to .config
>> #
>> scripts/kconfig/conf --silentoldconfig Kconfig
>>
>> The fix is "kconfig: Fix warning "‘jump’ may be used uninitialized"" upstream.
>
>
> Sure, what's the git commit id of the patch in Linus's tree?  That's
> annoying to me as well, thanks for reminding me about it.
>

Yesterday, I played with llvmlinux and this patch is also required for
Linux v3.10.y.

Checking for "Peter Kümmel" shows no hits.

commit 2d560306096739e2251329ab5c16059311a151b0 upstream
"kconfig: Fix warning "‘jump’ may be used uninitialized""

The patch needs some adaptation to fit.

Unfortunately, I cannot add a "3.10" to the subject-line as it is
"UTF-8-truncated" (see attached file).

Shall I resend w/ all CCs and how can I fix the subject-line?

- Sedat -

[1] http://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/log/?h=linux-3.10.y&qt=grep&q=Peter+K%C3%BCmmel
From 683b07dc2061ca8d4086d3480ca86cc9dad892c6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Peter=20K=C3=BCmmel?= <syntheticpp@xxxxxxx>
Date: Tue, 4 Nov 2014 12:01:59 +0100
Subject: [PATCH] =?UTF-8?q?kconfig:=20Fix=20warning=20"=E2=80=98jump?=
 =?UTF-8?q?=E2=80=99=20may=20be=20used=20uninitialized"?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Warning:
In file included from scripts/kconfig/zconf.tab.c:2537:0:
scripts/kconfig/menu.c: In function ‘get_symbol_str’:
scripts/kconfig/menu.c:590:18: warning: ‘jump’ may be used uninitialized in this function [-Wmaybe-uninitialized]
     jump->offset = strlen(r->s);

Simplifies the test logic because (head && local) means (jump != 0)
and makes GCC happy when checking if the jump pointer was initialized.

Signed-off-by: Peter Kümmel <syntheticpp@xxxxxxx>
Signed-off-by: Michal Marek <mmarek@xxxxxxx>
---
[ dileks: v2: Backported to fit v3.10 ]

 scripts/kconfig/menu.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/scripts/kconfig/menu.c b/scripts/kconfig/menu.c
index fd3f0180e08f..6af1c42a9cf3 100644
--- a/scripts/kconfig/menu.c
+++ b/scripts/kconfig/menu.c
@@ -525,7 +525,7 @@ static void get_prompt_str(struct gstr *r, struct property *prop,
 {
 	int i, j;
 	struct menu *submenu[8], *menu, *location = NULL;
-	struct jump_key *jump;
+	struct jump_key *jump = NULL;
 
 	str_printf(r, _("Prompt: %s\n"), _(prop->text));
 	menu = prop->menu->parent;
@@ -563,7 +563,7 @@ static void get_prompt_str(struct gstr *r, struct property *prop,
 		str_printf(r, _("  Location:\n"));
 		for (j = 4; --i >= 0; j += 2) {
 			menu = submenu[i];
-			if (head && location && menu == location)
+			if (jump && menu == location)
 				jump->offset = r->len - 1;
 			str_printf(r, "%*c-> %s", j, ' ',
 				   _(menu_get_prompt(menu)));
-- 
2.3.1


[Index of Archives]     [Linux&nblp;USB Development]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite Secrets]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux