Received: by 2002:a05:6a10:9e8c:0:0:0:0 with SMTP id y12csp344759pxx; Wed, 28 Oct 2020 06:21:44 -0700 (PDT) X-Google-Smtp-Source: ABdhPJx9qpCNC7S63TYCSbb+vKWV9D9YI7OmByFmpBbXNfSU2a/yuYSt7hYsIV2k7z4DNdgjZIcA X-Received: by 2002:a50:d555:: with SMTP id f21mr7818219edj.334.1603891303838; Wed, 28 Oct 2020 06:21:43 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1603891303; cv=none; d=google.com; s=arc-20160816; b=XV3CETBHp6E4KJLRoGrC8n7EWjZweOEpTvMLo27bRh0Sy0rHirBLlE0HFH634j3xWX 8jeZww5OLQzn91sCDV63xs62Hz1kXt+ntTknhq3UOjno9+j+ZzOzx05r3o/xd8vg/76d MlgbKD9mlJreJlvKiCl+KIrh1+iJMqDB5jB2KboekNItAZ6d/9K8cgMvr68hvTMbFuuF AyGtlW5N4qNYyK1SGn/227R+bFbzMis4X5bc4k3+hXK3uL6vbiXs9Y40eJRF9YysMCT5 KlBfjsITmcTcb0wNp0Tt+5io6gjGQaPyUJjJabEcspTSPq9ePZj2j6I4Z1ur33JkJw69 VepA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=aULy5lztieGZRT1NXDnfCzuhMMctVsFVC288dklgcE8=; b=jD2KaJhnMUn3/rALPCH/V+1ciUNA6tD1jsiDmadri6oe90bW80d81aTlI2/LjFKxHh B6ZhP6avN4tEn0eb1btlMDwMav5kJnAGOTaXJOQffnCi4x9lT3d7XKoU1sJt5x39SLQJ n/MtQlujZVv1Zo4Jpu4CCNdghifFTMA1eMLqqoDBQNGvIIqXu61xnVlrD8XnKgl3k8QK Sk5gkwUaeQK+X8d+NyVhXmVpa8Yq5HRG3uZWKA1ROBLUzLlxrY0Oa8LvbM6+H3+R/tXP vCJxYEuWUsBM4B6LOHmRcchpBVEanjY1MazcfymTgB0DVwKL/jlxpXiFzrQK8EiZ3544 +0mA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=0ukxPYXD; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id z8si2802677eju.267.2020.10.28.06.21.20; Wed, 28 Oct 2020 06:21:43 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=0ukxPYXD; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S368839AbgJ0Plx (ORCPT + 99 others); Tue, 27 Oct 2020 11:41:53 -0400 Received: from mail.kernel.org ([198.145.29.99]:51010 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1799810AbgJ0Pda (ORCPT ); Tue, 27 Oct 2020 11:33:30 -0400 Received: from localhost (83-86-74-64.cable.dynamic.v4.ziggo.nl [83.86.74.64]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id CBC4122202; Tue, 27 Oct 2020 15:33:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1603812809; bh=lYUp449ciVxWABJUS0qNqp8LFh74I5hUsRLkOVEEjJY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=0ukxPYXDRZH3HRO7NTS/YevPM9o0ea5JCf1TexIdDEZjW4NIYwIIGyIjopsv34szT rEhpKFNMimSfR5EjAvZekIs91OJApHHW3xgk7E+bEz4OnSMQI+23VLLHHRhCPdNImy ZKPpHs0owjLrvomq+gKyH2sBOexa6RXCC0Dw568o= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Rajkumar Manoharan , Johannes Berg , Sasha Levin Subject: [PATCH 5.9 336/757] nl80211: fix OBSS PD min and max offset validation Date: Tue, 27 Oct 2020 14:49:46 +0100 Message-Id: <20201027135506.323474631@linuxfoundation.org> X-Mailer: git-send-email 2.29.1 In-Reply-To: <20201027135450.497324313@linuxfoundation.org> References: <20201027135450.497324313@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Rajkumar Manoharan [ Upstream commit 6c8b6e4a5f745ec49286ac0a3f1d591a34818f82 ] The SRG min and max offset won't present when SRG Information Present of SR control field of Spatial Reuse Parameter Set element set to 0. Per spec. IEEE802.11ax D7.0, SRG OBSS PD Min Offset ≤ SRG OBSS PD Max Offset. Hence fix the constrain check to allow same values in both offset and also call appropriate nla_get function to read the values. Fixes: 796e90f42b7e ("cfg80211: add support for parsing OBBS_PD attributes") Signed-off-by: Rajkumar Manoharan Link: https://lore.kernel.org/r/1601278091-20313-1-git-send-email-rmanohar@codeaurora.org Signed-off-by: Johannes Berg Signed-off-by: Sasha Levin --- net/wireless/nl80211.c | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c index 7fd45f6ddb058..764151e89d0e9 100644 --- a/net/wireless/nl80211.c +++ b/net/wireless/nl80211.c @@ -4683,16 +4683,14 @@ static int nl80211_parse_he_obss_pd(struct nlattr *attrs, if (err) return err; - if (!tb[NL80211_HE_OBSS_PD_ATTR_MIN_OFFSET] || - !tb[NL80211_HE_OBSS_PD_ATTR_MAX_OFFSET]) - return -EINVAL; - - he_obss_pd->min_offset = - nla_get_u32(tb[NL80211_HE_OBSS_PD_ATTR_MIN_OFFSET]); - he_obss_pd->max_offset = - nla_get_u32(tb[NL80211_HE_OBSS_PD_ATTR_MAX_OFFSET]); - - if (he_obss_pd->min_offset >= he_obss_pd->max_offset) + if (tb[NL80211_HE_OBSS_PD_ATTR_MIN_OFFSET]) + he_obss_pd->min_offset = + nla_get_u8(tb[NL80211_HE_OBSS_PD_ATTR_MIN_OFFSET]); + if (tb[NL80211_HE_OBSS_PD_ATTR_MAX_OFFSET]) + he_obss_pd->max_offset = + nla_get_u8(tb[NL80211_HE_OBSS_PD_ATTR_MAX_OFFSET]); + + if (he_obss_pd->min_offset > he_obss_pd->max_offset) return -EINVAL; he_obss_pd->enable = true; -- 2.25.1