aboutsummaryrefslogtreecommitdiffstats
path: root/mm
diff options
context:
space:
mode:
Diffstat (limited to 'mm')
-rw-r--r--mm/bounce.c9
-rw-r--r--mm/memory.c15
2 files changed, 22 insertions, 2 deletions
diff --git a/mm/bounce.c b/mm/bounce.c
index bf0cf7c8387b..e590272fe7a8 100644
--- a/mm/bounce.c
+++ b/mm/bounce.c
@@ -198,8 +198,13 @@ static void __blk_queue_bounce(struct request_queue *q, struct bio **bio_orig,
198 /* 198 /*
199 * irk, bounce it 199 * irk, bounce it
200 */ 200 */
201 if (!bio) 201 if (!bio) {
202 bio = bio_alloc(GFP_NOIO, (*bio_orig)->bi_vcnt); 202 unsigned int cnt = (*bio_orig)->bi_vcnt;
203
204 bio = bio_alloc(GFP_NOIO, cnt);
205 memset(bio->bi_io_vec, 0, cnt * sizeof(struct bio_vec));
206 }
207
203 208
204 to = bio->bi_io_vec + i; 209 to = bio->bi_io_vec + i;
205 210
diff --git a/mm/memory.c b/mm/memory.c
index f01b7eed6e16..0a2010a9518c 100644
--- a/mm/memory.c
+++ b/mm/memory.c
@@ -3075,3 +3075,18 @@ void print_vma_addr(char *prefix, unsigned long ip)
3075 } 3075 }
3076 up_read(&current->mm->mmap_sem); 3076 up_read(&current->mm->mmap_sem);
3077} 3077}
3078
3079#ifdef CONFIG_PROVE_LOCKING
3080void might_fault(void)
3081{
3082 might_sleep();
3083 /*
3084 * it would be nicer only to annotate paths which are not under
3085 * pagefault_disable, however that requires a larger audit and
3086 * providing helpers like get_user_atomic.
3087 */
3088 if (!in_atomic() && current->mm)
3089 might_lock_read(&current->mm->mmap_sem);
3090}
3091EXPORT_SYMBOL(might_fault);
3092#endif