lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <e7f7a0e2-9095-4a8a-9fff-9879c8ca74f5@gmail.com>
Date: Tue, 22 Oct 2024 13:56:37 +0200
From: Gianfranco Trad <gianf.trad@...il.com>
To: gianf.trad@...il.com
Cc: linux-kernel@...r.kernel.org, skhan@...uxfoundation.org
Subject: Re: [PATCH] fgraph: fix unused value in register_ftrace_graph()

--- Redirecting locally, forgot to cc mailing list ---

On 22/10/24 08:56, Steven Rostedt wrote:
> On Mon, 21 Oct 2024 12:24:29 +0200
> Gianfranco Trad <gianf.trad@...il.com> wrote:
> 
>> Coverity reports unused assignment to value ret. [1]
>> ret is assigned to 0 here, but that stored value is overwritten before
>> it can be used. The overwrite might happen either at line 1277, 1290
>> or eventually at line 1306. Therefore, cleanup the unused assignment.
>>
>> [1] Coverity Scan, CID 1633338
> 
> What does the above mean? For such a simple change, is it really
> unnecessary?
> 

Static analyzer complains that ret is assigned again to 0 there (doesn't 
complain about the declaration phase in which it was already assigned to 
0) but no instructions later make use of this re-assigned value.
Therefore, it flags it as not needed assignment.

>> Signed-off-by: Gianfranco Trad <gianf.trad@...il.com>
>> ---
>>   kernel/trace/fgraph.c | 1 -
>>   1 file changed, 1 deletion(-)
>>
>> diff --git a/kernel/trace/fgraph.c b/kernel/trace/fgraph.c
>> index 41e7a15dcb50..cc2e065c1c8d 100644
>> --- a/kernel/trace/fgraph.c
>> +++ b/kernel/trace/fgraph.c
>> @@ -1262,7 +1262,6 @@ int register_ftrace_graph(struct fgraph_ops *gops)
>>   			return ret;
>>   		}
>>   		fgraph_initialized = true;
>> -		ret = 0;
> 
> Not to mention that if this is to go, why not get rid of the
> declaration part too? That is:
> 
> -	int ret = 0;
> +	int ret;
> 

I see this, but the static analyzer will actually complain if we get rid 
of int ret = 0 in the declaration phase here, saying something in the 
lines "ret uninitialized at declaration".
To recap, Coverity complains that after declaration ret is assigned 
again to 0 (line 1262) without using this specific re-assignment because 
later on instructions overwrite this value, before it is even used by 
any instruction.

> But still, this code is about to be merged with other code where this
> change may cause issues. This is such a slow path that getting rid of
> the extra initialization may not be worth it.
> 

Understood. This report by Coverity can be considered something trivial, 
so it's up to you what to do. Just wanted to report it and help.

Have a nice day,

-- Gian

> -- Steve
> 
> 
>>   	}
>>   
>>   	if (!fgraph_array[0]) {
> 



Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ