lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAHp75VdFZmGEPXHQpW3YnvzXHqYsvo2-MhGk-p9itkZu7SnyUg@mail.gmail.com>
Date:	Wed, 29 May 2013 21:18:12 +0300
From:	Andy Shevchenko <andy.shevchenko@...il.com>
To:	"Philip J. Kelleher" <pjk1939@...ux.vnet.ibm.com>
Cc:	axboe@...nel.dk,
	"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH 1/8] rsxx: Adding in debugfs entries.

On Wed, May 29, 2013 at 12:08 AM, Philip J. Kelleher
<pjk1939@...ux.vnet.ibm.com> wrote:
> From: Philip J Kelleher <pjk1939@...ux.vnet.ibm.com>
>
> Adding in some debugfs entries to help with debugging and
> testing code.

> +++ linux-block/drivers/block/rsxx/core.c       2013-05-02 17:18:22.944239791 -0500
> @@ -52,6 +54,191 @@ MODULE_PARM_DESC(force_legacy, "Force th
>  static DEFINE_IDA(rsxx_disk_ida);
>  static DEFINE_SPINLOCK(rsxx_ida_lock);
>
> +/* --------------------Debugfs Setup ------------------- */
> +
> +static struct dentry *rsxx_debugfs_root;

I didn't get if you use only one debugfs_root per instance? How do you
distinguish two or more cards then?

> +static void rsxx_debugfs_dev_new(struct rsxx_cardinfo *card)
> +{
> +       if (!rsxx_debugfs_root)
> +               return;

It seems you always call this after debugfs_init(). So, remove this
check (keep in mind you have to check debugfs_init() return code - see
below).

> +static void rsxx_debugfs_dev_remove(struct rsxx_cardinfo *card)
> +{
> +}

Useless function. See below.

> +static void rsxx_debugfs_init(void)
> +{
> +       rsxx_debugfs_root = debugfs_create_dir(DRIVER_NAME, NULL);

Same comment for DRIVER_NAME as for global variable debugfs_root above.

> +       if (!rsxx_debugfs_root)
> +               return;

It should be checked for NULL and for ERR_PTR. Return error instead of void.

> +static void rsxx_debugfs_destroy(void)
> +{
> +       if (!rsxx_debugfs_root)
> +               return;

Use debugfs_remove_recursive().
It's also NULL-proof.

> +       debugfs_remove(rsxx_debugfs_root);
> +       rsxx_debugfs_root = NULL;

If you will use this on card based, you  probably have to move this
from global space to card space.

> +++ linux-block/drivers/block/rsxx/rsxx_priv.h  2013-05-02 17:17:25.154498245 -0500
> @@ -181,6 +181,11 @@ struct rsxx_cardinfo {
>
>         int                     n_targets;
>         struct rsxx_dma_ctrl    *ctrl;
> +
> +       /* Debugfs Variables */
> +       struct dentry           *debugfs_dir;
> +       struct dentry           *debugfs_stats;
> +       struct dentry           *debugfs_pci_regs;

No need to keep those pointers since you may use debugfs_remove_recursive().

--
With Best Regards,
Andy Shevchenko
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ