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>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Tue, 17 Jun 2014 12:37:25 -0700
From:	Anish Bhatt <anish@...lsio.com>
To:	Joe Perches <joe@...ches.com>
CC:	linux-kernel@...r.kernel.org, akpm@...ux-foundation.org
Subject: Re: [PATCH] checkpatch: Warn on unnecessary void function return
 statements

On 06/16/2014 07:00 PM, Joe Perches wrote:
> On Mon, 2014-06-16 at 17:44 -0700, Anish Bhatt wrote:
>> My code has multiple exit lables:
>> void function(void)
>> {
>> 	...
>>
>> 	if (err1)
>> 		goto exit1;
>> 	...
>> 	if (err2)
>> 		goto exit2;
>>
>> 	...
>> 	return; /* Good return, no errors */
>> exit1:
>> 	printk(err1);
>> 	return;
>> exit2:
>> 	printk(err2);
>> }
>>
>> The single tabbed return was required to prevent the good return & err1 
>> messages cascading down. The extra exit label with a noop looks weird, 
>> but is passing checkpatch.pl --strict, so I will go with that, thanks.
>> -Anish
>>
> 
> Hmm, those return uses seem reasonable
> to me.
> 
> Perhaps the test should warn only on
> this specific 3 line sequence:
> 
> [any line but a label]
> 	return;
> }
> 
> Andrew?  Anyone else?  Opinions?
> 
I think simply 

	return;
}

should trigger the warning. If you are using a label just to exit, you could just do it in-place (though possibly someone might want to a goto instead of multiple returns)

-Anish

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists