mbox series

[v2,0/7] debugfs: Add and use debugfs_create_xul()

Message ID 20191025094130.26033-1-geert+renesas@glider.be (mailing list archive)
Headers show
Series debugfs: Add and use debugfs_create_xul() | expand

Message

Geert Uytterhoeven Oct. 25, 2019, 9:41 a.m. UTC
Hi all,

The existing debugfs_create_ulong() function supports objects of
type "unsigned long", which are 32-bit or 64-bit depending on the
platform, in decimal form.  To format objects in hexadecimal, various
debugfs_create_x*() functions exist, but all of them take fixed-size
types. 
  
To work around this, some drivers call one of debugfs_create_x{32,64}(),
depending on the size of unsigned long.
Other drivers just cast the value pointer to "u32 *" or "u64 *",
introducing portability bugs or data leaks in the process.
 
Hence this patch series adds a debugfs helper for "unsigned long"
objects in hexadecimal format, and converts drivers to make use of it.
It also contains two cleanups removing superfluous casts, which I added
to this series to avoid conflicts.
 
Changes compared to v1[1]:
  - Add kerneldoc,
  - Update Documentation/filesystems/debugfs.txt,
  - Add Acked-by.

Dependencies:
  - The first patch now depends on "Documentation: debugfs: Document
    debugfs helper for unsigned long values"[2], which Jon said he
    applied to his tree.

Thanks!

[1] https://lore.kernel.org/lkml/20191021143742.14487-1-geert+renesas@glider.be/
[2] https://lore.kernel.org/lkml/20191021150645.32440-1-geert+renesas@glider.be/

Geert Uytterhoeven (7):
  debugfs: Add debugfs_create_xul() for hexadecimal unsigned long
  mac80211: Use debugfs_create_xul() helper
  net: caif: Fix debugfs on 64-bit platforms
  mmc: atmel-mci: Fix debugfs on 64-bit platforms
  mmc: atmel-mci: Remove superfluous cast in debugfs_create_u32() call
  mmc: dw_mmc: Fix debugfs on 64-bit platforms
  mmc: dw_mmc: Remove superfluous cast in debugfs_create_u32() call

 Documentation/filesystems/debugfs.txt |  5 ++++-
 drivers/mmc/host/atmel-mci.c          | 10 +++++-----
 drivers/mmc/host/dw_mmc.c             | 10 +++++-----
 drivers/net/caif/caif_serial.c        |  4 ++--
 include/linux/debugfs.h               | 21 +++++++++++++++++++++
 net/mac80211/debugfs_sta.c            | 17 +++--------------
 6 files changed, 40 insertions(+), 27 deletions(-)

Comments

Greg Kroah-Hartman Nov. 3, 2019, 5:13 p.m. UTC | #1
On Fri, Oct 25, 2019 at 11:41:23AM +0200, Geert Uytterhoeven wrote:
>         Hi all,
> 
> The existing debugfs_create_ulong() function supports objects of
> type "unsigned long", which are 32-bit or 64-bit depending on the
> platform, in decimal form.  To format objects in hexadecimal, various
> debugfs_create_x*() functions exist, but all of them take fixed-size
> types. 
>   
> To work around this, some drivers call one of debugfs_create_x{32,64}(),
> depending on the size of unsigned long.
> Other drivers just cast the value pointer to "u32 *" or "u64 *",
> introducing portability bugs or data leaks in the process.
>  
> Hence this patch series adds a debugfs helper for "unsigned long"
> objects in hexadecimal format, and converts drivers to make use of it.
> It also contains two cleanups removing superfluous casts, which I added
> to this series to avoid conflicts.
>  
> Changes compared to v1[1]:
>   - Add kerneldoc,
>   - Update Documentation/filesystems/debugfs.txt,
>   - Add Acked-by.
> 
> Dependencies:
>   - The first patch now depends on "Documentation: debugfs: Document
>     debugfs helper for unsigned long values"[2], which Jon said he
>     applied to his tree.

I did not take patches 2 or 3 as I need acks from those subsystem
maintainers to do so.

But I did take all the others.

thanks,

greg k-h