WiMAX driver crash on load

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



>From: Andrew Zabolotny
>
>I'm trying the latest WiMax driver on a Fedora9 x86_64 system. Besides
>a few warnings during compilation (mismatch sizes in printk() format
>strings) I get a kernel crash when I insert the WiMax USB dongle into
> ..
>
>Does anybody have a positive experience with the drivers on x86_64
>and/or Fedora9 and/or kernel 2.6.26?

I think I know this one. It was my brain not being in proper gear and
miscalculating an allocation's size, which causes memory overruns in 
drivers/net/wimax/id-table.c.

Would you please try this patch?

--- a/drivers/net/wimax/id-table.c	Tue Oct 28 11:06:38 2008 -0700
+++ b/drivers/net/wimax/id-table.c	Tue Oct 28 14:43:07 2008 -0700
@@ -83,7 +83,8 @@ int wimax_id_table_add(int id, struct wi
 	 * we just create one slot -- I sure doubt most machines will
 	 * have more than one wimax adapter.*/
 	new_size = wimax_id_table_size? 2 * wimax_id_table_size : 1;
-	new_table = krealloc(wimax_id_table, new_size, GFP_ATOMIC);
+	new_table = krealloc(wimax_id_table, new_size * sizeof(new_table[0]),
+			     GFP_ATOMIC);
 	if (unlikely(new_table == NULL)) {
 		result = -ENOMEM;
 		goto out_unlock;

Next driver release should have all the 64 bit glitches fixed.

On the other hand; currently the user space code is supported only in 32 bits; on one hand, nobody has had the time to make sure it is 64 bit clean. On the other, the binary supplicant is still (sadly) binary ia32. Yes, we
keep trying to clean up the red tape, but I doubt we'll be able in the
coming weeks to make the code 64 bit clean.


[Index of Archives]     [Linux Kernel]     [Linux Wireless]     [Linux Bluetooth]     [Linux Netdev]     [Linux Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux