• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/arch/tile/mm/

Lines Matching refs:address

48 	unsigned long address, int fault_num, struct task_struct *tsk)
54 si_signo, si_code & 0xffff, address,
61 info.si_addr = (void __user *)address;
69 * an unaligned address or a high kernel address. Called indirectly
72 int _sys_cmpxchg_badaddr(unsigned long address, struct pt_regs *regs)
74 if (address >= PAGE_OFFSET)
75 force_sig_info_fault(SIGSEGV, SEGV_MAPERR, address,
78 force_sig_info_fault(SIGBUS, BUS_ADRALN, address,
99 static inline pmd_t *vmalloc_sync_one(pgd_t *pgd, unsigned long address)
101 unsigned index = pgd_index(address);
112 pud = pud_offset(pgd, address);
113 pud_k = pud_offset(pgd_k, address);
117 pmd = pmd_offset(pud, address);
118 pmd_k = pmd_offset(pud_k, address);
132 static inline int vmalloc_fault(pgd_t *pgd, unsigned long address)
138 if (!(address >= VMALLOC_START && address < VMALLOC_END))
145 pmd_k = vmalloc_sync_one(pgd, address);
150 pte_k = pte_offset_kernel(pmd_k, address);
205 unsigned long address,
213 if (pgd_addr_invalid(address))
216 pgd += pgd_index(address);
217 pud = pud_offset(pgd, address);
220 pmd = pmd_offset(pud, address);
224 pte_offset_kernel(pmd, address);
255 unsigned long address,
300 if (handle_migrating_pte(pgd, fault_num, address,
318 if (unlikely(address >= TASK_SIZE &&
319 !is_arch_mappable_range(address, 0))) {
321 vmalloc_fault(pgd, address) >= 0)
356 * address space. Luckily the kernel only validly references user
362 * Attempt to lock the address space, if we cannot we then validate the
363 * source. If this is invalid we can skip the address space check,
375 vma = find_vma(mm, address);
378 if (vma->vm_start <= address)
386 if (address < regs->sp)
389 if (expand_stack(vma, address))
419 fault = handle_mm_fault(mm, vma, address, write);
475 force_sig_info_fault(SIGSEGV, si_code, address,
494 pte_t *pte = lookup_address(address);
502 if (address < PAGE_SIZE)
506 pr_alert(" at virtual address "REGFMT", pc "REGFMT"\n",
507 address, regs->pc);
546 force_sig_info_fault(SIGBUS, BUS_ADRERR, address, fault_num, tsk);
575 unsigned long address,
584 do_page_fault, fault_num, address, write, 1
595 old_pc, fault_num, write, address);
599 if (fault_num != INT_DTLB_ACCESS && vmalloc_fault(pgd, address) >= 0)
634 * turns out the faulting address is just bad, and not,
657 * always safely return to the address of the fault and retry,
667 if (handle_migrating_pte(pgd, fault_num, address, 1, write))
678 * This routine handles page faults. It determines the address, and the
686 unsigned long address, unsigned long write)
772 address, write);
778 async->address = address;
783 handle_page_fault(regs, fault_num, is_page_fault, address, write);
805 async->address, async->is_write);
846 unsigned long address;
849 for (address = start; address >= PAGE_OFFSET; address += PGDIR_SIZE) {
850 if (!test_bit(pgd_index(address), insync)) {
857 address)) {
864 set_bit(pgd_index(address), insync);
866 if (address == start && test_bit(pgd_index(address), insync))
867 start = address + PGDIR_SIZE;