lkml.org 
[lkml]   [2011]   [Feb]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v2] use %pK for /proc/kallsyms and /proc/modules
On Fri, 4 Feb 2011 14:09:44 -0800
Kees Cook <kees.cook@canonical.com> wrote:

> Hi Andrew,
>
> On Fri, Feb 04, 2011 at 02:03:51PM -0800, Andrew Morton wrote:
> > kernel/kallsyms.c: In function 's_show':
> > kernel/kallsyms.c:481: warning: format '%p' expects type 'void *', but argument 3 has type 'long unsigned int'
> > kernel/kallsyms.c:484: warning: format '%p' expects type 'void *', but argument 3 has type 'long unsigned int'
> > kernel/module.c: In function 'module_sect_show':
> > kernel/module.c:1171: warning: format '%p' expects type 'void *', but argument 3 has type 'long unsigned int'
> > kernel/module.c:1171: warning: format '%p' expects type 'void *', but argument 3 has type 'long unsigned int'
> >
> > I'm struggling to see how this could have been compile-time or runtime
> > tested?
>
> I run-time tested it plenty. The thread contains the various discussions
> about compile-time warnings, so I suspect in the last version, I didn't go
> examine the warnings (since the origin of the other warnings went away).
>

It's passing `unsigned long kallsym_iter.value' into vsprintf as a
pointer. Won't vsprintf end up dereferenceing that unsigned long?

> I can send a patch to fix it up to cast everything to (void*) if you want?

No typecasts, please. Get the types *correct* and they won't be needed.


\
 
 \ /
  Last update: 2011-02-04 23:25    [W:0.143 / U:0.084 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site