* 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).