diff options
author | 2005-06-21 14:40:31 -0700 | |
---|---|---|
committer | 2005-06-21 14:40:31 -0700 | |
commit | 0393eed5c3220c9c3823a09a2d02329b8ff08b45 (patch) | |
tree | c465ee4c3a0322a4e6533f4e1ec0968b8b254907 /include/linux | |
parent | [IA64] printk needs KERN_INFO arch/ia64/kernel/smp.c (diff) | |
download | wireguard-linux-0393eed5c3220c9c3823a09a2d02329b8ff08b45.tar.xz wireguard-linux-0393eed5c3220c9c3823a09a2d02329b8ff08b45.zip |
[IA64] fix nested_dtlb_miss handler for hugetlb address
The nested_dtlb_miss handler currently does not handle fault from
hugetlb address correctly. It walks the page table assuming PAGE_SIZE.
Thus when taking a fault triggered from hugetlb address, it would not
calculate the pgd/pmd/pte address correctly and thus result an incorrect
invocation of ia64_do_page_fault(). In there, kernel will signal SIGBUS
and application dies (The faulting address is perfectly legal and we
have a valid pte for the corresponding user hugetlb address as well).
This patch fix the described kernel bug. Since nested_dtlb_miss is a
rare event and a slow path anyway, I'm making the change without #ifdef
CONFIG_HUGETLB_PAGE for code readability. Tony, please apply.
Signed-off-by: Ken Chen <kenneth.w.chen@intel.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Diffstat (limited to 'include/linux')
0 files changed, 0 insertions, 0 deletions