RE: [PATCH 3/4] lib/hexdump.c: Replace ascii bool in hex_dump_to_buffer with flags

From: Alastair D'Silva
Date: Mon Apr 15 2019 - 06:44:53 EST


> -----Original Message-----
> From: David Laight <David.Laight@xxxxxxxxxx>
> Sent: Monday, 15 April 2019 8:21 PM
> To: 'Alastair D'Silva' <alastair@xxxxxxxxxxx>; 'Petr Mladek'
> <pmladek@xxxxxxxx>
> Cc: 'Alastair D'Silva' <alastair@xxxxxxxxxxx>; 'Jani Nikula'
> <jani.nikula@xxxxxxxxxxxxxxx>; 'Joonas Lahtinen'
> <joonas.lahtinen@xxxxxxxxxxxxxxx>; 'Rodrigo Vivi' <rodrigo.vivi@xxxxxxxxx>;
> 'David Airlie' <airlied@xxxxxxxx>; 'Daniel Vetter' <daniel@xxxxxxxx>; 'Karsten
> Keil' <isdn@xxxxxxxxxxxxxx>; 'Jassi Brar' <jassisinghbrar@xxxxxxxxx>; 'Tom
> Lendacky' <thomas.lendacky@xxxxxxx>; 'David S. Miller'
> <davem@xxxxxxxxxxxxx>; 'Jose Abreu' <Jose.Abreu@xxxxxxxxxxxx>; 'Kalle
> Valo' <kvalo@xxxxxxxxxxxxxx>; 'Stanislaw Gruszka' <sgruszka@xxxxxxxxxx>;
> 'Benson Leung' <bleung@xxxxxxxxxxxx>; 'Enric Balletbo i Serra'
> <enric.balletbo@xxxxxxxxxxxxx>; 'James E.J. Bottomley'
> <jejb@xxxxxxxxxxxxx>; 'Martin K. Petersen' <martin.petersen@xxxxxxxxxx>;
> 'Greg Kroah-Hartman' <gregkh@xxxxxxxxxxxxxxxxxxx>; 'Alexander Viro'
> <viro@xxxxxxxxxxxxxxxxxx>; 'Sergey Senozhatsky'
> <sergey.senozhatsky@xxxxxxxxx>; 'Steven Rostedt'
> <rostedt@xxxxxxxxxxx>; 'Andrew Morton' <akpm@xxxxxxxxxxxxxxxxxxxx>;
> intel-gfx@xxxxxxxxxxxxxxxxxxxxx; dri-devel@xxxxxxxxxxxxxxxxxxxxx; linux-
> kernel@xxxxxxxxxxxxxxx; netdev@xxxxxxxxxxxxxxx;
> ath10k@xxxxxxxxxxxxxxxxxxx; linux-wireless@xxxxxxxxxxxxxxx; linux-
> scsi@xxxxxxxxxxxxxxx; linux-fbdev@xxxxxxxxxxxxxxx;
> devel@xxxxxxxxxxxxxxxxxxxx; linux-fsdevel@xxxxxxxxxxxxxxx
> Subject: RE: [PATCH 3/4] lib/hexdump.c: Replace ascii bool in
> hex_dump_to_buffer with flags
>
> From: Alastair D'Silva
> > Sent: 15 April 2019 11:07
> ...
> > In the above example the author only wants the hex output, while in
> > other situations, both hex & ASCII output is desirable. If you just
> > want ASCII output, the caller should just use a printk or one of it's
> wrappers.
>
> Hexdump will 'sanitise' the ASCII.
>

This is functionality that doesn't exist in the current hexdump implementation (you always get the hex version).

I think a better option would be to factor out the sanitisation and expose that as a separate function.

> Although I think you'd want a 'no hex' flag to suppress the hex.
>
> Probably more useful flags are ones to suppress the address column.

This is already supported by the prefix_type parameter - are you proposing that we eliminate the parameter & combine it with flags?

> I've also used flags to enable (or disable) suppression of multiple lines of
> zeros of constant bytes.
> In that case you may want hexdump to return the flags for the next call when
> a large buffer is being dumped in fragments.

I'm afraid I don't quite follow here, hex_dump_to_buffer doesn't alter the flags, so the caller already knows it.

--
Alastair D'Silva mob: 0423 762 819
skype: alastair_dsilva msn: alastair@xxxxxxxxxxx
blog: http://alastair.d-silva.org Twitter: @EvilDeece