Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge branch 'akpm' (patches from Andrew)

Merge fixes from Andrew Morton:
"4 fixes"

* emailed patches from Andrew Morton <akpm@linux-foundation.org>:
mm/slub.c: fix random_seq offset destruction
cpumask: use nr_cpumask_bits for parsing functions
mm: avoid returning VM_FAULT_RETRY from ->page_mkwrite handlers
kernel/ucount.c: mark user_header with kmemleak_ignore()

+11 -12
+1 -3
drivers/staging/lustre/lustre/llite/llite_mmap.c
··· 390 390 result = VM_FAULT_LOCKED; 391 391 break; 392 392 case -ENODATA: 393 + case -EAGAIN: 393 394 case -EFAULT: 394 395 result = VM_FAULT_NOPAGE; 395 396 break; 396 397 case -ENOMEM: 397 398 result = VM_FAULT_OOM; 398 - break; 399 - case -EAGAIN: 400 - result = VM_FAULT_RETRY; 401 399 break; 402 400 default: 403 401 result = VM_FAULT_SIGBUS;
+1 -3
include/linux/buffer_head.h
··· 243 243 { 244 244 if (err == 0) 245 245 return VM_FAULT_LOCKED; 246 - if (err == -EFAULT) 246 + if (err == -EFAULT || err == -EAGAIN) 247 247 return VM_FAULT_NOPAGE; 248 248 if (err == -ENOMEM) 249 249 return VM_FAULT_OOM; 250 - if (err == -EAGAIN) 251 - return VM_FAULT_RETRY; 252 250 /* -ENOSPC, -EDQUOT, -EIO ... */ 253 251 return VM_FAULT_SIGBUS; 254 252 }
+4 -4
include/linux/cpumask.h
··· 560 560 static inline int cpumask_parse_user(const char __user *buf, int len, 561 561 struct cpumask *dstp) 562 562 { 563 - return bitmap_parse_user(buf, len, cpumask_bits(dstp), nr_cpu_ids); 563 + return bitmap_parse_user(buf, len, cpumask_bits(dstp), nr_cpumask_bits); 564 564 } 565 565 566 566 /** ··· 575 575 struct cpumask *dstp) 576 576 { 577 577 return bitmap_parselist_user(buf, len, cpumask_bits(dstp), 578 - nr_cpu_ids); 578 + nr_cpumask_bits); 579 579 } 580 580 581 581 /** ··· 590 590 char *nl = strchr(buf, '\n'); 591 591 unsigned int len = nl ? (unsigned int)(nl - buf) : strlen(buf); 592 592 593 - return bitmap_parse(buf, len, cpumask_bits(dstp), nr_cpu_ids); 593 + return bitmap_parse(buf, len, cpumask_bits(dstp), nr_cpumask_bits); 594 594 } 595 595 596 596 /** ··· 602 602 */ 603 603 static inline int cpulist_parse(const char *buf, struct cpumask *dstp) 604 604 { 605 - return bitmap_parselist(buf, cpumask_bits(dstp), nr_cpu_ids); 605 + return bitmap_parselist(buf, cpumask_bits(dstp), nr_cpumask_bits); 606 606 } 607 607 608 608 /**
+1 -2
kernel/ucount.c
··· 227 227 * properly. 228 228 */ 229 229 user_header = register_sysctl("user", empty); 230 + kmemleak_ignore(user_header); 230 231 BUG_ON(!user_header); 231 232 BUG_ON(!setup_userns_sysctls(&init_user_ns)); 232 233 #endif 233 234 return 0; 234 235 } 235 236 subsys_initcall(user_namespace_sysctl_init); 236 - 237 -
+4
mm/slub.c
··· 1422 1422 int err; 1423 1423 unsigned long i, count = oo_objects(s->oo); 1424 1424 1425 + /* Bailout if already initialised */ 1426 + if (s->random_seq) 1427 + return 0; 1428 + 1425 1429 err = cache_random_seq_create(s, count, GFP_KERNEL); 1426 1430 if (err) { 1427 1431 pr_err("SLUB: Unable to initialize free list for %s\n",