Lines Matching refs:tk
258 static int kill_proc(struct to_kill *tk, unsigned long pfn, int flags) in kill_proc() argument
260 struct task_struct *t = tk->tsk; in kill_proc()
261 short addr_lsb = tk->size_shift; in kill_proc()
269 (void __user *)tk->addr, addr_lsb); in kill_proc()
279 ret = send_sig_mceerr(BUS_MCEERR_AO, (void __user *)tk->addr, in kill_proc()
364 struct to_kill *tk; in add_to_kill() local
366 tk = kmalloc(sizeof(struct to_kill), GFP_ATOMIC); in add_to_kill()
367 if (!tk) { in add_to_kill()
372 tk->addr = page_address_in_vma(p, vma); in add_to_kill()
375 tk->addr = vma_pgoff_address(fsdax_pgoff, 1, vma); in add_to_kill()
376 tk->size_shift = dev_pagemap_mapping_shift(vma, tk->addr); in add_to_kill()
378 tk->size_shift = page_shift(compound_head(p)); in add_to_kill()
390 if (tk->addr == -EFAULT) { in add_to_kill()
393 } else if (tk->size_shift == 0) { in add_to_kill()
394 kfree(tk); in add_to_kill()
399 tk->tsk = tsk; in add_to_kill()
400 list_add_tail(&tk->nd, to_kill); in add_to_kill()
414 struct to_kill *tk, *next; in kill_procs() local
416 list_for_each_entry_safe(tk, next, to_kill, nd) { in kill_procs()
423 if (fail || tk->addr == -EFAULT) { in kill_procs()
425 pfn, tk->tsk->comm, tk->tsk->pid); in kill_procs()
427 tk->tsk, PIDTYPE_PID); in kill_procs()
436 else if (kill_proc(tk, pfn, flags) < 0) in kill_procs()
438 pfn, tk->tsk->comm, tk->tsk->pid); in kill_procs()
440 list_del(&tk->nd); in kill_procs()
441 put_task_struct(tk->tsk); in kill_procs()
442 kfree(tk); in kill_procs()
616 struct to_kill tk; member
621 static void set_to_kill(struct to_kill *tk, unsigned long addr, short shift) in set_to_kill() argument
623 tk->addr = addr; in set_to_kill()
624 tk->size_shift = shift; in set_to_kill()
628 unsigned long poisoned_pfn, struct to_kill *tk) in check_hwpoisoned_entry() argument
644 set_to_kill(tk, addr, shift); in check_hwpoisoned_entry()
661 set_to_kill(&hwp->tk, hwpoison_vaddr, PAGE_SHIFT); in check_hwpoisoned_pmd_entry()
696 hwp->pfn, &hwp->tk); in hwpoison_pte_range()
716 hwp->pfn, &hwp->tk); in hwpoison_hugetlb_range()
747 priv.tk.tsk = p; in kill_accessing_process()
755 if (ret == 1 && priv.tk.addr) in kill_accessing_process()
756 kill_proc(&priv.tk, pfn, flags); in kill_accessing_process()
1549 struct to_kill *tk; in unmap_and_kill() local
1552 list_for_each_entry(tk, to_kill, nd) in unmap_and_kill()
1553 if (tk->size_shift) in unmap_and_kill()
1554 size = max(size, 1UL << tk->size_shift); in unmap_and_kill()