In the Linux kernel before 2.6.37, an out of bounds array access happened in drivers/net/mlx4/port.c. When searching for a free entry in either mlx4_register_vlan() or mlx4_register_mac(), and there is no free entry, the loop terminates without updating the local variable free thus causing out of array bounds access.
git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=0926f91083f34d047abc74f1ca4fa6a9c161f7db
github.com/torvalds/linux/commit/0926f91083f34d047abc74f1ca4fa6a9c161f7db
mirrors.edge.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.37
support.f5.com/csp/article/K04146019
support.f5.com/csp/article/K04146019?utm_source=f5support&%3Butm_medium=RSS