Changeset 2280

Show
Ignore:
Timestamp:
04/21/07 03:52:56 (1 year ago)
Author:
mentor
Message:

Use unsigned integers for parameters for some IOCTLs. Thus the value is always GEQ 0. Remove now redundant checks in the few places that they were being done.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/net80211/ieee80211_wireless.c

    r2277 r2280  
    14641464                IEEE80211_ADDR_COPY(req->addr[i].sa_data, se->se_bssid); 
    14651465        set_quality(&req->qual[i], se->se_rssi, -95); 
    1466         req->i = i + 1
     1466        req->i++
    14671467 
    14681468        return 0; 
     
    20792079        struct ieee80211com *ic = vap->iv_ic; 
    20802080        struct ieee80211_rsnparms *rsn = &vap->iv_bss->ni_rsn; 
    2081         int *i = (int *) extra; 
    2082         int param = i[0];             /* parameter id is 1st */ 
    2083         int value = i[1];             /* NB: most values are TYPE_INT */ 
     2081        unsigned int *i = (unsigned int *) extra; 
     2082        unsigned int param = i[0];            /* parameter id is 1st */ 
     2083        unsigned int value = i[1];            /* NB: most values are TYPE_INT */ 
    20842084        int retv = 0; 
    20852085        int j, caps; 
     
    21392139                break; 
    21402140        case IEEE80211_PARAM_MCASTKEYLEN: 
    2141                 if (!(0 < value && value <= IEEE80211_KEYBUF_SIZE)
     2141                if (value > IEEE80211_KEYBUF_SIZE
    21422142                        return -EINVAL; 
    21432143                /* XXX no way to verify driver capability */ 
     
    21762176                break; 
    21772177        case IEEE80211_PARAM_UCASTKEYLEN: 
    2178                 if (!(0 < value && value <= IEEE80211_KEYBUF_SIZE)
     2178                if (value > IEEE80211_KEYBUF_SIZE
    21792179                        return -EINVAL; 
    21802180                /* XXX no way to verify driver capability */ 
     
    24712471                break; 
    24722472        case IEEE80211_PARAM_COVERAGE_CLASS: 
    2473                 if (value >= 0 && value <= IEEE80211_COVERAGE_CLASS_MAX) { 
     2473                if (value <= IEEE80211_COVERAGE_CLASS_MAX) { 
    24742474                        ic->ic_coverageclass = value; 
    24752475                        if (IS_UP_AUTO(vap)) 
     
    25712571        /* set the same params on the xr vap device if exists */ 
    25722572        if (vap->iv_xrvap && !(vap->iv_flags & IEEE80211_F_XR)) { 
    2573                 ieee80211_ioctl_setparam(vap->iv_xrvap->iv_dev,info,w,extra); 
     2573                ieee80211_ioctl_setparam(vap->iv_xrvap->iv_dev, info, w, extra); 
    25742574                vap->iv_xrvap->iv_ath_cap &= IEEE80211_ATHC_XR; /* XR vap does not support  any superG features */ 
    25752575        }  
     
    26502650        struct ieee80211com *ic = vap->iv_ic; 
    26512651        struct ieee80211_rsnparms *rsn = &vap->iv_bss->ni_rsn; 
    2652         int *param = (int *) extra; 
     2652        unsigned int *param = (unsigned int *) extra; 
    26532653         
    26542654        switch (param[0]) { 
     
    29332933        if (vap->iv_opmode != IEEE80211_M_STA) 
    29342934                return -EINVAL; 
    2935         if (! is_valid_ie_list(wri->length, extra, 0)) 
     2935        if (!is_valid_ie_list(wri->length, extra, 0)) 
    29362936                return -EINVAL; 
    29372937        /* NB: wri->length is validated by the wireless extensions code */ 
     
    36273627{ 
    36283628        struct ieee80211vap *vap = dev->priv; 
    3629         int *param = (int *) extra; 
    3630         int ac = (param[1] < WME_NUM_AC) ? param[1] : WME_AC_BE; 
    3631         int bss = param[2];  
     3629        unsigned int *param = (unsigned int *) extra; 
     3630        unsigned int ac = (param[1] < WME_NUM_AC) ? param[1] : WME_AC_BE; 
     3631        unsigned int bss = param[2];  
    36323632        struct ieee80211_wme_state *wme = &vap->iv_ic->ic_wme; 
    36333633 
    36343634        switch (param[0]) { 
    36353635        case IEEE80211_WMMPARAMS_CWMIN: 
    3636                 if (param[3] < 0 || param[3] > 15)  
     3636                if (param[3] > 15)  
    36373637                        return -EINVAL; 
    36383638                if (bss) { 
     
    36473647                break; 
    36483648        case IEEE80211_WMMPARAMS_CWMAX: 
    3649                 if (param[3] < 0 || param[3] > 15)  
     3649                if (param[3] > 15)  
    36503650                        return -EINVAL; 
    36513651                if (bss) { 
     
    36603660                break; 
    36613661        case IEEE80211_WMMPARAMS_AIFS: 
    3662                 if (param[3] < 0 || param[3] > 15)  
     3662                if (param[3] > 15)  
    36633663                        return -EINVAL;  
    36643664                if (bss) { 
     
    36733673                break; 
    36743674        case IEEE80211_WMMPARAMS_TXOPLIMIT: 
    3675                 if (param[3] < 0 || param[3] > 8192)  
     3675                if (param[3] > 8192)  
    36763676                        return -EINVAL; 
    36773677                if (bss) { 
     
    36903690                break; 
    36913691        case IEEE80211_WMMPARAMS_ACM: 
    3692                 if (!bss || param[3] < 0 || param[3] > 1)  
     3692                if (!bss || param[3] > 1)  
    36933693                        return -EINVAL; 
    36943694                /* ACM bit applies to BSS case only */ 
     
    36983698                break; 
    36993699        case IEEE80211_WMMPARAMS_NOACKPOLICY: 
    3700                 if (bss || param[3] < 0 || param[3] > 1)  
     3700                if (bss || param[3] > 1)  
    37013701                        return -EINVAL;  
    37023702                /* ack policy applies to non-BSS case only */ 
     
    37153715{ 
    37163716        struct ieee80211vap *vap = dev->priv; 
    3717         int *param = (int *) extra; 
    3718         int ac = (param[1] < WME_NUM_AC) ? param[1] : WME_AC_BE; 
     3717        unsigned int *param = (unsigned int *) extra; 
     3718        unsigned int ac = (param[1] < WME_NUM_AC) ? param[1] : WME_AC_BE; 
    37193719        struct ieee80211_wme_state *wme = &vap->iv_ic->ic_wme; 
    37203720        struct chanAccParams *chanParams = (param[2] == 0) ?  
     
    40964096        struct ieee80211vap *vap = dev->priv; 
    40974097        struct ieee80211com *ic = vap->iv_ic; 
    4098         int *param = (int *) extra; 
     4098        unsigned int *param = (unsigned int *) extra; 
    40994099 
    41004100        if (!(ic->ic_flags & IEEE80211_F_DOTH))