linux-crypto.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* crypto: hisilicon - Fix warning on printing %p with dma_addr_t
@ 2019-08-15 12:03 Herbert Xu
  2019-08-15 14:17 ` Zhou Wang
  2019-08-15 22:45 ` [v2 PATCH] " Herbert Xu
  0 siblings, 2 replies; 9+ messages in thread
From: Herbert Xu @ 2019-08-15 12:03 UTC (permalink / raw)
  To: Zhou Wang, linux-crypto

This patch fixes a printk format warning by replacing %p with %#lx
for dma_addr_t.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

diff --git a/drivers/crypto/hisilicon/qm.c b/drivers/crypto/hisilicon/qm.c
index d72e062..3095284 100644
--- a/drivers/crypto/hisilicon/qm.c
+++ b/drivers/crypto/hisilicon/qm.c
@@ -347,8 +347,8 @@ static int qm_mb(struct hisi_qm *qm, u8 cmd, dma_addr_t dma_addr, u16 queue,
 	struct qm_mailbox mailbox;
 	int ret = 0;
 
-	dev_dbg(&qm->pdev->dev, "QM mailbox request to q%u: %u-%pad\n", queue,
-		cmd, dma_addr);
+	dev_dbg(&qm->pdev->dev, "QM mailbox request to q%u: %u-%#lxad\n",
+		queue, cmd, (unsigned long)dma_addr);
 
 	mailbox.w0 = cmd |
 		     (op ? 0x1 << QM_MB_OP_SHIFT : 0) |
-- 
Email: Herbert Xu <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: crypto: hisilicon - Fix warning on printing %p with dma_addr_t
  2019-08-15 12:03 crypto: hisilicon - Fix warning on printing %p with dma_addr_t Herbert Xu
@ 2019-08-15 14:17 ` Zhou Wang
  2019-08-15 22:42   ` Herbert Xu
  2019-08-15 22:45 ` [v2 PATCH] " Herbert Xu
  1 sibling, 1 reply; 9+ messages in thread
From: Zhou Wang @ 2019-08-15 14:17 UTC (permalink / raw)
  To: Herbert Xu, linux-crypto

On 2019/8/15 20:03, Herbert Xu wrote:
> This patch fixes a printk format warning by replacing %p with %#lx
> for dma_addr_t.
> 
> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
> 
> diff --git a/drivers/crypto/hisilicon/qm.c b/drivers/crypto/hisilicon/qm.c
> index d72e062..3095284 100644
> --- a/drivers/crypto/hisilicon/qm.c
> +++ b/drivers/crypto/hisilicon/qm.c
> @@ -347,8 +347,8 @@ static int qm_mb(struct hisi_qm *qm, u8 cmd, dma_addr_t dma_addr, u16 queue,
>  	struct qm_mailbox mailbox;
>  	int ret = 0;
>  
> -	dev_dbg(&qm->pdev->dev, "QM mailbox request to q%u: %u-%pad\n", queue,
> -		cmd, dma_addr);
> +	dev_dbg(&qm->pdev->dev, "QM mailbox request to q%u: %u-%#lxad\n",
> +		queue, cmd, (unsigned long)dma_addr);

Thanks. However, to be honest I can't get why we fix it like this.
Can you give me a clue?

>  
>  	mailbox.w0 = cmd |
>  		     (op ? 0x1 << QM_MB_OP_SHIFT : 0) |
> 


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: crypto: hisilicon - Fix warning on printing %p with dma_addr_t
  2019-08-15 14:17 ` Zhou Wang
@ 2019-08-15 22:42   ` Herbert Xu
  2019-08-16  7:02     ` Ondrej Mosnáček
  0 siblings, 1 reply; 9+ messages in thread
From: Herbert Xu @ 2019-08-15 22:42 UTC (permalink / raw)
  To: Zhou Wang; +Cc: linux-crypto

On Thu, Aug 15, 2019 at 10:17:37PM +0800, Zhou Wang wrote:
>
> > -	dev_dbg(&qm->pdev->dev, "QM mailbox request to q%u: %u-%pad\n", queue,
> > -		cmd, dma_addr);
> > +	dev_dbg(&qm->pdev->dev, "QM mailbox request to q%u: %u-%#lxad\n",
> > +		queue, cmd, (unsigned long)dma_addr);
> 
> Thanks. However, to be honest I can't get why we fix it like this.
> Can you give me a clue?

dma_addr_t is not a pointer.  It's an integer type and therefore
you need to print it out as such.

Actually my patch is buggy too, on some architectures it can be
a long long so we need to cast is such.

Cheers,
-- 
Email: Herbert Xu <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [v2 PATCH] crypto: hisilicon - Fix warning on printing %p with dma_addr_t
  2019-08-15 12:03 crypto: hisilicon - Fix warning on printing %p with dma_addr_t Herbert Xu
  2019-08-15 14:17 ` Zhou Wang
@ 2019-08-15 22:45 ` Herbert Xu
  2019-08-15 22:47   ` [v3 " Herbert Xu
  1 sibling, 1 reply; 9+ messages in thread
From: Herbert Xu @ 2019-08-15 22:45 UTC (permalink / raw)
  To: Zhou Wang, linux-crypto

This patch fixes a printk format warning by replacing %p with %#llx
for dma_addr_t.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

diff --git a/drivers/crypto/hisilicon/qm.c b/drivers/crypto/hisilicon/qm.c
index d72e062..cfb0210 100644
--- a/drivers/crypto/hisilicon/qm.c
+++ b/drivers/crypto/hisilicon/qm.c
@@ -347,8 +353,8 @@ static int qm_mb(struct hisi_qm *qm, u8 cmd, dma_addr_t dma_addr, u16 queue,
 	struct qm_mailbox mailbox;
 	int ret = 0;
 
-	dev_dbg(&qm->pdev->dev, "QM mailbox request to q%u: %u-%pad\n", queue,
-		cmd, dma_addr);
+	dev_dbg(&qm->pdev->dev, "QM mailbox request to q%u: %u-%#llxad\n",
+		queue, cmd, (unsigned long long)dma_addr);
 
 	mailbox.w0 = cmd |
 		     (op ? 0x1 << QM_MB_OP_SHIFT : 0) |
-- 
Email: Herbert Xu <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [v3 PATCH] crypto: hisilicon - Fix warning on printing %p with dma_addr_t
  2019-08-15 22:45 ` [v2 PATCH] " Herbert Xu
@ 2019-08-15 22:47   ` Herbert Xu
  2019-08-16  6:04     ` Zhou Wang
  0 siblings, 1 reply; 9+ messages in thread
From: Herbert Xu @ 2019-08-15 22:47 UTC (permalink / raw)
  To: Zhou Wang, linux-crypto

This patch fixes a printk format warning by replacing %p with %#llx
for dma_addr_t.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

diff --git a/drivers/crypto/hisilicon/qm.c b/drivers/crypto/hisilicon/qm.c
index d72e062..4ad4de4 100644
--- a/drivers/crypto/hisilicon/qm.c
+++ b/drivers/crypto/hisilicon/qm.c
@@ -347,8 +353,8 @@ static int qm_mb(struct hisi_qm *qm, u8 cmd, dma_addr_t dma_addr, u16 queue,
 	struct qm_mailbox mailbox;
 	int ret = 0;
 
-	dev_dbg(&qm->pdev->dev, "QM mailbox request to q%u: %u-%pad\n", queue,
-		cmd, dma_addr);
+	dev_dbg(&qm->pdev->dev, "QM mailbox request to q%u: %u-%llx\n",
+		queue, cmd, (unsigned long long)dma_addr);
 
 	mailbox.w0 = cmd |
 		     (op ? 0x1 << QM_MB_OP_SHIFT : 0) |
-- 
Email: Herbert Xu <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [v3 PATCH] crypto: hisilicon - Fix warning on printing %p with dma_addr_t
  2019-08-15 22:47   ` [v3 " Herbert Xu
@ 2019-08-16  6:04     ` Zhou Wang
  0 siblings, 0 replies; 9+ messages in thread
From: Zhou Wang @ 2019-08-16  6:04 UTC (permalink / raw)
  To: Herbert Xu, linux-crypto

On 2019/8/16 6:47, Herbert Xu wrote:
> This patch fixes a printk format warning by replacing %p with %#llx
> for dma_addr_t.
> 
> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
> 
> diff --git a/drivers/crypto/hisilicon/qm.c b/drivers/crypto/hisilicon/qm.c
> index d72e062..4ad4de4 100644
> --- a/drivers/crypto/hisilicon/qm.c
> +++ b/drivers/crypto/hisilicon/qm.c
> @@ -347,8 +353,8 @@ static int qm_mb(struct hisi_qm *qm, u8 cmd, dma_addr_t dma_addr, u16 queue,
>  	struct qm_mailbox mailbox;
>  	int ret = 0;
>  
> -	dev_dbg(&qm->pdev->dev, "QM mailbox request to q%u: %u-%pad\n", queue,
> -		cmd, dma_addr);
> +	dev_dbg(&qm->pdev->dev, "QM mailbox request to q%u: %u-%llx\n",
> +		queue, cmd, (unsigned long long)dma_addr);

I should modify this as:

	dev_dbg(&qm->pdev->dev, "QM mailbox request to q%u: %u-%pad\n",
		queue, cmd, &dma_addr);

>  
>  	mailbox.w0 = cmd |
>  		     (op ? 0x1 << QM_MB_OP_SHIFT : 0) |
> 


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: crypto: hisilicon - Fix warning on printing %p with dma_addr_t
  2019-08-15 22:42   ` Herbert Xu
@ 2019-08-16  7:02     ` Ondrej Mosnáček
  2019-08-16  7:08       ` Ondrej Mosnáček
  0 siblings, 1 reply; 9+ messages in thread
From: Ondrej Mosnáček @ 2019-08-16  7:02 UTC (permalink / raw)
  To: Herbert Xu; +Cc: Zhou Wang, linux-crypto

Hi Herbert,

pi 16. 8. 2019 o 1:52 Herbert Xu <herbert@gondor.apana.org.au> napísal(a):
> On Thu, Aug 15, 2019 at 10:17:37PM +0800, Zhou Wang wrote:
> >
> > > -   dev_dbg(&qm->pdev->dev, "QM mailbox request to q%u: %u-%pad\n", queue,
> > > -           cmd, dma_addr);
> > > +   dev_dbg(&qm->pdev->dev, "QM mailbox request to q%u: %u-%#lxad\n",
> > > +           queue, cmd, (unsigned long)dma_addr);
> >
> > Thanks. However, to be honest I can't get why we fix it like this.
> > Can you give me a clue?
>
> dma_addr_t is not a pointer.  It's an integer type and therefore
> you need to print it out as such.

According to Documentation/core-api/printk-formats.rst, %pad is the
format specifier intended specifically for dma_addr_t [1], so perhaps
the kbuild robot warning was in fact bogus?

[1] https://www.kernel.org/doc/html/latest/core-api/printk-formats.html#dma-address-types-dma-addr-t

>
> Actually my patch is buggy too, on some architectures it can be
> a long long so we need to cast is such.
>
> Cheers,
> --
> Email: Herbert Xu <herbert@gondor.apana.org.au>
> Home Page: http://gondor.apana.org.au/~herbert/
> PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: crypto: hisilicon - Fix warning on printing %p with dma_addr_t
  2019-08-16  7:02     ` Ondrej Mosnáček
@ 2019-08-16  7:08       ` Ondrej Mosnáček
  2019-08-16  7:53         ` Zhou Wang
  0 siblings, 1 reply; 9+ messages in thread
From: Ondrej Mosnáček @ 2019-08-16  7:08 UTC (permalink / raw)
  To: Herbert Xu; +Cc: Zhou Wang, linux-crypto

pi 16. 8. 2019 o 9:02 Ondrej Mosnáček <omosnacek@gmail.com> napísal(a):
> Hi Herbert,
>
> pi 16. 8. 2019 o 1:52 Herbert Xu <herbert@gondor.apana.org.au> napísal(a):
> > On Thu, Aug 15, 2019 at 10:17:37PM +0800, Zhou Wang wrote:
> > >
> > > > -   dev_dbg(&qm->pdev->dev, "QM mailbox request to q%u: %u-%pad\n", queue,
> > > > -           cmd, dma_addr);
> > > > +   dev_dbg(&qm->pdev->dev, "QM mailbox request to q%u: %u-%#lxad\n",
> > > > +           queue, cmd, (unsigned long)dma_addr);
> > >
> > > Thanks. However, to be honest I can't get why we fix it like this.
> > > Can you give me a clue?
> >
> > dma_addr_t is not a pointer.  It's an integer type and therefore
> > you need to print it out as such.
>
> According to Documentation/core-api/printk-formats.rst, %pad is the
> format specifier intended specifically for dma_addr_t [1], so perhaps
> the kbuild robot warning was in fact bogus?
>
> [1] https://www.kernel.org/doc/html/latest/core-api/printk-formats.html#dma-address-types-dma-addr-t

Oh, wait, in that section it actually says "Passed by reference.", so
Zhou is most likely right that the proper fix is to pass a pointer to
the variable containing the address (I assume this is to make the
generic GCC's format checking pass even if dma_addr_t is not actually
a pointer).

>
> >
> > Actually my patch is buggy too, on some architectures it can be
> > a long long so we need to cast is such.
> >
> > Cheers,
> > --
> > Email: Herbert Xu <herbert@gondor.apana.org.au>
> > Home Page: http://gondor.apana.org.au/~herbert/
> > PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: crypto: hisilicon - Fix warning on printing %p with dma_addr_t
  2019-08-16  7:08       ` Ondrej Mosnáček
@ 2019-08-16  7:53         ` Zhou Wang
  0 siblings, 0 replies; 9+ messages in thread
From: Zhou Wang @ 2019-08-16  7:53 UTC (permalink / raw)
  To: Ondrej Mosnáček, Herbert Xu; +Cc: linux-crypto

On 2019/8/16 15:08, Ondrej Mosnáček wrote:
> pi 16. 8. 2019 o 9:02 Ondrej Mosnáček <omosnacek@gmail.com> napísal(a):
>> Hi Herbert,
>>
>> pi 16. 8. 2019 o 1:52 Herbert Xu <herbert@gondor.apana.org.au> napísal(a):
>>> On Thu, Aug 15, 2019 at 10:17:37PM +0800, Zhou Wang wrote:
>>>>
>>>>> -   dev_dbg(&qm->pdev->dev, "QM mailbox request to q%u: %u-%pad\n", queue,
>>>>> -           cmd, dma_addr);
>>>>> +   dev_dbg(&qm->pdev->dev, "QM mailbox request to q%u: %u-%#lxad\n",
>>>>> +           queue, cmd, (unsigned long)dma_addr);
>>>>
>>>> Thanks. However, to be honest I can't get why we fix it like this.
>>>> Can you give me a clue?
>>>
>>> dma_addr_t is not a pointer.  It's an integer type and therefore
>>> you need to print it out as such.
>>
>> According to Documentation/core-api/printk-formats.rst, %pad is the
>> format specifier intended specifically for dma_addr_t [1], so perhaps
>> the kbuild robot warning was in fact bogus?
>>
>> [1] https://www.kernel.org/doc/html/latest/core-api/printk-formats.html#dma-address-types-dma-addr-t
> 
> Oh, wait, in that section it actually says "Passed by reference.", so
> Zhou is most likely right that the proper fix is to pass a pointer to
> the variable containing the address (I assume this is to make the
> generic GCC's format checking pass even if dma_addr_t is not actually
> a pointer).

Yes, I think you are right, I also mentioned this in v3.

Thanks,
Zhou

> 
>>
>>>
>>> Actually my patch is buggy too, on some architectures it can be
>>> a long long so we need to cast is such.
>>>
>>> Cheers,
>>> --
>>> Email: Herbert Xu <herbert@gondor.apana.org.au>
>>> Home Page: http://gondor.apana.org.au/~herbert/
>>> PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
> 
> 


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2019-08-16  7:53 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-08-15 12:03 crypto: hisilicon - Fix warning on printing %p with dma_addr_t Herbert Xu
2019-08-15 14:17 ` Zhou Wang
2019-08-15 22:42   ` Herbert Xu
2019-08-16  7:02     ` Ondrej Mosnáček
2019-08-16  7:08       ` Ondrej Mosnáček
2019-08-16  7:53         ` Zhou Wang
2019-08-15 22:45 ` [v2 PATCH] " Herbert Xu
2019-08-15 22:47   ` [v3 " Herbert Xu
2019-08-16  6:04     ` Zhou Wang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).