Bridge sysfs port_no overflow

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

 



All

We are running a setup with a large number of bridge ports that  
reaches the 900 ports. After switching to recent kernel and brctl- 
utils that uses the sysfs interface, we started noticing that the port  
numbers are mis-reported when issues the command:
brctl showmacs br1
After tracing the code, we found that the problem lies in the sysfs  
structure called __fdb_entry. The port_no is declared as a u8 while it  
is u16 in the rest of the bridge structure. This causes the port_no to  
overflow when the bridge port number exceeds 255.

Even if it is unusual to have this number of ports on a single bridge  
it should be changed to the sake of consistency.
	
This patch changes the structure to __u16:

@@ -94,7 +94,7 @@ struct __port_info
  struct __fdb_entry
  {
  	__u8 mac_addr[6];
-	__u8 port_no;
+	__u16 port_no;
  	__u8 is_local;
  	__u32 ageing_timer_value;
  	__u32 unused;

_______________________________________________
Bridge mailing list
Bridge@xxxxxxxxxxxxxxxxxxxxxxxxxx
https://lists.linux-foundation.org/mailman/listinfo/bridge

[Index of Archives]     [Netdev]     [AoE Tools]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]     [Video 4 Linux]

  Powered by Linux