lkml.org 
[lkml]   [2010]   [Nov]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [RFC][PATCH] futex: Hide false positive about uninit var usage
On 11/16/2010 08:59 AM, Aguirre, Sergio wrote:
> Hi Darren,
>
>> -----Original Message-----
>> From: Darren Hart [mailto:dvhart@linux.intel.com]
>> Sent: Tuesday, November 16, 2010 10:43 AM
>> To: Aguirre, Sergio
>> Cc: LKML; Thomas Gleixner; Peter Zijlstra; Ingo Molnar; Namhyung Kim
>> Subject: Re: [RFC][PATCH] futex: Hide false positive about uninit var
>> usage
>>
>> On 11/16/2010 08:32 AM, Sergio Aguirre wrote:
>>> In exit_robust_list, there was this warning shown:
>>>
>>> kernel/futex.c: In function 'exit_robust_list':
>>> kernel/futex.c:2492: warning: 'next_pi' may be used uninitialized in
>> this function
>>>
>>> Which is a false positive, since in the function, the only scenario
>>> possible in which the var is read, is after a successful excecution of
>>> fetch_robust_entry, which populates the variable.
>>>
>>> So there's no real possibility of it being used uninitialized.
>>
>> Hi Sergio,
>>
>> You are correct. Thomas has recently pulled my fix for this into tip, it
>> should be queued for mainline already.
>
> Oh ok. Sorry, I didn't know that. Please ignore this patch then.

No problem. In the future, if you run into problems with futexes, check
the linux-2.6-tip repository for fixes as that is where they are queued
up before going into mainline.

git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip.git
branch: core/futexes

Thanks,

Darren

>
> Regards,
> Sergio
>
>>
>> Thanks,
>>
>> Darren Hart
>>
>>>
>>> Signed-off-by: Sergio Aguirre<saaguirre@ti.com>
>>> Cc: Thomas Gleixner<tglx@linutronix.de>
>>> Cc: Peter Zijlstra<a.p.zijlstra@chello.nl>
>>> Cc: Darren Hart<dvhart@linux.intel.com>
>>> Cc: Ingo Molnar<mingo@elte.hu>
>>> Cc: Namhyung Kim<namhyung@gmail.com>
>>> ---
>>> kernel/futex.c | 3 ++-
>>> 1 files changed, 2 insertions(+), 1 deletions(-)
>>>
>>> diff --git a/kernel/futex.c b/kernel/futex.c
>>> index 6c683b3..3646157 100644
>>> --- a/kernel/futex.c
>>> +++ b/kernel/futex.c
>>> @@ -2489,7 +2489,8 @@ void exit_robust_list(struct task_struct *curr)
>>> {
>>> struct robust_list_head __user *head = curr->robust_list;
>>> struct robust_list __user *entry, *next_entry, *pending;
>>> - unsigned int limit = ROBUST_LIST_LIMIT, pi, next_pi, pip;
>>> + unsigned int limit = ROBUST_LIST_LIMIT, pi;
>>> + unsigned int uninitialized_var(next_pi), pip;
>>> unsigned long futex_offset;
>>> int rc;
>>>
>>
>>
>> --
>> Darren Hart
>> Yocto Linux Kernel


--
Darren Hart
Yocto Linux Kernel


\
 
 \ /
  Last update: 2010-11-16 18:33    [W:1.836 / U:0.004 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site