Received: by 2002:a25:ad19:0:0:0:0:0 with SMTP id y25csp10774816ybi; Thu, 25 Jul 2019 05:05:08 -0700 (PDT) X-Google-Smtp-Source: APXvYqxMm2cvjn6QL9BnqO2FmW37ssqIc29F+rR4lUAaM117bwbLhg3yzC3fjbWjuAI/O+UX8Gu9 X-Received: by 2002:aa7:956d:: with SMTP id x13mr16510288pfq.132.1564056308743; Thu, 25 Jul 2019 05:05:08 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1564056308; cv=none; d=google.com; s=arc-20160816; b=c/QfyifyCIO8ckJkvPBdKBE2aNB0sp4YNCKFt1bejCeKSJyGVqWFX2kGn9myIAsHGU VELbKZzFtgY4xUtitZ8Yk+j7QrGShFcn8A8bDiNPit6/1gytByvNy9kJIQmZ6Db7oIAM 1kokcFt5GqAWvJwgFbST44tZ2k+TpezZI3WI8gID75C4B8hQR12tJ0BOGSOXdseVfJ9P xz13HqO2YZS2VZVqXwWHfETioUkcYf0g/FojpDbCvqZTH7qQtf37CPQUqcXtEfLwZsnu noCw2RS6AsaSjdpZgrDCcGTzoNczdclMPlK0cdBmLw0uGzgans7s7MLzfnrwFFymYPKr Mcqg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=3iBXCqqcYVDPh+wVJH4Q9mtRrvMzmJKqqCxn03MW/LY=; b=vOI29FvJpTX/J3p6rlckGbHJs63mU5O6FzMM5jmcStgyX03iIIb309T7msDJfwXXMK CrwEIfVPWgRXor6XOUci6bSCAFjioq6DTlSjrBcqYF93aEVgNbQ3+bFznKk5Dojw81i3 v6oaUUy81tRvkV2HVSmLnOc+kqmHPZMyjQW6aDxhBTPaRA8EIABpthht+73kTBFM/x05 KI2LVuDdR1JX8Ldsifz8kHIEPMNj5ncW8tkmDlDPKpcEkJTiKlpDwPGXVN5nO3uPL/Jl D5v/SZ4N0UL1BgkJMprPRl+T5eQvtCBGsGGxX9Qjdwy0k/n7D7BQI9U3nxIGxl1lqRvL lqRQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=QAsjqo8w; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id s6si14523285pjq.108.2019.07.25.05.04.51; Thu, 25 Jul 2019 05:05:08 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=QAsjqo8w; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728620AbfGYFwi (ORCPT + 99 others); Thu, 25 Jul 2019 01:52:38 -0400 Received: from mail.kernel.org ([198.145.29.99]:54692 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2404307AbfGYFkO (ORCPT ); Thu, 25 Jul 2019 01:40:14 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (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 3F5F922BEF; Thu, 25 Jul 2019 05:40:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1564033213; bh=OMIEmC5y38l87lwjmF+MWWlsfb57JJMC0HeRUrSKT10=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=QAsjqo8wikRgFcSzVptP3S1cVnydOZyJePR9dmnaOUHeEqTtJB0xRHWEtW01EoYSG KxutNy4NcxgT4KluglhskNBSsW8zTlM8Nb/hqQk44zhwsHfDyJ3cfe/Nwn65E9FGDY TnjUL1BEAi7AruMJOnyozWrkVnM98UGp7W2u0nH0= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Alan Winkowski , Maxime Chevallier , "David S. Miller" , Sasha Levin Subject: [PATCH 4.19 132/271] net: mvpp2: prs: Dont override the sign bit in SRAM parser shift Date: Wed, 24 Jul 2019 21:20:01 +0200 Message-Id: <20190724191706.545925787@linuxfoundation.org> X-Mailer: git-send-email 2.22.0 In-Reply-To: <20190724191655.268628197@linuxfoundation.org> References: <20190724191655.268628197@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org [ Upstream commit 8ec3ede559956f8ad58db7b57d25ac724bab69e9 ] The Header Parser allows identifying various fields in the packet headers, used for various kind of filtering and classification steps. This is a re-entrant process, where the offset in the packet header depends on the previous lookup results. This offset is represented in the SRAM results of the TCAM, as a shift to be operated. This shift can be negative in some cases, such as in IPv6 parsing. This commit prevents overriding the sign bit when setting the shift value, which could cause instabilities when parsing IPv6 flows. Fixes: 3f518509dedc ("ethernet: Add new driver for Marvell Armada 375 network unit") Suggested-by: Alan Winkowski Signed-off-by: Maxime Chevallier Signed-off-by: David S. Miller Signed-off-by: Sasha Levin --- drivers/net/ethernet/marvell/mvpp2/mvpp2_prs.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/marvell/mvpp2/mvpp2_prs.c b/drivers/net/ethernet/marvell/mvpp2/mvpp2_prs.c index ae2240074d8e..5692c6087bbb 100644 --- a/drivers/net/ethernet/marvell/mvpp2/mvpp2_prs.c +++ b/drivers/net/ethernet/marvell/mvpp2/mvpp2_prs.c @@ -312,7 +312,8 @@ static void mvpp2_prs_sram_shift_set(struct mvpp2_prs_entry *pe, int shift, } /* Set value */ - pe->sram[MVPP2_BIT_TO_WORD(MVPP2_PRS_SRAM_SHIFT_OFFS)] = shift & MVPP2_PRS_SRAM_SHIFT_MASK; + pe->sram[MVPP2_BIT_TO_WORD(MVPP2_PRS_SRAM_SHIFT_OFFS)] |= + shift & MVPP2_PRS_SRAM_SHIFT_MASK; /* Reset and set operation */ mvpp2_prs_sram_bits_clear(pe, MVPP2_PRS_SRAM_OP_SEL_SHIFT_OFFS, -- 2.20.1