diff options
Diffstat (limited to 'arch/sh/mm')
| -rw-r--r-- | arch/sh/mm/fault.c | 2 | ||||
| -rw-r--r-- | arch/sh/mm/gup.c | 8 | ||||
| -rw-r--r-- | arch/sh/mm/hugetlbpage.c | 12 | 
3 files changed, 5 insertions, 17 deletions
| diff --git a/arch/sh/mm/fault.c b/arch/sh/mm/fault.c index 541dc6101508..a58fec9b55e0 100644 --- a/arch/sh/mm/fault.c +++ b/arch/sh/mm/fault.c @@ -353,6 +353,8 @@ mm_fault_error(struct pt_regs *regs, unsigned long error_code,  	} else {  		if (fault & VM_FAULT_SIGBUS)  			do_sigbus(regs, error_code, address); +		else if (fault & VM_FAULT_SIGSEGV) +			bad_area(regs, error_code, address);  		else  			BUG();  	} diff --git a/arch/sh/mm/gup.c b/arch/sh/mm/gup.c index 37458f38b220..e7af6a65baab 100644 --- a/arch/sh/mm/gup.c +++ b/arch/sh/mm/gup.c @@ -17,7 +17,7 @@  static inline pte_t gup_get_pte(pte_t *ptep)  {  #ifndef CONFIG_X2TLB -	return ACCESS_ONCE(*ptep); +	return READ_ONCE(*ptep);  #else  	/*  	 * With get_user_pages_fast, we walk down the pagetables without @@ -257,10 +257,8 @@ slow_irqon:  		start += nr << PAGE_SHIFT;  		pages += nr; -		down_read(&mm->mmap_sem); -		ret = get_user_pages(current, mm, start, -			(end - start) >> PAGE_SHIFT, write, 0, pages, NULL); -		up_read(&mm->mmap_sem); +		ret = get_user_pages_unlocked(current, mm, start, +			(end - start) >> PAGE_SHIFT, write, 0, pages);  		/* Have to be a bit careful with return values */  		if (nr > 0) { diff --git a/arch/sh/mm/hugetlbpage.c b/arch/sh/mm/hugetlbpage.c index d7762349ea48..534bc978af8a 100644 --- a/arch/sh/mm/hugetlbpage.c +++ b/arch/sh/mm/hugetlbpage.c @@ -67,12 +67,6 @@ int huge_pmd_unshare(struct mm_struct *mm, unsigned long *addr, pte_t *ptep)  	return 0;  } -struct page *follow_huge_addr(struct mm_struct *mm, -			      unsigned long address, int write) -{ -	return ERR_PTR(-EINVAL); -} -  int pmd_huge(pmd_t pmd)  {  	return 0; @@ -82,9 +76,3 @@ int pud_huge(pud_t pud)  {  	return 0;  } - -struct page *follow_huge_pmd(struct mm_struct *mm, unsigned long address, -			     pmd_t *pmd, int write) -{ -	return NULL; -} |