All of lore.kernel.org
 help / color / mirror / Atom feed
From: Leon Romanovsky <leon@kernel.org>
To: Edwin Peer <edwin.peer@broadcom.com>
Cc: "David S . Miller" <davem@davemloft.net>,
	Jakub Kicinski <kuba@kernel.org>,
	Alexander Lobakin <alobakin@pm.me>,
	Anirudh Venkataramanan <anirudh.venkataramanan@intel.com>,
	Ariel Elior <aelior@marvell.com>,
	GR-everest-linux-l2@marvell.com,
	GR-QLogic-Storage-Upstream@marvell.com,
	Igor Russkikh <irusskikh@marvell.com>,
	intel-wired-lan@lists.osuosl.org,
	"James E.J. Bottomley" <jejb@linux.ibm.com>,
	Javed Hasan <jhasan@marvell.com>,
	Jeff Kirsher <jeffrey.t.kirsher@intel.com>,
	Jesse Brandeburg <jesse.brandeburg@intel.com>,
	Jiri Pirko <jiri@nvidia.com>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	linux-scsi@vger.kernel.org,
	"Martin K. Petersen" <martin.petersen@oracle.com>,
	Michael Chan <michael.chan@broadcom.com>,
	Michal Kalderon <michal.kalderon@marvell.com>,
	netdev <netdev@vger.kernel.org>,
	Sathya Perla <sathya.perla@broadcom.com>,
	Saurav Kashyap <skashyap@marvell.com>,
	Tony Nguyen <anthony.l.nguyen@intel.com>,
	Vasundhara Volam <vasundhara-v.volam@broadcom.com>
Subject: Re: [PATCH net-next 1/6] bnxt_en: Check devlink allocation and registration status
Date: Fri, 24 Sep 2021 02:11:19 +0300	[thread overview]
Message-ID: <YU0JlzFOa7kpKgnd@unreal> (raw)
In-Reply-To: <CAKOOJTz4A2ER8MQE1dW27Spocds09SYafjeuLcFDJ0nL6mKyOw@mail.gmail.com>

On Thu, Sep 23, 2021 at 02:11:40PM -0700, Edwin Peer wrote:
> On Thu, Sep 23, 2021 at 11:13 AM Leon Romanovsky <leon@kernel.org> wrote:
> >
> > From: Leon Romanovsky <leonro@nvidia.com>
> >
> > devlink is a software interface that doesn't depend on any hardware
> > capabilities. The failure in SW means memory issues, wrong parameters,
> > programmer error e.t.c.
> >
> > Like any other such interface in the kernel, the returned status of
> > devlink APIs should be checked and propagated further and not ignored.
> >
> > Fixes: 4ab0c6a8ffd7 ("bnxt_en: add support to enable VF-representors")
> > Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
> > ---
> >  drivers/net/ethernet/broadcom/bnxt/bnxt.c         |  5 ++++-
> >  drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c | 13 ++++++-------
> >  drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.h | 13 -------------
> >  3 files changed, 10 insertions(+), 21 deletions(-)

<...>

> > @@ -835,9 +837,6 @@ void bnxt_dl_unregister(struct bnxt *bp)
> >  {
> >         struct devlink *dl = bp->dl;
> >
> > -       if (!dl)
> > -               return;
> > -
> 
> minor nit: There's obviously nothing incorrect about doing this (and
> adding the additional error label in the cleanup code above), but bnxt
> has generally adopted a style of having cleanup functions being
> idempotent. It generally makes error handling simpler and less error
> prone.

I would argue that opposite is true. Such "impossible" checks hide unwind
flow errors, missing releases e.t.c.

<...>

> >
> 
> Reviewed-by: Edwin Peer <edwin.peer@broadcom.com>

Thanks for the review.


> 
> Regards,
> Edwin Peer

WARNING: multiple messages have this Message-ID (diff)
From: Leon Romanovsky <leon@kernel.org>
To: intel-wired-lan@osuosl.org
Subject: [Intel-wired-lan] [PATCH net-next 1/6] bnxt_en: Check devlink allocation and registration status
Date: Fri, 24 Sep 2021 02:11:19 +0300	[thread overview]
Message-ID: <YU0JlzFOa7kpKgnd@unreal> (raw)
In-Reply-To: <CAKOOJTz4A2ER8MQE1dW27Spocds09SYafjeuLcFDJ0nL6mKyOw@mail.gmail.com>

On Thu, Sep 23, 2021 at 02:11:40PM -0700, Edwin Peer wrote:
> On Thu, Sep 23, 2021 at 11:13 AM Leon Romanovsky <leon@kernel.org> wrote:
> >
> > From: Leon Romanovsky <leonro@nvidia.com>
> >
> > devlink is a software interface that doesn't depend on any hardware
> > capabilities. The failure in SW means memory issues, wrong parameters,
> > programmer error e.t.c.
> >
> > Like any other such interface in the kernel, the returned status of
> > devlink APIs should be checked and propagated further and not ignored.
> >
> > Fixes: 4ab0c6a8ffd7 ("bnxt_en: add support to enable VF-representors")
> > Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
> > ---
> >  drivers/net/ethernet/broadcom/bnxt/bnxt.c         |  5 ++++-
> >  drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c | 13 ++++++-------
> >  drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.h | 13 -------------
> >  3 files changed, 10 insertions(+), 21 deletions(-)

<...>

> > @@ -835,9 +837,6 @@ void bnxt_dl_unregister(struct bnxt *bp)
> >  {
> >         struct devlink *dl = bp->dl;
> >
> > -       if (!dl)
> > -               return;
> > -
> 
> minor nit: There's obviously nothing incorrect about doing this (and
> adding the additional error label in the cleanup code above), but bnxt
> has generally adopted a style of having cleanup functions being
> idempotent. It generally makes error handling simpler and less error
> prone.

I would argue that opposite is true. Such "impossible" checks hide unwind
flow errors, missing releases e.t.c.

<...>

> >
> 
> Reviewed-by: Edwin Peer <edwin.peer@broadcom.com>

Thanks for the review.


> 
> Regards,
> Edwin Peer

  reply	other threads:[~2021-09-23 23:11 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-23 18:12 [PATCH net-next 0/6] Batch of devlink related fixes Leon Romanovsky
2021-09-23 18:12 ` [Intel-wired-lan] " Leon Romanovsky
2021-09-23 18:12 ` [PATCH net-next 1/6] bnxt_en: Check devlink allocation and registration status Leon Romanovsky
2021-09-23 18:12   ` [Intel-wired-lan] " Leon Romanovsky
2021-09-23 21:11   ` Edwin Peer
2021-09-23 21:11     ` [Intel-wired-lan] " Edwin Peer
2021-09-23 23:11     ` Leon Romanovsky [this message]
2021-09-23 23:11       ` Leon Romanovsky
2021-09-24  1:39       ` Jakub Kicinski
2021-09-24  1:39         ` [Intel-wired-lan] " Jakub Kicinski
2021-09-24 17:20         ` Edwin Peer
2021-09-24 17:20           ` [Intel-wired-lan] " Edwin Peer
2021-09-25 10:01           ` Leon Romanovsky
2021-09-25 10:01             ` [Intel-wired-lan] " Leon Romanovsky
2021-09-23 18:12 ` [PATCH net-next 2/6] bnxt_en: Properly remove port parameter support Leon Romanovsky
2021-09-23 18:12   ` [Intel-wired-lan] " Leon Romanovsky
2021-09-23 21:23   ` Edwin Peer
2021-09-23 21:23     ` [Intel-wired-lan] " Edwin Peer
2021-09-23 18:12 ` [PATCH net-next 3/6] devlink: Delete not used port parameters APIs Leon Romanovsky
2021-09-23 18:12   ` [Intel-wired-lan] " Leon Romanovsky
2021-09-23 18:12 ` [PATCH net-next 4/6] devlink: Remove single line function obfuscations Leon Romanovsky
2021-09-23 18:12   ` [Intel-wired-lan] " Leon Romanovsky
2021-09-23 18:12 ` [PATCH net-next 5/6] ice: Delete always true check of PF pointer Leon Romanovsky
2021-09-23 18:12   ` [Intel-wired-lan] " Leon Romanovsky
2021-09-23 18:12 ` [PATCH net-next 6/6] qed: Don't ignore devlink allocation failures Leon Romanovsky
2021-09-23 18:12   ` [Intel-wired-lan] " Leon Romanovsky
2021-09-23 22:55 ` [PATCH net-next 0/6] Batch of devlink related fixes Jakub Kicinski
2021-09-23 22:55   ` [Intel-wired-lan] " Jakub Kicinski
2021-09-23 23:16   ` Leon Romanovsky
2021-09-23 23:16     ` [Intel-wired-lan] " Leon Romanovsky
2021-09-24 13:14 ` David Miller
2021-09-24 13:14   ` [Intel-wired-lan] " David Miller
2021-09-25  8:56   ` Leon Romanovsky
2021-09-25  8:56     ` [Intel-wired-lan] " Leon Romanovsky
2021-09-24 13:20 ` patchwork-bot+netdevbpf
2021-09-24 13:20   ` [Intel-wired-lan] " patchwork-bot+netdevbpf

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=YU0JlzFOa7kpKgnd@unreal \
    --to=leon@kernel.org \
    --cc=GR-QLogic-Storage-Upstream@marvell.com \
    --cc=GR-everest-linux-l2@marvell.com \
    --cc=aelior@marvell.com \
    --cc=alobakin@pm.me \
    --cc=anirudh.venkataramanan@intel.com \
    --cc=anthony.l.nguyen@intel.com \
    --cc=davem@davemloft.net \
    --cc=edwin.peer@broadcom.com \
    --cc=intel-wired-lan@lists.osuosl.org \
    --cc=irusskikh@marvell.com \
    --cc=jeffrey.t.kirsher@intel.com \
    --cc=jejb@linux.ibm.com \
    --cc=jesse.brandeburg@intel.com \
    --cc=jhasan@marvell.com \
    --cc=jiri@nvidia.com \
    --cc=kuba@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=martin.petersen@oracle.com \
    --cc=michael.chan@broadcom.com \
    --cc=michal.kalderon@marvell.com \
    --cc=netdev@vger.kernel.org \
    --cc=sathya.perla@broadcom.com \
    --cc=skashyap@marvell.com \
    --cc=vasundhara-v.volam@broadcom.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.