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:	Fri, 18 Jul 2008 18:05:32 +0530
From:	Suresh Jayaraman <sjayaraman@...e.de>
To:	Jan Beulich <jbeulich@...ell.com>
CC:	sfrench@...ba.org, linux-cifs-client@...ts.samba.org,
	linux-kernel@...r.kernel.org
Subject: Re: [PATCH] cifs: fix compiler warning on 64-bit arch-s

Jan Beulich wrote:
> Signed-off-by: Jan Beulich <jbeulich@...ell.com>
> 
> ---
>  fs/cifs/asn1.c |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> --- linux-2.6.26/fs/cifs/asn1.c	2008-07-13 23:51:29.000000000 +0200
> +++ 2.6.26-cifs-warning/fs/cifs/asn1.c	2008-07-17 15:23:11.000000000 +0200
> @@ -400,7 +400,7 @@ asn1_oid_decode(struct asn1_ctx *ctx,
>  	size = eoc - ctx->pointer + 1;
>  
>  	/* first subid actually encodes first two subids */
> -	if (size < 2 || size > ULONG_MAX/sizeof(unsigned long))
> +	if (size < 2 || size > UINT_MAX/sizeof(unsigned long))
>  		return 0;
>  
>  	*oid = kmalloc(size * sizeof(unsigned long), GFP_ATOMIC);
> 
> 

I did see the following patch from David Howells attempting to fix the 
same warning posted a little earlier.

Fix the CIFS range check to always use a big enough size variable that 
the compiler won't moan about comparing it to ULONG_MAX/8 on a 64-bit 
platform.

Signed-off-by: David Howells <dhowells@...hat.com>
---

  fs/cifs/asn1.c |    2 +-
  1 files changed, 1 insertions(+), 1 deletions(-)


diff --git a/fs/cifs/asn1.c b/fs/cifs/asn1.c
index f58e41d..512587d 100644
--- a/fs/cifs/asn1.c
+++ b/fs/cifs/asn1.c
@@ -394,8 +394,8 @@ asn1_oid_decode(struct asn1_ctx *ctx,
  		unsigned char *eoc, unsigned long **oid, unsigned int *len)
  {
  	unsigned long subid;
-	unsigned int size;
  	unsigned long *optr;
+	size_t size;

  	size = eoc - ctx->pointer + 1;


Thanks,

-- 
Suresh Jayaraman
--
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

Powered by Openwall GNU/*/Linux Powered by OpenVZ