2017-12-10 19:32:17

by Nicolas Iooss

[permalink] [raw]
Subject: [PATCH 1/1] scsi: fnic: add a space after %p in printf format

fnic_fcpio_icmnd_cmpl_handler() displays the value of sc with:

FNIC_SCSI_DBG(KERN_INFO...
"... sc = 0x%p"
"scsi_status ..."
...

As the literal strings get merged, the function uses %ps instead of the
intended raw %p format. Fix this by inserting a space.

Signed-off-by: Nicolas Iooss <[email protected]>
---
drivers/scsi/fnic/fnic_scsi.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/scsi/fnic/fnic_scsi.c b/drivers/scsi/fnic/fnic_scsi.c
index 242e2ee494a1..8cbd3c9f0b4c 100644
--- a/drivers/scsi/fnic/fnic_scsi.c
+++ b/drivers/scsi/fnic/fnic_scsi.c
@@ -906,7 +906,7 @@ static void fnic_fcpio_icmnd_cmpl_handler(struct fnic *fnic,

FNIC_SCSI_DBG(KERN_INFO, fnic->lport->host,
"icmnd_cmpl abts pending "
- "hdr status = %s tag = 0x%x sc = 0x%p"
+ "hdr status = %s tag = 0x%x sc = 0x%p "
"scsi_status = %x residual = %d\n",
fnic_fcpio_status_to_str(hdr_status),
id, sc,
--
2.15.0


2017-12-11 22:23:01

by Bart Van Assche

[permalink] [raw]
Subject: Re: [PATCH 1/1] scsi: fnic: add a space after %p in printf format

On Sun, 2017-12-10 at 20:23 +0100, Nicolas Iooss wrote:
> fnic_fcpio_icmnd_cmpl_handler() displays the value of sc with:
>
> FNIC_SCSI_DBG(KERN_INFO...
> "... sc = 0x%p"
> "scsi_status ..."
> ...
>
> As the literal strings get merged, the function uses %ps instead of the
> intended raw %p format. Fix this by inserting a space.
>
> Signed-off-by: Nicolas Iooss <[email protected]>
> ---
> drivers/scsi/fnic/fnic_scsi.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/scsi/fnic/fnic_scsi.c b/drivers/scsi/fnic/fnic_scsi.c
> index 242e2ee494a1..8cbd3c9f0b4c 100644
> --- a/drivers/scsi/fnic/fnic_scsi.c
> +++ b/drivers/scsi/fnic/fnic_scsi.c
> @@ -906,7 +906,7 @@ static void fnic_fcpio_icmnd_cmpl_handler(struct fnic *fnic,
>
> FNIC_SCSI_DBG(KERN_INFO, fnic->lport->host,
> "icmnd_cmpl abts pending "
> - "hdr status = %s tag = 0x%x sc = 0x%p"
> + "hdr status = %s tag = 0x%x sc = 0x%p "
> "scsi_status = %x residual = %d\n",

Since the %p format specifier already inserts a 0x prefix, shouldn't 0x%p be changed
into %p?

Bart.

2017-12-11 23:02:20

by Nicolas Iooss

[permalink] [raw]
Subject: Re: [PATCH 1/1] scsi: fnic: add a space after %p in printf format

On Mon, Dec 11, 2017 at 11:22 PM, Bart Van Assche
<[email protected]> wrote:
>
> On Sun, 2017-12-10 at 20:23 +0100, Nicolas Iooss wrote:
> > fnic_fcpio_icmnd_cmpl_handler() displays the value of sc with:
> >
> > FNIC_SCSI_DBG(KERN_INFO...
> > "... sc = 0x%p"
> > "scsi_status ..."
> > ...
> >
> > As the literal strings get merged, the function uses %ps instead of the
> > intended raw %p format. Fix this by inserting a space.
> >
> > Signed-off-by: Nicolas Iooss <[email protected]>
> > ---
> > drivers/scsi/fnic/fnic_scsi.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/scsi/fnic/fnic_scsi.c b/drivers/scsi/fnic/fnic_scsi.c
> > index 242e2ee494a1..8cbd3c9f0b4c 100644
> > --- a/drivers/scsi/fnic/fnic_scsi.c
> > +++ b/drivers/scsi/fnic/fnic_scsi.c
> > @@ -906,7 +906,7 @@ static void fnic_fcpio_icmnd_cmpl_handler(struct fnic *fnic,
> >
> > FNIC_SCSI_DBG(KERN_INFO, fnic->lport->host,
> > "icmnd_cmpl abts pending "
> > - "hdr status = %s tag = 0x%x sc = 0x%p"
> > + "hdr status = %s tag = 0x%x sc = 0x%p "
> > "scsi_status = %x residual = %d\n",
>
> Since the %p format specifier already inserts a 0x prefix, shouldn't 0x%p be changed
> into %p?

Does it? On the kernel I use it does not, and the documentation for %p
does not show a 0x prefix
(https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/printk-formats.txt?h=v4.15-rc3#n57).

Nicolas

2017-12-11 23:34:39

by Bart Van Assche

[permalink] [raw]
Subject: Re: [PATCH 1/1] scsi: fnic: add a space after %p in printf format

On Mon, 2017-12-11 at 23:54 +0100, Nicolas Iooss wrote:
> On Mon, Dec 11, 2017 at 11:22 PM, Bart Van Assche
> <[email protected]> wrote:
> > On Sun, 2017-12-10 at 20:23 +0100, Nicolas Iooss wrote:
> > > - "hdr status = %s tag = 0x%x sc = 0x%p"
> > > + "hdr status = %s tag = 0x%x sc = 0x%p "
> > > "scsi_status = %x residual = %d\n",
> >
> > Since the %p format specifier already inserts a 0x prefix, shouldn't 0x%p be changed
> > into %p?
>
> Does it? On the kernel I use it does not, and the documentation for %p
> does not show a 0x prefix
> (https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/printk-formats.txt?h=v4.15-rc3#n57).

Please ignore my comment.

Bart.

2017-12-12 02:43:35

by Martin K. Petersen

[permalink] [raw]
Subject: Re: [PATCH 1/1] scsi: fnic: add a space after %p in printf format


Nicolas,

> fnic_fcpio_icmnd_cmpl_handler() displays the value of sc with:

> As the literal strings get merged, the function uses %ps instead of the
> intended raw %p format. Fix this by inserting a space.

Applied to 4.16/scsi-queue. Thank you!

--
Martin K. Petersen Oracle Linux Engineering