[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