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-next>] [day] [month] [year] [list]
Message-ID: <20070307164020.16944e32@lxorguk.ukuu.org.uk>
Date:	Wed, 7 Mar 2007 16:40:20 +0000
From:	Alan Cox <alan@...rguk.ukuu.org.uk>
To:	akpm@...l.org, linux-kernel@...r.kernel.org,
	linux-wireless@...r.kernel.org
Subject: [PATCH] prism54usb: Fix hail of warnings on 64bit platforms

If you want to cast a pointer to a small value then start by turning it
into an unsigned long so the compiler knows what is going on.

Personally I find the whole approach used by this driver for types of
registers (which are really USB register numbers) utterly perverse...

Signed-off-by: Alan Cox <alan@...hat.com>

diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.vanilla-2.6.21-rc2-mm2/drivers/net/wireless/mac80211/p54/prism54usb.c linux-2.6.21-rc2-mm2/drivers/net/wireless/mac80211/p54/prism54usb.c
--- linux.vanilla-2.6.21-rc2-mm2/drivers/net/wireless/mac80211/p54/prism54usb.c	2007-03-06 23:09:47.000000000 +0000
+++ linux-2.6.21-rc2-mm2/drivers/net/wireless/mac80211/p54/prism54usb.c	2007-03-06 19:15:52.000000000 +0000
@@ -533,7 +533,7 @@
 #define P54U_WRITE(type, addr, data) \
 	do {\
 		err = p54u_write(priv, buf, type,\
-				 cpu_to_le32((u32)addr), data);\
+				 cpu_to_le32((u32)(unsigned long)addr), data);\
 		if (err) \
 			goto fail;\
 	} while (0)
@@ -541,7 +541,7 @@
 #define P54U_READ(type, addr) \
 	do {\
 		err = p54u_read(priv, buf, type,\
-				cpu_to_le32((u32)addr), &reg);\
+				cpu_to_le32((u32)(unsigned long)addr), &reg);\
 		if (err)\
 			goto fail;\
 	} while (0)
@@ -648,16 +648,16 @@
 			   cpu_to_le32(0xc0000f00));
 
 		P54U_WRITE(NET2280_DEV_U32,
-			   0x0020 | (u32)&devreg->direct_mem_win, 0);
+			   0x0020 | (unsigned long)&devreg->direct_mem_win, 0);
 		P54U_WRITE(NET2280_DEV_U32,
-			   0x0020 | (u32)&devreg->direct_mem_win,
+			   0x0020 | (unsigned long)&devreg->direct_mem_win,
 			   cpu_to_le32(1));
 
 		P54U_WRITE(NET2280_DEV_U32,
-			   0x0024 | (u32)&devreg->direct_mem_win,
+			   0x0024 | (unsigned long)&devreg->direct_mem_win,
 			   cpu_to_le32(block_len));
 		P54U_WRITE(NET2280_DEV_U32,
-			   0x0028 | (u32)&devreg->direct_mem_win,
+			   0x0028 | (unsigned long)&devreg->direct_mem_win,
 			   cpu_to_le32(offset));
 
 		P54U_WRITE(NET2280_DEV_U32, &devreg->dma_addr,
@@ -670,7 +670,7 @@
 		mdelay(10);
 
 		P54U_READ(NET2280_DEV_U32,
-			  0x002C | (u32)&devreg->direct_mem_win);
+			  0x002C | (unsigned long)&devreg->direct_mem_win);
 		if (!(reg & cpu_to_le32(ISL38XX_DMA_STATUS_DONE)) ||
 		    !(reg & cpu_to_le32(ISL38XX_DMA_STATUS_READY))) {
 			printk(KERN_ERR "prism54usb: firmware DMA transfer "
-
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