kern/153549: [patch] [mwl] Fix for incorrect limit on number of
virtual access points
Erik Fonnesbeck
efonnes at gmail.com
Thu Dec 30 14:20:11 UTC 2010
>Number: 153549
>Category: kern
>Synopsis: [patch] [mwl] Fix for incorrect limit on number of virtual access points
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Thu Dec 30 14:20:10 UTC 2010
>Closed-Date:
>Last-Modified:
>Originator: Erik Fonnesbeck
>Release: all versions are affected
>Organization:
>Environment:
not applicable
>Description:
mwl's source code says it should only allow 8 virtual access points, but a bug in the initialization code makes it allow 16.
>How-To-Repeat:
Attempt to create more than 8 virtual access points and it allows it.
>Fix:
During initialization there is an incorrect condition on a for loop that does initialization for stations, leaving 8 of them uninitialized and causing the driver to think those 8 entries are for access points. Patch enclosed.
Patch attached with submission follows:
--- /usr/src/sys/dev/mwl/mwlhal.c.old 2010-06-23 14:50:59.000000000 -0600
+++ /usr/src/sys/dev/mwl/mwlhal.c 2010-12-30 03:53:57.000000000 -0700
@@ -279,7 +279,7 @@
hvap->vap_type = MWL_HAL_STA;
hvap->bss_type = htole16(WL_MAC_TYPE_PRIMARY_CLIENT);
hvap->macid = i;
- for (i++; i < MWL_MBSS_STA_MAX; i++) {
+ for (i++; i < MWL_MBSS_AP_MAX+MWL_MBSS_STA_MAX; i++) {
hvap = &mh->mh_vaps[i];
hvap->vap_type = MWL_HAL_STA;
hvap->bss_type = htole16(WL_MAC_TYPE_SECONDARY_CLIENT);
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-bugs
mailing list