Re: [PATCH 01/13] kernel/irq/proc: use seq_put_decimal_ull_width() for decimal values

From: Geert Uytterhoeven
Date: Wed Nov 20 2024 - 04:58:26 EST


Hi David,

On Wed, Nov 20, 2024 at 10:36 AM David Wang <00107082@xxxxxxx> wrote:
> At 2024-11-20 17:00:38, "Geert Uytterhoeven" <geert@xxxxxxxxxxxxxx> wrote:
> >> Several drivers use dev_name as format string for seq_printf, would this raise security concerns?
> >>
> >> drivers/gpio/gpio-xgs-iproc.c: seq_printf(p, dev_name(chip->dev));
> >> drivers/gpio/gpio-mlxbf2.c: seq_printf(p, dev_name(gs->dev));
> >> drivers/gpio/gpio-omap.c: seq_printf(p, dev_name(bank->dev));
> >> drivers/gpio/gpio-hlwd.c: seq_printf(p, dev_name(hlwd->dev));
> >> drivers/gpio/gpio-aspeed.c: seq_printf(p, dev_name(gpio->dev));
> >> drivers/gpio/gpio-pca953x.c: seq_printf(p, dev_name(gc->parent));
> >> drivers/gpio/gpio-tegra186.c: seq_printf(p, dev_name(gc->parent));
> >> drivers/gpio/gpio-tegra.c: seq_printf(s, dev_name(chip->parent));
> >> drivers/gpio/gpio-ep93xx.c: seq_printf(p, dev_name(gc->parent));
> >> drivers/gpio/gpio-aspeed-sgpio.c: seq_printf(p, dev_name(gpio->dev));
> >> drivers/gpio/gpio-pl061.c: seq_printf(p, dev_name(gc->parent));
> >> drivers/gpio/gpio-visconti.c: seq_printf(p, dev_name(priv->dev));
> >
> >In theory, yes. But I guess it's hard to sneak a percent sign in these
> >device names.
>
> Yes, it is just theoretical... (Would be a wonderful story if someone manage it somehow :) )
> Anyway, I send out another patch for further discussion.
>
> >But given the above, all of them should probably be updated to print
> >an initial space?
> >
> Oh, no, I did not mean to adding leading space for those in irq_print_chip()
> I mentioned those just because of the format string thing.
>
> Add leading space in those irq_print_chip() is kind of strange...
> With Thomas's patch, irq_print_chip() needs not worry about the leading space issue.

Sure, but there's still a slight misalignment if you have multiple
irqchips of different types:

153: 0 0 GIC-0 300 Level feb00000.display
155: 0 0 da9063-irq 1 Level ALARM
183: 1 0 irqc 0 Level ee700000.ethernet-ffffffff:01
184: 0 0 GIC-0 197 Level ee100000.mmc
185: 52 0 GIC-0 199 Level ee140000.mmc
186: 0 0 GIC-0 200 Level ee160000.mmc
187: 0 0 gpio-rcar 6 Edge ee100000.mmc cd

I have just sent out a fix for another preexisting misalignment on ARM
https://lore.kernel.org/96f61cafee969c59796ac06c1410195fa0f1ba0b.1732096154.git.geert+renesas@xxxxxxxxx

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

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