summaryrefslogtreecommitdiffstats
path: root/mm
diff options
context:
space:
mode:
Diffstat (limited to 'mm')
-rw-r--r--mm/highmem.c7
-rw-r--r--mm/mmap.c1
2 files changed, 4 insertions, 4 deletions
diff --git a/mm/highmem.c b/mm/highmem.c
index 7c9dbc695..6c7485327 100644
--- a/mm/highmem.c
+++ b/mm/highmem.c
@@ -281,7 +281,7 @@ static inline void copy_to_high_bh_irq (struct buffer_head *to,
static inline void bounce_end_io (struct buffer_head *bh, int uptodate)
{
- struct buffer_head *bh_orig = (struct buffer_head *)(bh->b_dev_id);
+ struct buffer_head *bh_orig = (struct buffer_head *)(bh->b_private);
bh_orig->b_end_io(bh_orig, uptodate);
__free_page(bh->b_page);
@@ -295,7 +295,7 @@ static void bounce_end_io_write (struct buffer_head *bh, int uptodate)
static void bounce_end_io_read (struct buffer_head *bh, int uptodate)
{
- struct buffer_head *bh_orig = (struct buffer_head *)(bh->b_dev_id);
+ struct buffer_head *bh_orig = (struct buffer_head *)(bh->b_private);
if (uptodate)
copy_to_high_bh_irq(bh_orig, bh);
@@ -354,10 +354,9 @@ repeat_page:
copy_from_high_bh(bh, bh_orig);
} else
bh->b_end_io = bounce_end_io_read;
- bh->b_dev_id = (void *)bh_orig;
+ bh->b_private = (void *)bh_orig;
bh->b_rsector = bh_orig->b_rsector;
memset(&bh->b_wait, -1, sizeof(bh->b_wait));
- bh->b_kiobuf = NULL;
return bh;
}
diff --git a/mm/mmap.c b/mm/mmap.c
index ea8eba783..d3e596d25 100644
--- a/mm/mmap.c
+++ b/mm/mmap.c
@@ -864,6 +864,7 @@ void exit_mmap(struct mm_struct * mm)
}
mm->map_count--;
remove_shared_vm_struct(mpnt);
+ flush_cache_range(mm, start, end);
zap_page_range(mm, start, size);
if (mpnt->vm_file)
fput(mpnt->vm_file);