From owner-svn-src-head@freebsd.org Sun Feb 14 18:20:47 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 432DCAA89BD; Sun, 14 Feb 2016 18:20:47 +0000 (UTC) (envelope-from andriyvos@gmail.com) Received: from mail-lb0-f178.google.com (mail-lb0-f178.google.com [209.85.217.178]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id DA5FD1BD2; Sun, 14 Feb 2016 18:20:46 +0000 (UTC) (envelope-from andriyvos@gmail.com) Received: by mail-lb0-f178.google.com with SMTP id bc4so67804625lbc.2; Sun, 14 Feb 2016 10:20:46 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:content-type:to:subject:references:date:cc :mime-version:content-transfer-encoding:from:message-id:in-reply-to :user-agent; bh=vsg6GlAAxRUe9nNSsXlVxxgoAbb5bdzJ3a8NNzwW3uA=; b=h0fyGkwvR0RSTDv9c4+IFY5gH0xWZHK9jvr2wRCI6Q83ad5loqazRsxiTYuT/uXA2s uosrBEoJJZQnvfb+U5/XuIGUDb99t+wXRXv428PvYLrqs9fX6/BIIy8y7PLzo/4+TDwu /4tD5Xc0ywcpCOn7GbKhlEbQ8m+tVpULwGPdRxqCtwg1bvwZuG2J/im0/CmGF2P6Dhq+ Pgou9Sv1fF1V5dmV2RE1U/LDQD616Mpw9O5gm6bJcyEoK48bKcW7A8J3lgFsCrMV/R82 7pvudu2dTbXrmCPGnqIYnFpZk7w2JZzpXAdpIdPxtmkdsWx5Bc3uoScNblK/LJoTjEKM jFjg== X-Gm-Message-State: AG10YOQ6t9tjuraXRDYQt//UrrHMpX9gZ2eFe3Wg2mRwCgS6oP5nINWE4fps+K93wrxJpw== X-Received: by 10.112.134.70 with SMTP id pi6mr4164869lbb.59.1455474044865; Sun, 14 Feb 2016 10:20:44 -0800 (PST) Received: from localhost (host-176-37-109-22.la.net.ua. [176.37.109.22]) by smtp.gmail.com with ESMTPSA id jb5sm428953lbc.8.2016.02.14.10.20.43 (version=TLS1 cipher=AES128-SHA bits=128/128); Sun, 14 Feb 2016 10:20:44 -0800 (PST) Content-Type: text/plain; charset=utf-8; format=flowed; delsp=yes To: "Hans Petter Selasky" Subject: Re: svn commit: r295607 - head/sys/dev/usb/wlan References: <201602140716.u1E7Gaot040504@repo.freebsd.org> <56C0A8F6.1090105@selasky.org> Date: Sun, 14 Feb 2016 20:20:44 +0200 Cc: "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" MIME-Version: 1.0 Content-Transfer-Encoding: Quoted-Printable From: "Andriy Voskoboinyk" Message-ID: In-Reply-To: <56C0A8F6.1090105@selasky.org> User-Agent: Opera Mail/12.16 (FreeBSD) X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 14 Feb 2016 18:20:47 -0000 Sun, 14 Feb 2016 18:19:02 +0200 =D0=B1=D1=83=D0=BB=D0=BE =D0=BD=D0=B0=D0= =BF=D0=B8=D1=81=D0=B0=D0=BD=D0=BE Hans Petter Selasky = : > On 02/14/16 16:13, Andriy Voskoboinyk wrote: >> Sun, 14 Feb 2016 09:16:36 +0200 =D0=B1=D1=83=D0=BB=D0=BE =D0=BD=D0=B0= =D0=BF=D0=B8=D1=81=D0=B0=D0=BD=D0=BE Hans Petter Selasky >> : >> >>> Author: hselasky >>> Date: Sun Feb 14 07:16:36 2016 >>> New Revision: 295607 >>> URL: https://svnweb.freebsd.org/changeset/base/295607 >>> >>> Log: >>> Reduce the number of supported WLAN keys in the rum driver, else w= e >>> risk bit shifting overflows. Found by D5245 / PVS. >>> MFC after: 1 week >> >> Hardware crypto support was never merged (so, there is nothing to MFC= ). > > OK. > >>> Modified: head/sys/dev/usb/wlan/if_rumreg.h >>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D >>> >>> --- head/sys/dev/usb/wlan/if_rumreg.h Sun Feb 14 02:28:59 2016 >>> (r295606) >>> +++ head/sys/dev/usb/wlan/if_rumreg.h Sun Feb 14 07:16:36 2016 >>> (r295607) >>> @@ -47,7 +47,7 @@ >>> * H/w encryption/decryption support >>> */ >>> #define KEY_SIZE (IEEE80211_KEYBUF_SIZE + = >>> IEEE80211_MICBUF_SIZE) >>> -#define RT2573_ADDR_MAX 64 >>> +#define RT2573_ADDR_MAX (32 / RT2573_SKEY_MAX) >>> #define RT2573_SKEY_MAX 4 >>> #define RT2573_SKEY(vap, kidx) (0x1000 + ((vap) * RT2573_SKEY_MAX= + = >>> \ >>> >> >> Reason of this change? (device table has 64 entries, not 8). >> I have not seen any overflows, caused by it: > > You're right. > >> >> 1) >> vap->iv_key_set =3D rum_key_set; >> vap->iv_key_delete =3D rum_key_delete; >> vap->iv_update_beacon =3D rum_update_beacon; >> vap->iv_max_aid =3D RT2573_ADDR_MAX; // n= ot >> the case >> >> usb_callout_init_mtx(&rvp->ratectl_ch, &sc->sc_mtx, 0); >> TASK_INIT(&rvp->ratectl_task, 0, rum_ratectl_task, rvp); >> >> 2) >> k < &vap->iv_nw_keys[IEEE80211_WEP_NKID])) { >> if (!(k->wk_flags & IEEE80211_KEY_SWCRYPT)) { >> RUM_LOCK(sc); >> for (i =3D 0; i < RT2573_ADDR_MAX; i++) { // can ho= ld >> [0;63] without any overflows; >> // keys_bmap is 64-bit, so ther= e >> is no overflow too >> if ((sc->keys_bmap & (1ULL << i)) =3D=3D 0) { >> sc->keys_bmap |=3D 1ULL << i; >> *keyix =3D i; >> >> 3) >> } > > I'll revert the header file change shortly. Then we're up to date. > > --HPS Thanks!