public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* RFC: introduce "K" flag for printf, similar to %pK
@ 2011-01-25  2:03 Kees Cook
  2011-01-25  2:04 ` [PATCH 1/2] use %pK for /proc/kallsyms and /proc/modules Kees Cook
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Kees Cook @ 2011-01-25  2:03 UTC (permalink / raw)
  To: linux-kernel
  Cc: Rusty Russell, Tejun Heo, Marcus Meissner, Jason Wessel,
	Eugene Teo, Andrew Morton, Joe Perches, Bjorn Helgaas, Len Brown,
	Changli Gao, Dan Rosenberg

In the interests of hiding kernel addresses from userspace (without
messing with file permissions), I want to use %pK for /proc/kallsyms and
/proc/modules, but this results in changing several %x's to %p's. The
primary side-effects is that some legitimately "0" value things in
/proc/kallsyms turn into "(null)".

For example in kernel/kallsyms.c:
-               seq_printf(m, "%0*lx %c %s\t[%s]\n",
+               seq_printf(m, "%0*pK %c %s\t[%s]\n",

This results in /proc/kallsyms looking like this:
          (null) D irq_stack_union
          (null) D __per_cpu_start
0000000000004000 D gdt_page
...

(Secondary effect is building with -Wformat results in harmless warnings
"warning: '0' flag used with ‘%p’ gnu_printf format".)


If, on the other hand, I introduce a printf flag "K" for numbers, the
original behavior is left, and kernel/kallsyms.c changes like this:
-               seq_printf(m, "%0*lx %c %s\t[%s]\n",
+               seq_printf(m, "%K0*lx %c %s\t[%s]\n",

The only side-effect from this is when compiling with -Wformat, now we get
these harmless warnings "warning: unknown conversion type character 'K' in
format", as well as breaking the warning parser, so it can't count arguments
correctly any more "warning: format '%s' expects type 'char *', but
argument 4 has type 'long unsigned int'" etc.

I'm not very happy with either situation, but I'll reply to this email
with both versions of the potential patch...

-Kees

-- 
Kees Cook
Ubuntu Security Team

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

end of thread, other threads:[~2011-01-25 17:41 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-01-25  2:03 RFC: introduce "K" flag for printf, similar to %pK Kees Cook
2011-01-25  2:04 ` [PATCH 1/2] use %pK for /proc/kallsyms and /proc/modules Kees Cook
2011-01-25  2:07 ` [PATCH 2/2] use %pK and %Klx " Kees Cook
2011-01-25  2:17 ` RFC: introduce "K" flag for printf, similar to %pK Joe Perches
2011-01-25 17:28   ` Kees Cook
2011-01-25 17:41     ` Joe Perches

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox