Message ID | 20200816192638.2291010-1-andrew@lunn.ch |
---|---|
State | Accepted |
Delegated to: | David Miller |
Headers | show |
Series | net: devlink: Remove overzealous WARN_ON with snapshots | expand |
On Sun, Aug 16, 2020 at 09:26:38PM +0200, Andrew Lunn wrote: > It is possible to trigger this WARN_ON from user space by triggering a > devlink snapshot with an ID which already exists. We don't need both > -EEXISTS being reported and spamming the kernel log. Upps. Forgot the net-next in the subject line. Jiri, should we backport this? I can rebase onto net? Andrew
With this patch applied, I no longer experience the kernel warning messages. Tested-by: Chris Healy <cphealy@gmail.com> On Sun, Aug 16, 2020 at 12:27 PM Andrew Lunn <andrew@lunn.ch> wrote: > > It is possible to trigger this WARN_ON from user space by triggering a > devlink snapshot with an ID which already exists. We don't need both > -EEXISTS being reported and spamming the kernel log. > > Signed-off-by: Andrew Lunn <andrew@lunn.ch> > --- > net/core/devlink.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/net/core/devlink.c b/net/core/devlink.c > index e674f0f46dc2..e5feb87beca7 100644 > --- a/net/core/devlink.c > +++ b/net/core/devlink.c > @@ -4063,7 +4063,7 @@ static int __devlink_snapshot_id_insert(struct devlink *devlink, u32 id) > { > lockdep_assert_held(&devlink->lock); > > - if (WARN_ON(xa_load(&devlink->snapshot_ids, id))) > + if (xa_load(&devlink->snapshot_ids, id)) > return -EEXIST; > > return xa_err(xa_store(&devlink->snapshot_ids, id, xa_mk_value(0), > -- > 2.28.0 >
From: Andrew Lunn <andrew@lunn.ch> Date: Sun, 16 Aug 2020 21:26:38 +0200 > It is possible to trigger this WARN_ON from user space by triggering a > devlink snapshot with an ID which already exists. We don't need both > -EEXISTS being reported and spamming the kernel log. > > Signed-off-by: Andrew Lunn <andrew@lunn.ch> Applied, thanks Andrew.
diff --git a/net/core/devlink.c b/net/core/devlink.c index e674f0f46dc2..e5feb87beca7 100644 --- a/net/core/devlink.c +++ b/net/core/devlink.c @@ -4063,7 +4063,7 @@ static int __devlink_snapshot_id_insert(struct devlink *devlink, u32 id) { lockdep_assert_held(&devlink->lock); - if (WARN_ON(xa_load(&devlink->snapshot_ids, id))) + if (xa_load(&devlink->snapshot_ids, id)) return -EEXIST; return xa_err(xa_store(&devlink->snapshot_ids, id, xa_mk_value(0),
It is possible to trigger this WARN_ON from user space by triggering a devlink snapshot with an ID which already exists. We don't need both -EEXISTS being reported and spamming the kernel log. Signed-off-by: Andrew Lunn <andrew@lunn.ch> --- net/core/devlink.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)