Received: by 2002:a05:6a10:6d10:0:0:0:0 with SMTP id gq16csp761190pxb; Tue, 12 Apr 2022 12:45:36 -0700 (PDT) X-Google-Smtp-Source: ABdhPJy0tQm/aHOTECQkUjrRLZijIWNwT4Az8gASyeHzbpgBvRsEQ7psHNzXVWlqJzF9Al0i6+5U X-Received: by 2002:a17:90b:1c87:b0:1ca:f4e:4fbe with SMTP id oo7-20020a17090b1c8700b001ca0f4e4fbemr6718416pjb.159.1649792736675; Tue, 12 Apr 2022 12:45:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1649792736; cv=none; d=google.com; s=arc-20160816; b=yTRhG7QZS3sBehFEaPdx9aBxZDUjHBLOinjb2u3x0q+G9/K+uci4mzHCpgraSM3z8P xmoX88TYVOmQ70PFOnSAopnc9RRENd6/+9DRMu7dpl20rReRJ/qIbwDzx5lHErvFuY0V 0jiKFMTD9GAE4VZXIUBMPm70WZbGQGnKIZVuMLEYroXUC2CiBNzpt5IbBwtIy/5rLtRy Om9oceKiQdXaKGMwSY+cOmmSbF6R5dvHD+7afxQA4MZESfWSQjpXQ2ZoYW6UKfo6rxqP lVeDBnit6PoV0QJzO8olCSKU4H7pbgHDf3bYii5OEKi3aStZy6jFiAHQMOPqls4F4Eec 8sGg== 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=npoZ20/H/LRplJbfgHt3BzaEydvVB73tk01RA06jkfk=; b=Ll1pJhnv1FV7dmFhc8dg0aVc2SPE9RFzot97/xz6goIoCY4a6/YIyYTuT+cU2msVwb dOvipsAoXzcXSWgUz5M/K+khllGIO9orNg8F7YkNcBW/qRXiij2KSbJhrW3qCQcP6Ocu rGR6HOVN2x7xKZG2JIJhEnza0XjEt7Sheu9B0khyOVaorc2DDYPlxRPYOg+fMhwRWvdF mh4/yk6pkjHq/4tOT9G2nmqR3+9dNyPF6pvlzYQJCf/VG1ptrQ1yI6NIFDBOy7JXkQzZ dAjeuDAk7Ph8Vf/Rx9gyFbEAAtyEFTblAFSTMenpJ5yoCKKqJlQs1b4yCaxZXKr42rFM Vn4A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=oFdCctzG; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [2620:137:e000::1:18]) by mx.google.com with ESMTPS id cd25-20020a056a00421900b004fdb5bf7840si2428477pfb.138.2022.04.12.12.45.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 12 Apr 2022 12:45:36 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) client-ip=2620:137:e000::1:18; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=oFdCctzG; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 44DD9673FA; Tue, 12 Apr 2022 12:43:43 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1350225AbiDLGsn (ORCPT + 99 others); Tue, 12 Apr 2022 02:48:43 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37308 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1351207AbiDLGoS (ORCPT ); Tue, 12 Apr 2022 02:44:18 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0C43839BB0; Mon, 11 Apr 2022 23:37:46 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 88C3A61901; Tue, 12 Apr 2022 06:37:45 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9A4D7C385A8; Tue, 12 Apr 2022 06:37:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1649745465; bh=iHKTBHpLkmOnqKTXj5ViXxiSV2k9ofOSUz70d3ZLPuI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=oFdCctzGQTNii+5/6Aarhs0SuyV6/hzygY1QFfLPfgeoTgrK3bnuryWfvCv1Lolr9 6c4dFvVQYbKqZygY0pNTZsVcS4qrAyNxq4V8YWXcuwaRkj5vj3gtbqwDmqMzt2Avk/ bMdff8MVoPg9JI9hr+N/TwyO2zRuSbO06/Fff3ko= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Ivan Vecera , Michal Swiatkowski , Maciej Fijalkowski , Alice Michael , "David S. Miller" , Sasha Levin Subject: [PATCH 5.10 104/171] ice: Clear default forwarding VSI during VSI release Date: Tue, 12 Apr 2022 08:29:55 +0200 Message-Id: <20220412062930.892634569@linuxfoundation.org> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220412062927.870347203@linuxfoundation.org> References: <20220412062927.870347203@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RDNS_NONE,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Ivan Vecera [ Upstream commit bd8c624c0cd59de0032752ba3001c107bba97f7b ] VSI is set as default forwarding one when promisc mode is set for PF interface, when PF is switched to switchdev mode or when VF driver asks to enable allmulticast or promisc mode for the VF interface (when vf-true-promisc-support priv flag is off). The third case is buggy because in that case VSI associated with VF remains as default one after VF removal. Reproducer: 1. Create VF echo 1 > sys/class/net/ens7f0/device/sriov_numvfs 2. Enable allmulticast or promisc mode on VF ip link set ens7f0v0 allmulticast on ip link set ens7f0v0 promisc on 3. Delete VF echo 0 > sys/class/net/ens7f0/device/sriov_numvfs 4. Try to enable promisc mode on PF ip link set ens7f0 promisc on Although it looks that promisc mode on PF is enabled the opposite is true because ice_vsi_sync_fltr() responsible for IFF_PROMISC handling first checks if any other VSI is set as default forwarding one and if so the function does not do anything. At this point it is not possible to enable promisc mode on PF without re-probe device. To resolve the issue this patch clear default forwarding VSI during ice_vsi_release() when the VSI to be released is the default one. Fixes: 01b5e89aab49 ("ice: Add VF promiscuous support") Signed-off-by: Ivan Vecera Reviewed-by: Michal Swiatkowski Reviewed-by: Maciej Fijalkowski Signed-off-by: Alice Michael Signed-off-by: David S. Miller Signed-off-by: Sasha Levin --- drivers/net/ethernet/intel/ice/ice_lib.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/net/ethernet/intel/ice/ice_lib.c b/drivers/net/ethernet/intel/ice/ice_lib.c index 52ac6cc08e83..ec475353b620 100644 --- a/drivers/net/ethernet/intel/ice/ice_lib.c +++ b/drivers/net/ethernet/intel/ice/ice_lib.c @@ -2667,6 +2667,8 @@ int ice_vsi_release(struct ice_vsi *vsi) } } + if (ice_is_vsi_dflt_vsi(pf->first_sw, vsi)) + ice_clear_dflt_vsi(pf->first_sw); ice_fltr_remove_all(vsi); ice_rm_vsi_lan_cfg(vsi->port_info, vsi->idx); ice_vsi_delete(vsi); -- 2.35.1