]>
Commit | Line | Data |
---|---|---|
2532c0bb CW |
1 | From stable-bounces@linux.kernel.org Fri Dec 29 16:55:45 2006 |
2 | Message-Id: <200612300048.kBU0mhs0008126@shell0.pdx.osdl.net> | |
3 | To: torvalds@osdl.org | |
4 | From: akpm@osdl.org | |
5 | Date: Fri, 29 Dec 2006 16:48:24 -0800 | |
6 | Cc: akpm@osdl.org, dimitri.gorokhovik@free.fr, stable@kernel.org | |
7 | Subject: ramfs breaks without CONFIG_BLOCK | |
8 | ||
9 | From: Dimitri Gorokhovik <dimitri.gorokhovik@free.fr> | |
10 | ||
11 | ramfs doesn't provide the .set_dirty_page a_op, and when the BLOCK layer is | |
12 | not configured in, 'set_page_dirty' makes a call via a NULL pointer. | |
13 | ||
14 | Signed-off-by: Dimitri Gorokhovik <dimitri.gorokhovik@free.fr> | |
15 | Cc: <stable@kernel.org> | |
16 | Signed-off-by: Andrew Morton <akpm@osdl.org> | |
17 | Signed-off-by: Chris Wright <chrisw@sous-sol.org> | |
18 | --- | |
19 | ||
20 | fs/ramfs/file-mmu.c | 4 +++- | |
21 | fs/ramfs/file-nommu.c | 4 +++- | |
22 | 2 files changed, 6 insertions(+), 2 deletions(-) | |
23 | ||
24 | --- linux-2.6.19.1.orig/fs/ramfs/file-mmu.c | |
25 | +++ linux-2.6.19.1/fs/ramfs/file-mmu.c | |
26 | @@ -25,11 +25,13 @@ | |
27 | */ | |
28 | ||
29 | #include <linux/fs.h> | |
30 | +#include <linux/mm.h> | |
31 | ||
32 | const struct address_space_operations ramfs_aops = { | |
33 | .readpage = simple_readpage, | |
34 | .prepare_write = simple_prepare_write, | |
35 | - .commit_write = simple_commit_write | |
36 | + .commit_write = simple_commit_write, | |
37 | + .set_page_dirty = __set_page_dirty_nobuffers, | |
38 | }; | |
39 | ||
40 | const struct file_operations ramfs_file_operations = { | |
41 | --- linux-2.6.19.1.orig/fs/ramfs/file-nommu.c | |
42 | +++ linux-2.6.19.1/fs/ramfs/file-nommu.c | |
43 | @@ -11,6 +11,7 @@ | |
44 | ||
45 | #include <linux/module.h> | |
46 | #include <linux/fs.h> | |
47 | +#include <linux/mm.h> | |
48 | #include <linux/pagemap.h> | |
49 | #include <linux/highmem.h> | |
50 | #include <linux/init.h> | |
51 | @@ -30,7 +31,8 @@ static int ramfs_nommu_setattr(struct de | |
52 | const struct address_space_operations ramfs_aops = { | |
53 | .readpage = simple_readpage, | |
54 | .prepare_write = simple_prepare_write, | |
55 | - .commit_write = simple_commit_write | |
56 | + .commit_write = simple_commit_write, | |
57 | + .set_page_dirty = __set_page_dirty_nobuffers, | |
58 | }; | |
59 | ||
60 | const struct file_operations ramfs_file_operations = { |