Re: 2.6.19-rc2-mm1

Nick Piggin
2006-10-18T19:42:35Z

Cedric Le Goater wrote:
> Rafael J. Wysocki wrote:
>
>>On Wednesday, 18 October 2006 20:27, Gabriel C wrote:
>>
>>>Andrew Morton wrote:
>>>
>>>>ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.19-rc2/2.6.19-rc2-mm1/
>>>>
>>>
>>>Hello,
>>>
>>>I got this build error with 2.6.19-rc2-mm1:
>>>
>>>CHK include/linux/compile.h
>>>UPD include/linux/compile.h
>>>CC init/version.o
>>>LD init/built-in.o
>>>LD .tmp_vmlinux1
>>>mm/built-in.o: In function `xip_file_write':
>>>(.text+0x19a47): undefined reference to `filemap_copy_from_user'
>>>make: *** [.tmp_vmlinux1] Error 1
>>
>>\metoo
>
>
> Here's a fix i sent to andrew.
>
> C.
>
>
> Signed-off-by: Cedric Le Goater <clg@fr.ibm.com>
> ---
> mm/filemap_xip.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> Index: 2.6.19-rc2-mm1/mm/filemap_xip.c
> ===================================================================
> --- 2.6.19-rc2-mm1.orig/mm/filemap_xip.c
> +++ 2.6.19-rc2-mm1/mm/filemap_xip.c
> @@ -317,7 +317,7 @@ __xip_file_write(struct file *filp, cons
> break;
> }
>
> - copied = filemap_copy_from_user(page, offset, buf, bytes);
> + copied = filemap_copy_from_user_atomic(page, offset, buf, bytes);
> flush_dcache_page(page);
> if (likely(copied > 0)) {
> status = copied;

This fix will work. You should really call the non atomic version though, just
so it is clear (and maybe some architectures care).

Because we must service a fault if it happens here. The fault_in_pages_readable
and comments are wrong AFAIKS.

--
SUSE Labs, Novell Inc.
Send instant messages to your online friends http://au.messenger.yahoo.com