DPDK patches and discussions
 help / color / mirror / Atom feed
* [PATCH] net/iavf: fix core dump when the link is unstable
@ 2024-08-06  0:35 Kaiwen Deng
  2024-08-22 17:06 ` Bruce Richardson
  0 siblings, 1 reply; 3+ messages in thread
From: Kaiwen Deng @ 2024-08-06  0:35 UTC (permalink / raw)
  To: dev; +Cc: stable, Kaiwen Deng, Jingjing Wu, Beilei Xing, Ting Xu

Physical link instability may cause a core dump.
Unstable physical links can result in a large number of link
change events.Link change events captured by vf before vf
resources are allocated will result in a core dump.

This commit will check if vf_res is invalid before calling it.

Fixes: 5e03e316c753 ("net/iavf: handle virtchnl event message without interrupt")
Cc: stable@dpdk.org

Signed-off-by: Kaiwen Deng <kaiwenx.deng@intel.com>
---
 drivers/net/iavf/iavf_vchnl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/iavf/iavf_vchnl.c b/drivers/net/iavf/iavf_vchnl.c
index 6d5969f084..b85debd40d 100644
--- a/drivers/net/iavf/iavf_vchnl.c
+++ b/drivers/net/iavf/iavf_vchnl.c
@@ -255,7 +255,7 @@ iavf_read_msg_from_pf(struct iavf_adapter *adapter, uint16_t buf_len,
 		case VIRTCHNL_EVENT_LINK_CHANGE:
 			vf->link_up =
 				vpe->event_data.link_event.link_status;
-			if (vf->vf_res->vf_cap_flags &
+			if (vf->vf_res != NULL && vf->vf_res->vf_cap_flags &
 				VIRTCHNL_VF_CAP_ADV_LINK_SPEED) {
 				vf->link_speed =
 				    vpe->event_data.link_event_adv.link_speed;
-- 
2.34.1


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] net/iavf: fix core dump when the link is unstable
  2024-08-06  0:35 [PATCH] net/iavf: fix core dump when the link is unstable Kaiwen Deng
@ 2024-08-22 17:06 ` Bruce Richardson
  2024-08-22 17:16   ` Bruce Richardson
  0 siblings, 1 reply; 3+ messages in thread
From: Bruce Richardson @ 2024-08-22 17:06 UTC (permalink / raw)
  To: Kaiwen Deng; +Cc: dev, stable

On Tue, Aug 06, 2024 at 08:35:27AM +0800, Kaiwen Deng wrote:
> Physical link instability may cause a core dump.
> Unstable physical links can result in a large number of link
> change events.Link change events captured by vf before vf
> resources are allocated will result in a core dump.
> 
> This commit will check if vf_res is invalid before calling it.
> 
> Fixes: 5e03e316c753 ("net/iavf: handle virtchnl event message without interrupt")
> Cc: stable@dpdk.org
> 
> Signed-off-by: Kaiwen Deng <kaiwenx.deng@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>

> ---
>  drivers/net/iavf/iavf_vchnl.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/net/iavf/iavf_vchnl.c b/drivers/net/iavf/iavf_vchnl.c
> index 6d5969f084..b85debd40d 100644
> --- a/drivers/net/iavf/iavf_vchnl.c
> +++ b/drivers/net/iavf/iavf_vchnl.c
> @@ -255,7 +255,7 @@ iavf_read_msg_from_pf(struct iavf_adapter *adapter, uint16_t buf_len,
>  		case VIRTCHNL_EVENT_LINK_CHANGE:
>  			vf->link_up =
>  				vpe->event_data.link_event.link_status;
> -			if (vf->vf_res->vf_cap_flags &
> +			if (vf->vf_res != NULL && vf->vf_res->vf_cap_flags &
>  				VIRTCHNL_VF_CAP_ADV_LINK_SPEED) {

Since we are adjusting the conditional, we might as well fix the
indentation of it while we are at it. We can use up to 100 columns in DPDK
code, so there is no need to split the flags comparison across two lines.
Also the line continuation should not use a single tab indent - that makes
it look part of the body of the "if" statement, not part of the conditional
itself.
Will fix this on apply.

Thanks.


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] net/iavf: fix core dump when the link is unstable
  2024-08-22 17:06 ` Bruce Richardson
@ 2024-08-22 17:16   ` Bruce Richardson
  0 siblings, 0 replies; 3+ messages in thread
From: Bruce Richardson @ 2024-08-22 17:16 UTC (permalink / raw)
  To: Kaiwen Deng; +Cc: dev, stable

On Thu, Aug 22, 2024 at 06:06:39PM +0100, Bruce Richardson wrote:
> On Tue, Aug 06, 2024 at 08:35:27AM +0800, Kaiwen Deng wrote:
> > Physical link instability may cause a core dump.
> > Unstable physical links can result in a large number of link
> > change events.Link change events captured by vf before vf
> > resources are allocated will result in a core dump.
> > 
> > This commit will check if vf_res is invalid before calling it.
> > 
> > Fixes: 5e03e316c753 ("net/iavf: handle virtchnl event message without interrupt")
> > Cc: stable@dpdk.org
> > 
> > Signed-off-by: Kaiwen Deng <kaiwenx.deng@intel.com>
> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
> 
> > ---
> >  drivers/net/iavf/iavf_vchnl.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/drivers/net/iavf/iavf_vchnl.c b/drivers/net/iavf/iavf_vchnl.c
> > index 6d5969f084..b85debd40d 100644
> > --- a/drivers/net/iavf/iavf_vchnl.c
> > +++ b/drivers/net/iavf/iavf_vchnl.c
> > @@ -255,7 +255,7 @@ iavf_read_msg_from_pf(struct iavf_adapter *adapter, uint16_t buf_len,
> >  		case VIRTCHNL_EVENT_LINK_CHANGE:
> >  			vf->link_up =
> >  				vpe->event_data.link_event.link_status;
> > -			if (vf->vf_res->vf_cap_flags &
> > +			if (vf->vf_res != NULL && vf->vf_res->vf_cap_flags &
> >  				VIRTCHNL_VF_CAP_ADV_LINK_SPEED) {
> 
> Since we are adjusting the conditional, we might as well fix the
> indentation of it while we are at it. We can use up to 100 columns in DPDK
> code, so there is no need to split the flags comparison across two lines.
> Also the line continuation should not use a single tab indent - that makes
> it look part of the body of the "if" statement, not part of the conditional
> itself.
> Will fix this on apply.
> 
Patch applied to dpdk-next-net-intel

/Bruce

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2024-08-22 17:16 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-08-06  0:35 [PATCH] net/iavf: fix core dump when the link is unstable Kaiwen Deng
2024-08-22 17:06 ` Bruce Richardson
2024-08-22 17:16   ` Bruce Richardson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).