Lines Matching +full:pre +full:- +full:filled
1 // SPDX-License-Identifier: GPL-2.0
8 * In order to avoid pre-faulting the signal stack memory and to force the
14 * the same mechanism used to avoid pre-faulting the signal stack memory.
44 * Data that will be copied into the faulting pages (instead of zero-filled
48 * paged-in it will contain the expected content.
78 uf_mem_offset = (uf_mem_offset + pagesize - 1) & ~(pagesize - 1); in get_uf_mem()
96 if (poll(&pollfd, 1, -1) == -1) { in fault_handler_thread()
107 if (nread == -1) { in fault_handler_thread()
122 uffdio_copy.dst = msg.arg.pagefault.address & ~(pagesize-1); in fault_handler_thread()
124 offset = (char *) uffdio_copy.dst - uf_mem; in fault_handler_thread()
130 if (ioctl(uffd, UFFDIO_COPY, &uffdio_copy) == -1) { in fault_handler_thread()
131 perror("ioctl-UFFDIO_COPY failed"); in fault_handler_thread()
149 if (uffd == -1) { in setup_uf_mem()
155 if (ioctl(uffd, UFFDIO_API, &uffdio_api) == -1) { in setup_uf_mem()
156 perror("ioctl-UFFDIO_API failed"); in setup_uf_mem()
161 * Create a private anonymous mapping. The memory will be demand-zero in setup_uf_mem()
166 MAP_PRIVATE | MAP_ANONYMOUS, -1, 0); in setup_uf_mem()
175 * missing pages (i.e. pages that have not yet been faulted-in). in setup_uf_mem()
180 if (ioctl(uffd, UFFDIO_REGISTER, &uffdio_register) == -1) { in setup_uf_mem()
181 perror("ioctl-UFFDIO_REGISTER"); in setup_uf_mem()
195 * suspended state, i.e. uc->uc_link != NULL.
202 ucp->uc_link->uc_mcontext.regs->nip += 4; in signal_handler()
204 ucp->uc_mcontext.v_regs = in signal_handler()
205 get_uf_mem(sizeof(elf_vrreg_t), ucp->uc_mcontext.v_regs); in signal_handler()
207 ucp->uc_link->uc_mcontext.v_regs = in signal_handler()
208 get_uf_mem(sizeof(elf_vrreg_t), ucp->uc_link->uc_mcontext.v_regs); in signal_handler()
210 ucp->uc_link = get_uf_mem(sizeof(ucontext_t), ucp->uc_link); in signal_handler()
218 rc = syscall(__NR_userfaultfd, -1); in have_userfaultfd()
242 if (sigaltstack(&ss, NULL) == -1) { in tm_signal_pagefault()
249 if (sigaction(SIGTRAP, &sa, NULL) == -1) { in tm_signal_pagefault()