From: Eugeniu Rosca <erosca@de.adit-jv.com>
To: Geert Uytterhoeven <geert@linux-m68k.org>,
Simon Horman <horms@verge.net.au>
Cc: Simon Horman <horms@verge.net.au>,
Eugeniu Rosca <roscaeugeniu@gmail.com>,
Geert Uytterhoeven <geert+renesas@glider.be>,
Chris Brandt <chris.brandt@renesas.com>,
Wolfram Sang <wsa+renesas@sang-engineering.com>,
Ulrich Hecht <ulrich.hecht+renesas@gmail.com>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
"George G . Davis" <george_davis@mentor.com>,
Andy Lowe <andy_lowe@mentor.com>,
Linux-Renesas <linux-renesas-soc@vger.kernel.org>,
"open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS"
<devicetree@vger.kernel.org>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Magnus Damm <magnus.damm@gmail.com>,
Rob Herring <robh+dt@kernel.org>,
Mark Rutland <mark.rutland@arm.com>,
Christophe Leroy <christophe.leroy@c-s.fr>,
Helge Deller <deller@gmx.de>, Michael Neuling <mikey@neuling.org>,
Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>,
Philip Yang <Philip.Yang@amd.com>,
Matthew Wilcox <mawilcox@microsoft.com>,
Borislav Petkov <bp@suse.de>,
"Darrick J. Wong" <darrick.wong@oracle.com>,
Eugeniu Rosca <erosca@de.adit-jv.com>
Subject: Re: [PATCH 1/6] serial: sh-sci: Reveal ptrval in dev_dbg
Date: Mon, 6 May 2019 19:12:16 +0200 [thread overview]
Message-ID: <20190506171216.GA2181@vmlxhi-102.adit-jv.com> (raw)
In-Reply-To: <CAMuHMdXJzEYL48qwHAxrRsurQLBipZsQpv+w8i=+B2XCM_CZng@mail.gmail.com>
On Mon, May 06, 2019 at 06:46:57PM +0200, Geert Uytterhoeven wrote:
> Hi Eugeniu,
>
> On Mon, May 6, 2019 at 5:24 PM Eugeniu Rosca <erosca@de.adit-jv.com> wrote:
> > On Mon, May 06, 2019 at 03:47:05PM +0200, Simon Horman wrote:
> > > On Sat, May 04, 2019 at 02:42:53AM +0200, Eugeniu Rosca wrote:
> > > > Starting with v4.15-rc2 commit ad67b74d2469d9 ("printk: hash addresses
> > > > printed with %p"), enabling debug prints in sh-sci.c would generate
> > > > output like below confusing the users who try to sneak into the
> > > > internals of the driver:
> > > >
> > > > sh-sci e6e88000.serial: sci_request_dma: TX: got channel (____ptrval____)
> > > > sh-sci e6e88000.serial: sci_request_dma: mapped 4096@(____ptrval____) to 0x00000006798bf000
> > > > sh-sci e6e88000.serial: sci_request_dma: RX: got channel (____ptrval____)
> > > > sh-sci e6e88000.serial: sci_dma_tx_work_fn: (____ptrval____): 0...2, cookie 2
> > > >
> > > > There are two possible fixes for that:
> > > > - get rid of '%p' prints if they don't reveal any useful information
> > > > - s/%p/%px/, since it is unlikely we have any concerns leaking the
> > > > pointer values when running a debug/non-production kernel
> > >
> > > I am concerned that this may expose information in circumstances
> > > where it is undesirable. Is it generally accepted practice to
> > > use %px in conjunction with dev_dbg() ?
> > >
> > > ...
> >
> > Below commits performed a similar s/%p/%px/ update in debug context:
> >
> > Authors (CC-ed) Commit Subject
> > ----------------------------------------
> > Christophe Leroy b18f0ae92b0a1d ("powerpc/prom: fix early DEBUG messages")
> > Helge Deller 3847dab7742186 ("parisc: Add alternative coding infrastructure")
> > Michael Neuling 51c3c62b58b357 ("powerpc: Avoid code patching freed init sections")
> > Kuninori Morimoto dabdbe3ae0cb9a ("ASoC: rsnd: don't use %p for dev_dbg()")
> > Philip Yang fa7e65147e5dca ("drm/amdkfd: use %px to print user space address instead of %p")
> > Matthew Wilcox 68c1f08203f2b0 ("lib/list_debug.c: print unmangled addresses")
> > Borislav Petkov 0e6c16c652cada ("x86/alternative: Print unadorned pointers")
> > Darrick J. Wong c96900435fa9fd ("xfs: use %px for data pointers when debugging")
> > Helge Deller 04903c06b4854d ("parisc: Show unhashed HPA of Dino chip")
> >
> > To quote Matthew, with respect to any debug prints:
> > If an attacker can force this message to be printed, we've already lost.
>
> I think the issue with using %px in debug code is that a distro may enable
> CONFIG_DYNAMIC_DEBUG (it is enabled in several defconfigs), after which
> an attacker just has to convince/trick the system into enabling debug for that
> particular driver.
How about going the route of commit c96900435fa9fd ("xfs: use %px for
data pointers when debugging"), i.e. s/%p/"PTR_FMT"/ like below (this
would enable the expected debug output only on manually defining DEBUG
in the *.c file, while still keeping the output hashed on
DYNAMIC_DEBUG=y if DEBUG is undefined).
diff --git a/drivers/tty/serial/sh-sci.c b/drivers/tty/serial/sh-sci.c
index 3cd139752d3f..69cd87c5ef0c 100644
--- a/drivers/tty/serial/sh-sci.c
+++ b/drivers/tty/serial/sh-sci.c
@@ -56,6 +56,12 @@
#include <asm/sh_bios.h>
#endif
+#ifdef DEBUG
+#define PTR_FMT "%px"
+#else
+#define PTR_FMT "%p"
+#endif
+
#include "serial_mctrl_gpio.h"
#include "sh-sci.h"
@@ -1434,7 +1440,7 @@ static void sci_dma_tx_work_fn(struct work_struct *work)
goto switch_to_pio;
}
- dev_dbg(port->dev, "%s: %p: %d...%d, cookie %d\n",
+ dev_dbg(port->dev, "%s: "PTR_FMT": %d...%d, cookie %d\n",
__func__, xmit->buf, xmit->tail, xmit->head, s->cookie_tx);
dma_async_issue_pending(chan);
>
> > In any case, I won't be affected much if the change is not accepted,
> > since it doesn't resolve any major issue on my end. Thanks!
>
> OK.
>
> Gr{oetje,eeting}s,
>
> Geert
>
> --
> Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
>
> In personal conversations with technical people, I call myself a hacker. But
> when I'm talking to journalists I just say "programmer" or something like that.
> -- Linus Torvalds
--
Best Regards,
Eugeniu.
next prev parent reply other threads:[~2019-05-06 17:12 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-05-04 0:42 [PATCH 0/6] Zap SCIF2 DMA configuration in R-Car Gen3 DTS Eugeniu Rosca
2019-05-04 0:42 ` [PATCH 1/6] serial: sh-sci: Reveal ptrval in dev_dbg Eugeniu Rosca
2019-05-06 13:47 ` Simon Horman
2019-05-06 15:24 ` Eugeniu Rosca
2019-05-06 16:46 ` Geert Uytterhoeven
2019-05-06 17:12 ` Eugeniu Rosca [this message]
2019-05-04 0:42 ` [PATCH 2/6] Revert "arm64: dts: renesas: r8a7796: Enable DMA for SCIF2" Eugeniu Rosca
2019-05-06 10:02 ` Geert Uytterhoeven
2019-05-06 19:42 ` Eugeniu Rosca
[not found] ` <1557413011-1662-1-git-send-email-george_davis@mentor.com>
2019-05-10 17:10 ` [PATCH] serial: sh-sci: disable DMA for uart_console Eugeniu Rosca
2019-05-10 18:38 ` George G. Davis
2019-05-13 10:28 ` Eugeniu Rosca
2019-05-13 11:13 ` Geert Uytterhoeven
2019-05-13 11:42 ` Simon Horman
2019-05-13 13:51 ` Wolfram Sang
2019-05-13 15:43 ` George G. Davis
2019-05-20 2:18 ` [PATCH 2/6] Revert "arm64: dts: renesas: r8a7796: Enable DMA for SCIF2" Yoshihiro Shimoda
2019-05-20 7:37 ` Geert Uytterhoeven
2019-05-20 9:52 ` Yoshihiro Shimoda
2019-05-04 0:42 ` [PATCH 3/6] arm64: dts: renesas: r8a7795: zap dma configuration in scif2 Eugeniu Rosca
2019-05-04 0:42 ` [PATCH 4/6] Revert "arm64: dts: renesas: r8a77965: Enable DMA for SCIF2" Eugeniu Rosca
2019-05-04 0:42 ` [PATCH 5/6] Revert "arm64: dts: renesas: r8a77990: " Eugeniu Rosca
2019-05-04 0:42 ` [PATCH 6/6] Revert "arm64: dts: renesas: r8a77995: add " Eugeniu Rosca
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190506171216.GA2181@vmlxhi-102.adit-jv.com \
--to=erosca@de.adit-jv.com \
--cc=Philip.Yang@amd.com \
--cc=andy_lowe@mentor.com \
--cc=bp@suse.de \
--cc=chris.brandt@renesas.com \
--cc=christophe.leroy@c-s.fr \
--cc=darrick.wong@oracle.com \
--cc=deller@gmx.de \
--cc=devicetree@vger.kernel.org \
--cc=geert+renesas@glider.be \
--cc=geert@linux-m68k.org \
--cc=george_davis@mentor.com \
--cc=gregkh@linuxfoundation.org \
--cc=horms@verge.net.au \
--cc=kuninori.morimoto.gx@renesas.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-renesas-soc@vger.kernel.org \
--cc=magnus.damm@gmail.com \
--cc=mark.rutland@arm.com \
--cc=mawilcox@microsoft.com \
--cc=mikey@neuling.org \
--cc=robh+dt@kernel.org \
--cc=roscaeugeniu@gmail.com \
--cc=ulrich.hecht+renesas@gmail.com \
--cc=wsa+renesas@sang-engineering.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).