Re: refcount_warn_saturate WARNING (was: Re: cls_flower: Fix the behavior using port ranges with hw-offload)

From: Geert Uytterhoeven
Date: Fri Dec 20 2019 - 08:37:03 EST


Hi Cong,

On Thu, Dec 19, 2019 at 10:52 PM Cong Wang <xiyou.wangcong@xxxxxxxxx> wrote:
> On Thu, Dec 19, 2019 at 1:01 PM Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> wrote:
> > On Thu, Dec 19, 2019 at 9:50 PM Cong Wang <xiyou.wangcong@xxxxxxxxx> wrote:
> > > On Thu, Dec 19, 2019 at 2:12 AM Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> wrote:
> > > > I still see the below warning on m68k/ARAnyM during boot with v5.5-rc2
> > > > and next-20191219.
> > > > Reverting commit 8ffb055beae58574 ("cls_flower: Fix the behavior using
> > > > port ranges with hw-offload") fixes that.
> > > >
> > > > As this is networking, perhaps this is seen on big-endian only?
> > > > Or !CONFIG_SMP?
> > > >
> > > > Do you have a clue?
> > > > I'm especially worried as this commit is already being backported to stable.
> > > > Thanks!
> > >
> > > I did a quick look at the offending commit, I can't even connect it to
> > > any dst refcnt.
> > >
> > > Do you have any more information? Like what happened before the
> > > warning? Does your system use cls_flower filters at all? If so, please
> > > share your tc configurations.
> >
> > No, I don't use clf_flower filters. This is just a normal old Debian boot,
> > where the root file system is being remounted, followed by the warning.
>
> > To me, it also looks very strange. But it's 100% reproducible for me.
> > Git bisect pointed to this commit, and reverting it fixes the issue.
>
> Hmm, does the attached patch have any luck to fix it?

Thanks, but unfortunately it doesn't help.

More investigation revealed that the above commit caused some shifts in the
kernel binary, moving dst_default_metrics to a 2-byte aligned address.
This is incompatible with the use of DST_METRICS_FLAGS and
__DST_METRICS_PTR().

Fix sent: "[PATCH] net: dst: Force 4-byte alignment of dst_metrics"
https://lore.kernel.org/linux-m68k/20191220133140.5684-1-geert@xxxxxxxxxxxxxx/

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds