[PATCH] net/e1000: fix crash when built with GCC 13

Bruce Richardson bruce.richardson at intel.com
Thu Oct 16 16:48:41 CEST 2025


On Fri, Oct 10, 2025 at 03:31:51PM +0200, Thierry Herbelot wrote:
> On 10/10/25 14:58, Ciara Loftus wrote:
> > The e1000 PMD crashes during initialisation in a Ubuntu 24.04 VM when
> > compiled with gcc-13 with -O3 optimisations. This patch introduces a
> > compiler barrier after the register read that was causing the issue.
> > 
> > Bugzilla ID: 1691
> > Fixes: af75078fece3 ("first public release")
> > Cc: stable at dpdk.org
> > 
> > Signed-off-by: Ciara Loftus <ciara.loftus at intel.com>
> 
> Tested-by: Thierry Herbelot <thierry.herbelot at 6wind.com>
> 
> The patch fixes the crash at startup.
> 
> 	Thanks
> 
> 	Thierry
> 
> > ---
> >   drivers/net/intel/e1000/base/e1000_mac.c | 1 +
> >   1 file changed, 1 insertion(+)
> > 
> > diff --git a/drivers/net/intel/e1000/base/e1000_mac.c b/drivers/net/intel/e1000/base/e1000_mac.c
> > index 2fa97d12a9..41aae86ffe 100644
> > --- a/drivers/net/intel/e1000/base/e1000_mac.c
> > +++ b/drivers/net/intel/e1000/base/e1000_mac.c
> > @@ -1842,6 +1842,7 @@ s32 e1000_id_led_init_generic(struct e1000_hw *hw)
> >   		return ret_val;
> >   	mac->ledctl_default = E1000_READ_REG(hw, E1000_LEDCTL);
> > +	rte_compiler_barrier();
> >   	mac->ledctl_mode1 = mac->ledctl_default;
> >   	mac->ledctl_mode2 = mac->ledctl_default;
> 
Since adding a compiler barrier is still a workaround (all-be-it a fairly
unintrusive one), I'm going to hold off this patch until rc2 or rc3 in the
hopes we get more details as to the exact root cause and why gcc-13 is
producing code that crashes.

/Bruce


More information about the dev mailing list