Re: [patch 2/2] fs, proc: Introduce the /proc/<pid>/map_files/directory v6

From: Andrew Morton
Date: Fri Sep 09 2011 - 01:56:28 EST


On Fri, 9 Sep 2011 09:48:19 +0400 Cyrill Gorcunov <gorcunov@xxxxxxxxx> wrote:

> >
> > <looks at the warning>
> >
> > fs/proc/base.c: In function 'proc_map_files_instantiate':
> > fs/proc/base.c:2348: warning: assignment from incompatible pointer type
> >
> > err, that code will crash at runtime and it isn't trivial to fix.
> > How could this happen?
> >
>
> Hmm. I never saw this warning. (Andrew, I'm still unable to fetch
> your current -mm tree, is there some place other than kernel.org?

Nope, sorry - we're dead in the water at present.

> So the patch is done on top of 3.1-rc3). I guess this warrning is
> from p = flex_array_get(fa, i); ? (since I don't have any warning
> at all).

The warning is from

ei->op.proc_get_link = proc_map_files_get_link;

The lhs has type

union proc_op {
int (*proc_get_link)(struct inode *, struct path *);

and the rhs has type

static int proc_map_files_get_link(struct dentry *dentry, struct path *path)

So we end up passing an inode* to a function which expects a dentry*.

That's in 3.1-rc4. proc_op.proc_get_link() hasn't changed since 3.0 (at least).
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/