mirror of
https://github.com/torvalds/linux.git
synced 2024-11-26 14:12:06 +00:00
sh: Fix split ptlock for user mappings in __do_page_fault().
There was a bug that got introduced when the split ptlock changes went in where mm could be unintialized for user mappings, this fixes it up.. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
This commit is contained in:
parent
c470662854
commit
f647d33f87
@ -210,10 +210,11 @@ asmlinkage int __do_page_fault(struct pt_regs *regs, unsigned long writeaccess,
|
||||
* are always mapped, whether it be due to legacy behaviour in
|
||||
* 29-bit mode, or due to PMB configuration in 32-bit mode.
|
||||
*/
|
||||
if (address >= P3SEG && address < P3_ADDR_MAX)
|
||||
if (address >= P3SEG && address < P3_ADDR_MAX) {
|
||||
pgd = pgd_offset_k(address);
|
||||
else {
|
||||
if (unlikely(address >= TASK_SIZE || !current->mm))
|
||||
mm = NULL;
|
||||
} else {
|
||||
if (unlikely(address >= TASK_SIZE || !(mm = current->mm)))
|
||||
return 1;
|
||||
|
||||
pgd = pgd_offset(current->mm, address);
|
||||
|
Loading…
Reference in New Issue
Block a user