[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <AANLkTimKtTo=Lh6CzEHhZPLUNgU87uvw+mX+zKmxzJAB@mail.gmail.com>
Date: Thu, 14 Oct 2010 14:09:30 -0700
From: Linus Torvalds <torvalds@...ux-foundation.org>
To: Tony Luck <tony.luck@...il.com>
Cc: Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: Re: commit 0eead9ab breaks ia64 build
On Thu, Oct 14, 2010 at 1:58 PM, Tony Luck <tony.luck@...il.com> wrote:
> Just pulled Linus latest and get these errors on ia64 build:
>
> In file included from arch/ia64/kernel/elfcore.c:2:
> include/linux/coredump.h: In function ‘dump_write’:
> include/linux/coredump.h:14: error: implicit declaration of function ‘access_ok’
> include/linux/coredump.h:14: error: ‘VERIFY_READ’ undeclared (first
> use in this function)
>
> I guess I have to start juggling some #includes ... anyone else have problems?
Hmm. I thought that <linux/mm.h> would get it, but apparently not -
we'd need <asm/uaccess.h>.
I also (as I commented in the commit) suspect that we shouldn't do the
raw '->write()' call AT ALL, and that was always wrong. So another way
of fixing the problem with the missing access_ok() is to just use
vfs_write(), which does everything right. The reason I didn't do it is
that I suspect we shouldn't count core-dumping as a "write", so the
statistics done by vfs_write() are probably wrong.
Anyway, the real problem is that those functions really shouldn't be
inline functions to begin with. They're doing function calls, they
aren't critical, and dump_seek() in particular is too large by far. So
I suspect the proper fix is to just uninline them and put them in
fs/exec.c as real functions.
IOW, like the attached. Does that work for you?
Linus
View attachment "patch.diff" of type "text/x-patch" (2392 bytes)
Powered by blists - more mailing lists