Re: [PATCH net v1] bna:Fix error checking for debugfs_create_dir()

From: Randy Dunlap
Date: Thu Jul 13 2023 - 01:50:30 EST


Hi--

On 7/12/23 22:38, Wang Ming wrote:
> The debugfs_create_dir() function returns error pointers,
> it never returns NULL. Most incorrect error checks were fixed,
> but the one in bnad_debugfs_init() was forgotten.
>
> Fix the remaining error check.
>
> Signed-off-by: Wang Ming <machel@xxxxxxxx>
>
> Fixes: 7afc5dbde091 ("bna: Add debugfs interface.")

Comment from fs/debugfs/inode.c:

* NOTE: it's expected that most callers should _ignore_ the errors returned
* by this function. Other debugfs functions handle the fact that the "dentry"
* passed to them could be an error and they don't crash in that case.
* Drivers should generally work fine even if debugfs fails to init anyway.

so no, drivers should not usually care about debugfs function call results.
Is there some special case here?

> ---
> drivers/net/ethernet/brocade/bna/bnad_debugfs.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/net/ethernet/brocade/bna/bnad_debugfs.c b/drivers/net/ethernet/brocade/bna/bnad_debugfs.c
> index 04ad0f2b9677..678a3668a041 100644
> --- a/drivers/net/ethernet/brocade/bna/bnad_debugfs.c
> +++ b/drivers/net/ethernet/brocade/bna/bnad_debugfs.c
> @@ -512,7 +512,7 @@ bnad_debugfs_init(struct bnad *bnad)
> if (!bnad->port_debugfs_root) {
> bnad->port_debugfs_root =
> debugfs_create_dir(name, bna_debugfs_root);
> - if (!bnad->port_debugfs_root) {
> + if (IS_ERR(bnad->port_debugfs_root)) {
> netdev_warn(bnad->netdev,
> "debugfs root dir creation failed\n");
> return;

--
~Randy