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, 8 Nov 2011 21:19:30 +0100 (CET)
From:	Julia Lawall <julia.lawall@...6.fr>
To:	Alexey Dobriyan <adobriyan@...il.com>
cc:	Julia Lawall <julia@...u.dk>,
	"J. Bruce Fields" <bfields@...ldses.org>,
	kernel-janitors@...r.kernel.org, Neil Brown <neilb@...e.de>,
	Trond Myklebust <Trond.Myklebust@...app.com>,
	"David S. Miller" <davem@...emloft.net>, linux-nfs@...r.kernel.org,
	netdev@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 2/5] net/sunrpc: use kstrtoul, etc



On Tue, 8 Nov 2011, Alexey Dobriyan wrote:

> On Sun, Nov 06, 2011 at 02:26:47PM +0100, Julia Lawall wrote:
>> @@
>> expression a,b;
>> {int,long} *c;
>> @@
>>
>> -strict_strtoul
>> +kstrtoul
>
> No, no, no!

Sorry, this was not the real rule I used for the strtoul case.  Instead I 
used the following:

@@
typedef ulong;
expression a,b;
{ulong,unsigned long,unsigned int,size_t} *c;
@@

-strict_strtoul
+kstrtoul
  (a,b,c)

But now I have seen that there is a separate function for integers, so I 
have made a rule to use that function when the type is unsigned int.

> In every case see the type or real data and use appropriate function.
> kstrtou8() for ports.

The type of the destination variable in all of these cases is unsigned 
long.  But maybe that is not enough information to make the 
transformation in the right way.

julia

> This program creates lots of bogus patches in this case.
>
>> --- a/net/sunrpc/addr.c
>> +++ b/net/sunrpc/addr.c
>> @@ -322,7 +322,7 @@ size_t rpc_uaddr2sockaddr(const char *ua
>>  	c = strrchr(buf, '.');
>>  	if (unlikely(c == NULL))
>>  		return 0;
>> -	if (unlikely(strict_strtoul(c + 1, 10, &portlo) != 0))
>> +	if (unlikely(kstrtoul(c + 1, 10, &portlo) != 0))
>>  		return 0;
>>  	if (unlikely(portlo > 255))
>>  		return 0;
>> @@ -331,7 +331,7 @@ size_t rpc_uaddr2sockaddr(const char *ua
>>  	c = strrchr(buf, '.');
>>  	if (unlikely(c == NULL))
>>  		return 0;
>> -	if (unlikely(strict_strtoul(c + 1, 10, &porthi) != 0))
>> +	if (unlikely(kstrtoul(c + 1, 10, &porthi) != 0))
>>  		return 0;
>>  	if (unlikely(porthi > 255))
>>  		return 0;
> --
> To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in
> the body of a message to majordomo@...r.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ