mtd: stm32-quadspi: replace "%p" with "%pK"

Message ID 20180706130525.22223-1-benjamin.gaignard@st.com
State New
Headers show
Series
  • mtd: stm32-quadspi: replace "%p" with "%pK"
Related show

Commit Message

Benjamin Gaignard July 6, 2018, 1:05 p.m.
The format specifier "%p" can leak kernel addresses.
Use "%pK" instead.

Signed-off-by: Benjamin Gaignard <benjamin.gaignard@st.com>

---
 drivers/mtd/spi-nor/stm32-quadspi.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

-- 
2.15.0

Comments

Richard Weinberger July 6, 2018, 2:44 p.m. | #1
Am Freitag, 6. Juli 2018, 15:05:25 CEST schrieb Benjamin Gaignard:
> The format specifier "%p" can leak kernel addresses.

> Use "%pK" instead.


Does %pK really make sense for dev_dbg()?
When the driver is being debugged "leaking" is on purpose. :)

Thanks,
//richard
 
> Signed-off-by: Benjamin Gaignard <benjamin.gaignard@st.com>

> ---

>  drivers/mtd/spi-nor/stm32-quadspi.c | 6 +++---

>  1 file changed, 3 insertions(+), 3 deletions(-)

> 

> diff --git a/drivers/mtd/spi-nor/stm32-quadspi.c b/drivers/mtd/spi-nor/stm32-quadspi.c

> index 72553506a00b..13e9fc961d3b 100644

> --- a/drivers/mtd/spi-nor/stm32-quadspi.c

> +++ b/drivers/mtd/spi-nor/stm32-quadspi.c

> @@ -355,7 +355,7 @@ static int stm32_qspi_read_reg(struct spi_nor *nor,

>  	struct device *dev = flash->qspi->dev;

>  	struct stm32_qspi_cmd cmd;

>  

> -	dev_dbg(dev, "read_reg: cmd:%#.2x buf:%p len:%#x\n", opcode, buf, len);

> +	dev_dbg(dev, "read_reg: cmd:%#.2x buf:%pK len:%#x\n", opcode, buf, len);

>  

>  	memset(&cmd, 0, sizeof(cmd));

>  	cmd.opcode = opcode;

> @@ -376,7 +376,7 @@ static int stm32_qspi_write_reg(struct spi_nor *nor, u8 opcode,

>  	struct device *dev = flash->qspi->dev;

>  	struct stm32_qspi_cmd cmd;

>  

> -	dev_dbg(dev, "write_reg: cmd:%#.2x buf:%p len:%#x\n", opcode, buf, len);

> +	dev_dbg(dev, "write_reg: cmd:%#.2x buf:%pK len:%#x\n", opcode, buf, len);

>  

>  	memset(&cmd, 0, sizeof(cmd));

>  	cmd.opcode = opcode;

> @@ -398,7 +398,7 @@ static ssize_t stm32_qspi_read(struct spi_nor *nor, loff_t from, size_t len,

>  	struct stm32_qspi_cmd cmd;

>  	int err;

>  

> -	dev_dbg(qspi->dev, "read(%#.2x): buf:%p from:%#.8x len:%#zx\n",

> +	dev_dbg(qspi->dev, "read(%#.2x): buf:%pK from:%#.8x len:%#zx\n",

>  		nor->read_opcode, buf, (u32)from, len);

>  

>  	memset(&cmd, 0, sizeof(cmd));

>
Boris Brezillon July 6, 2018, 2:47 p.m. | #2
On Fri, 06 Jul 2018 16:44:44 +0200
Richard Weinberger <richard@nod.at> wrote:

> Am Freitag, 6. Juli 2018, 15:05:25 CEST schrieb Benjamin Gaignard:

> > The format specifier "%p" can leak kernel addresses.

> > Use "%pK" instead.  

> 

> Does %pK really make sense for dev_dbg()?

> When the driver is being debugged "leaking" is on purpose. :)


%p already gives you a hash of the pointer address. At least with %pK
you can turn it off through a sysctl :).

> 

> Thanks,

> //richard

>  

> > Signed-off-by: Benjamin Gaignard <benjamin.gaignard@st.com>

> > ---

> >  drivers/mtd/spi-nor/stm32-quadspi.c | 6 +++---

> >  1 file changed, 3 insertions(+), 3 deletions(-)

> > 

> > diff --git a/drivers/mtd/spi-nor/stm32-quadspi.c b/drivers/mtd/spi-nor/stm32-quadspi.c

> > index 72553506a00b..13e9fc961d3b 100644

> > --- a/drivers/mtd/spi-nor/stm32-quadspi.c

> > +++ b/drivers/mtd/spi-nor/stm32-quadspi.c

> > @@ -355,7 +355,7 @@ static int stm32_qspi_read_reg(struct spi_nor *nor,

> >  	struct device *dev = flash->qspi->dev;

> >  	struct stm32_qspi_cmd cmd;

> >  

> > -	dev_dbg(dev, "read_reg: cmd:%#.2x buf:%p len:%#x\n", opcode, buf, len);

> > +	dev_dbg(dev, "read_reg: cmd:%#.2x buf:%pK len:%#x\n", opcode, buf, len);

> >  

> >  	memset(&cmd, 0, sizeof(cmd));

> >  	cmd.opcode = opcode;

> > @@ -376,7 +376,7 @@ static int stm32_qspi_write_reg(struct spi_nor *nor, u8 opcode,

> >  	struct device *dev = flash->qspi->dev;

> >  	struct stm32_qspi_cmd cmd;

> >  

> > -	dev_dbg(dev, "write_reg: cmd:%#.2x buf:%p len:%#x\n", opcode, buf, len);

> > +	dev_dbg(dev, "write_reg: cmd:%#.2x buf:%pK len:%#x\n", opcode, buf, len);

> >  

> >  	memset(&cmd, 0, sizeof(cmd));

> >  	cmd.opcode = opcode;

> > @@ -398,7 +398,7 @@ static ssize_t stm32_qspi_read(struct spi_nor *nor, loff_t from, size_t len,

> >  	struct stm32_qspi_cmd cmd;

> >  	int err;

> >  

> > -	dev_dbg(qspi->dev, "read(%#.2x): buf:%p from:%#.8x len:%#zx\n",

> > +	dev_dbg(qspi->dev, "read(%#.2x): buf:%pK from:%#.8x len:%#zx\n",

> >  		nor->read_opcode, buf, (u32)from, len);

> >  

> >  	memset(&cmd, 0, sizeof(cmd));

> >   

> 

>
Richard Weinberger July 6, 2018, 2:49 p.m. | #3
Am Freitag, 6. Juli 2018, 16:47:32 CEST schrieb Boris Brezillon:
> On Fri, 06 Jul 2018 16:44:44 +0200

> Richard Weinberger <richard@nod.at> wrote:

> 

> > Am Freitag, 6. Juli 2018, 15:05:25 CEST schrieb Benjamin Gaignard:

> > > The format specifier "%p" can leak kernel addresses.

> > > Use "%pK" instead.  

> > 

> > Does %pK really make sense for dev_dbg()?

> > When the driver is being debugged "leaking" is on purpose. :)

> 

> %p already gives you a hash of the pointer address. At least with %pK

> you can turn it off through a sysctl :).


Once again I mixed %p and %pK.
So then %pK is what we want. :D

Thanks,
//richard
Boris Brezillon July 7, 2018, 10:09 a.m. | #4
On Fri,  6 Jul 2018 15:05:25 +0200
Benjamin Gaignard <benjamin.gaignard@linaro.org> wrote:

> The format specifier "%p" can leak kernel addresses.

> Use "%pK" instead.

> 

> Signed-off-by: Benjamin Gaignard <benjamin.gaignard@st.com>


Applied.

Thanks,

Boris

> ---

>  drivers/mtd/spi-nor/stm32-quadspi.c | 6 +++---

>  1 file changed, 3 insertions(+), 3 deletions(-)

> 

> diff --git a/drivers/mtd/spi-nor/stm32-quadspi.c b/drivers/mtd/spi-nor/stm32-quadspi.c

> index 72553506a00b..13e9fc961d3b 100644

> --- a/drivers/mtd/spi-nor/stm32-quadspi.c

> +++ b/drivers/mtd/spi-nor/stm32-quadspi.c

> @@ -355,7 +355,7 @@ static int stm32_qspi_read_reg(struct spi_nor *nor,

>  	struct device *dev = flash->qspi->dev;

>  	struct stm32_qspi_cmd cmd;

>  

> -	dev_dbg(dev, "read_reg: cmd:%#.2x buf:%p len:%#x\n", opcode, buf, len);

> +	dev_dbg(dev, "read_reg: cmd:%#.2x buf:%pK len:%#x\n", opcode, buf, len);

>  

>  	memset(&cmd, 0, sizeof(cmd));

>  	cmd.opcode = opcode;

> @@ -376,7 +376,7 @@ static int stm32_qspi_write_reg(struct spi_nor *nor, u8 opcode,

>  	struct device *dev = flash->qspi->dev;

>  	struct stm32_qspi_cmd cmd;

>  

> -	dev_dbg(dev, "write_reg: cmd:%#.2x buf:%p len:%#x\n", opcode, buf, len);

> +	dev_dbg(dev, "write_reg: cmd:%#.2x buf:%pK len:%#x\n", opcode, buf, len);

>  

>  	memset(&cmd, 0, sizeof(cmd));

>  	cmd.opcode = opcode;

> @@ -398,7 +398,7 @@ static ssize_t stm32_qspi_read(struct spi_nor *nor, loff_t from, size_t len,

>  	struct stm32_qspi_cmd cmd;

>  	int err;

>  

> -	dev_dbg(qspi->dev, "read(%#.2x): buf:%p from:%#.8x len:%#zx\n",

> +	dev_dbg(qspi->dev, "read(%#.2x): buf:%pK from:%#.8x len:%#zx\n",

>  		nor->read_opcode, buf, (u32)from, len);

>  

>  	memset(&cmd, 0, sizeof(cmd));

Patch

diff --git a/drivers/mtd/spi-nor/stm32-quadspi.c b/drivers/mtd/spi-nor/stm32-quadspi.c
index 72553506a00b..13e9fc961d3b 100644
--- a/drivers/mtd/spi-nor/stm32-quadspi.c
+++ b/drivers/mtd/spi-nor/stm32-quadspi.c
@@ -355,7 +355,7 @@  static int stm32_qspi_read_reg(struct spi_nor *nor,
 	struct device *dev = flash->qspi->dev;
 	struct stm32_qspi_cmd cmd;
 
-	dev_dbg(dev, "read_reg: cmd:%#.2x buf:%p len:%#x\n", opcode, buf, len);
+	dev_dbg(dev, "read_reg: cmd:%#.2x buf:%pK len:%#x\n", opcode, buf, len);
 
 	memset(&cmd, 0, sizeof(cmd));
 	cmd.opcode = opcode;
@@ -376,7 +376,7 @@  static int stm32_qspi_write_reg(struct spi_nor *nor, u8 opcode,
 	struct device *dev = flash->qspi->dev;
 	struct stm32_qspi_cmd cmd;
 
-	dev_dbg(dev, "write_reg: cmd:%#.2x buf:%p len:%#x\n", opcode, buf, len);
+	dev_dbg(dev, "write_reg: cmd:%#.2x buf:%pK len:%#x\n", opcode, buf, len);
 
 	memset(&cmd, 0, sizeof(cmd));
 	cmd.opcode = opcode;
@@ -398,7 +398,7 @@  static ssize_t stm32_qspi_read(struct spi_nor *nor, loff_t from, size_t len,
 	struct stm32_qspi_cmd cmd;
 	int err;
 
-	dev_dbg(qspi->dev, "read(%#.2x): buf:%p from:%#.8x len:%#zx\n",
+	dev_dbg(qspi->dev, "read(%#.2x): buf:%pK from:%#.8x len:%#zx\n",
 		nor->read_opcode, buf, (u32)from, len);
 
 	memset(&cmd, 0, sizeof(cmd));