* [Intel-wired-lan] [PATCH net v3] i40e: Fix NULL ptr dereference on VSI filter sync
@ 2021-02-24 12:07 =?unknown-8bit?q?Micha=C5=82_Ma=C5=82oszewski?=
2021-02-24 23:30 ` Nguyen, Anthony L
0 siblings, 1 reply; 2+ messages in thread
From: =?unknown-8bit?q?Micha=C5=82_Ma=C5=82oszewski?= @ 2021-02-24 12:07 UTC (permalink / raw)
To: intel-wired-lan
Remove the reason of null pointer dereference in sync vsi filters.
Added new I40E_VSI_RELEASING flag to signalize deleting and releasing
of VSI resources to sync this thread with sync filters subtask.
Without this patch it is possible to start update the vsi filter list
after vsi is removed, that's causing a kernel oops.
Fixes: 17652c6336fd("i40e: remove unused argument")
Signed-off-by: Grzegorz Szczurek <grzegorzx.szczurek@intel.com>
Signed-off by: Michal Maloszewski <michal.maloszewski@intel.com>
Reviewed-by: Przemyslaw Patynowski <przemyslawx.patynowski@intel.com>
Reviewed-by: Fijalkowski, WitoldX <witoldx.fijalkowski@intel.com>
Reviewed-by: Jaroslaw Gawin <jaroslawx.gawin@intel.com>
Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
---
v3: removed features of other patches and changed permissions to 664
---
drivers/net/ethernet/intel/i40e/i40e.h | 1 +
drivers/net/ethernet/intel/i40e/i40e_main.c | 5 +++--
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/intel/i40e/i40e.h b/drivers/net/ethernet/intel/i40e/i40e.h
index b6830e3..558b0ae 100644
--- a/drivers/net/ethernet/intel/i40e/i40e.h
+++ b/drivers/net/ethernet/intel/i40e/i40e.h
@@ -158,6 +158,7 @@ enum i40e_vsi_state_t {
__I40E_VSI_OVERFLOW_PROMISC,
__I40E_VSI_REINIT_REQUESTED,
__I40E_VSI_DOWN_REQUESTED,
+ __I40E_VSI_RELEASING,
/* This must be last as it determines the size of the BITMAP */
__I40E_VSI_STATE_SIZE__,
};
diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c
index 3ed7f0e..c29678b 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_main.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_main.c
@@ -2634,7 +2634,8 @@ static void i40e_sync_filters_subtask(struct i40e_pf *pf)
for (v = 0; v < pf->num_alloc_vsi; v++) {
if (pf->vsi[v] &&
- (pf->vsi[v]->flags & I40E_VSI_FLAG_FILTER_CHANGED)) {
+ (pf->vsi[v]->flags & I40E_VSI_FLAG_FILTER_CHANGED) &&
+ !test_bit(__I40E_VSI_RELEASING, pf->vsi[v]->state)) {
int ret = i40e_sync_vsi_filters(pf->vsi[v]);
if (ret) {
@@ -13787,7 +13788,7 @@ int i40e_vsi_release(struct i40e_vsi *vsi)
dev_info(&pf->pdev->dev, "Can't remove PF VSI\n");
return -ENODEV;
}
-
+ set_bit(__I40E_VSI_RELEASING, vsi->state);
uplink_seid = vsi->uplink_seid;
if (vsi->type != I40E_VSI_SRIOV) {
if (vsi->netdev_registered) {
--
1.8.3.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* [Intel-wired-lan] [PATCH net v3] i40e: Fix NULL ptr dereference on VSI filter sync
2021-02-24 12:07 [Intel-wired-lan] [PATCH net v3] i40e: Fix NULL ptr dereference on VSI filter sync =?unknown-8bit?q?Micha=C5=82_Ma=C5=82oszewski?=
@ 2021-02-24 23:30 ` Nguyen, Anthony L
0 siblings, 0 replies; 2+ messages in thread
From: Nguyen, Anthony L @ 2021-02-24 23:30 UTC (permalink / raw)
To: intel-wired-lan
On Wed, 2021-02-24 at 12:07 +0000, Micha? Ma?oszewski wrote:
> Remove the reason of null pointer dereference in sync vsi filters.
> Added new I40E_VSI_RELEASING flag to signalize deleting and releasing
> of VSI resources to sync this thread with sync filters subtask.
> Without this patch it is possible to start update the vsi filter list
> after vsi is removed, that's causing a kernel oops.
>
> Fixes: 17652c6336fd("i40e: remove unused argument")
> Signed-off-by: Grzegorz Szczurek <grzegorzx.szczurek@intel.com>
> Signed-off by: Michal Maloszewski <michal.maloszewski@intel.com>
I went ahead and fixed this, but your sign off is missing a '-'
> Reviewed-by: Przemyslaw Patynowski <przemyslawx.patynowski@intel.com>
> Reviewed-by: Fijalkowski, WitoldX <witoldx.fijalkowski@intel.com>
> Reviewed-by: Jaroslaw Gawin <jaroslawx.gawin@intel.com>
> Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
> ---
> v3: removed features of other patches and changed permissions to 664
Please keep the full revision history, not just the most recent.
Thanks,
Tony
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2021-02-24 23:30 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-02-24 12:07 [Intel-wired-lan] [PATCH net v3] i40e: Fix NULL ptr dereference on VSI filter sync =?unknown-8bit?q?Micha=C5=82_Ma=C5=82oszewski?=
2021-02-24 23:30 ` Nguyen, Anthony L
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox