| /linux/arch/parisc/kernel/ |
| H A D | kexec_file.c | 25 struct kexec_buf kbuf = { .image = image, .buf_min = 0, in elf_load() local 32 ret = kexec_elf_load(image, &ehdr, &elf_info, &kbuf, &kernel_load_addr); in elf_load() 45 kbuf.buffer = initrd; in elf_load() 46 kbuf.bufsz = kbuf.memsz = initrd_len; in elf_load() 47 kbuf.buf_align = PAGE_SIZE; in elf_load() 48 kbuf.top_down = false; in elf_load() 49 kbuf.mem = KEXEC_BUF_MEM_UNKNOWN; in elf_load() 50 ret = kexec_add_buffer(&kbuf); in elf_load() 54 kexec_dprintk("Loaded initrd at 0x%lx\n", kbuf.mem); in elf_load() 55 image->arch.initrd_start = kbuf.mem; in elf_load() [all …]
|
| /linux/arch/riscv/kernel/ |
| H A D | kexec_elf.c | 31 struct kexec_buf kbuf = {}; in riscv_kexec_elf_load() local 34 kbuf.image = image; in riscv_kexec_elf_load() 45 kbuf.buffer = (void *) elf_info->buffer + phdr->p_offset; in riscv_kexec_elf_load() 46 kbuf.bufsz = size; in riscv_kexec_elf_load() 47 kbuf.buf_align = phdr->p_align; in riscv_kexec_elf_load() 48 kbuf.mem = phdr->p_paddr - old_pbase + new_pbase; in riscv_kexec_elf_load() 49 kbuf.memsz = phdr->p_memsz; in riscv_kexec_elf_load() 50 kbuf.top_down = false; in riscv_kexec_elf_load() 51 ret = kexec_add_buffer(&kbuf); in riscv_kexec_elf_load() 69 struct kexec_buf kbuf = {}; in elf_find_pbase() local [all …]
|
| H A D | kexec_image.c | 44 struct kexec_buf kbuf = {}; in image_load() local 64 kbuf.image = image; in image_load() 65 kbuf.buf_min = 0; in image_load() 66 kbuf.buf_max = ULONG_MAX; in image_load() 67 kbuf.top_down = false; in image_load() 69 kbuf.buffer = kernel; in image_load() 70 kbuf.bufsz = kernel_len; in image_load() 71 kbuf.mem = KEXEC_BUF_MEM_UNKNOWN; in image_load() 72 kbuf.memsz = le64_to_cpu(h->image_size); in image_load() 73 kbuf.buf_align = le64_to_cpu(h->text_offset); in image_load() [all …]
|
| H A D | machine_kexec_file.c | 264 struct kexec_buf kbuf = {}; in load_extra_segments() local 267 kbuf.image = image; in load_extra_segments() 268 kbuf.buf_min = kernel_start + kernel_len; in load_extra_segments() 269 kbuf.buf_max = ULONG_MAX; in load_extra_segments() 282 kbuf.buffer = headers; in load_extra_segments() 283 kbuf.bufsz = headers_sz; in load_extra_segments() 284 kbuf.mem = KEXEC_BUF_MEM_UNKNOWN; in load_extra_segments() 285 kbuf.memsz = headers_sz; in load_extra_segments() 286 kbuf.buf_align = ELF_CORE_HEADER_ALIGN; in load_extra_segments() 287 kbuf.top_down = true; in load_extra_segments() [all …]
|
| H A D | ptrace.c | 51 const void *kbuf, const void __user *ubuf) in riscv_gpr_set() argument 56 return user_regset_copyin(&pos, &count, &kbuf, &ubuf, regs, 0, -1); in riscv_gpr_set() 77 const void *kbuf, const void __user *ubuf) in riscv_fpr_set() argument 82 ret = user_regset_copyin(&pos, &count, &kbuf, &ubuf, fstate, 0, in riscv_fpr_set() 85 ret = user_regset_copyin(&pos, &count, &kbuf, &ubuf, fstate, 0, in riscv_fpr_set() 220 const void *kbuf, const void __user *ubuf) in riscv_vr_set() argument 233 ret = user_regset_copyin(&pos, &count, &kbuf, &ubuf, &ptrace_vstate, 0, in riscv_vr_set() 248 ret = user_regset_copyin(&pos, &count, &kbuf, &ubuf, vstate->datap, in riscv_vr_set() 281 const void *kbuf, const void __user *ubuf) in tagged_addr_ctrl_set() argument 286 ret = user_regset_copyin(&pos, &count, &kbuf, &ubuf, &ctrl, 0, -1); in tagged_addr_ctrl_set() [all …]
|
| /linux/arch/loongarch/kernel/ |
| H A D | machine_kexec_file.c | 146 struct kexec_buf kbuf = {}; in load_other_segments() local 148 kbuf.image = image; in load_other_segments() 150 kbuf.buf_min = kernel_load_addr + kernel_size; in load_other_segments() 172 kbuf.buffer = headers; in load_other_segments() 173 kbuf.bufsz = headers_sz; in load_other_segments() 174 kbuf.mem = KEXEC_BUF_MEM_UNKNOWN; in load_other_segments() 175 kbuf.memsz = headers_sz; in load_other_segments() 176 kbuf.buf_align = SZ_64K; /* largest supported page size */ in load_other_segments() 177 kbuf.buf_max = ULONG_MAX; in load_other_segments() 178 kbuf.top_down = true; in load_other_segments() [all …]
|
| H A D | kexec_efi.c | 45 struct kexec_buf kbuf = {}; in efi_kexec_load() local 57 kbuf.image = image; in efi_kexec_load() 58 kbuf.buf_max = ULONG_MAX; in efi_kexec_load() 59 kbuf.top_down = false; in efi_kexec_load() 61 kbuf.buffer = kernel; in efi_kexec_load() 62 kbuf.bufsz = kernel_len; in efi_kexec_load() 63 kbuf.mem = KEXEC_BUF_MEM_UNKNOWN; in efi_kexec_load() 64 kbuf.memsz = le64_to_cpu(h->kernel_asize); in efi_kexec_load() 66 kbuf.buf_min = text_offset; in efi_kexec_load() 67 kbuf.buf_align = SZ_2M; in efi_kexec_load() [all …]
|
| H A D | kexec_elf.c | 22 struct kexec_buf *kbuf, unsigned long *text_offset) in _elf_kexec_load() argument 39 kbuf->buffer = (void *)elf_info->buffer + phdr->p_offset; in _elf_kexec_load() 40 kbuf->bufsz = size; in _elf_kexec_load() 41 kbuf->buf_align = phdr->p_align; in _elf_kexec_load() 43 kbuf->buf_min = *text_offset; in _elf_kexec_load() 44 kbuf->memsz = ALIGN(phdr->p_memsz, SZ_64K); in _elf_kexec_load() 45 kbuf->mem = KEXEC_BUF_MEM_UNKNOWN; in _elf_kexec_load() 46 ret = kexec_add_buffer(kbuf); in _elf_kexec_load() 62 struct kexec_buf kbuf = {}; in elf_kexec_load() local 74 kbuf.image = image; in elf_kexec_load() [all …]
|
| H A D | ptrace.c | 93 const void *kbuf, const void __user *ubuf) in gpr_set() argument 101 err = user_regset_copyin(&pos, &count, &kbuf, &ubuf, in gpr_set() 104 err |= user_regset_copyin(&pos, &count, &kbuf, &ubuf, in gpr_set() 107 err |= user_regset_copyin(&pos, &count, &kbuf, &ubuf, in gpr_set() 110 err |= user_regset_copyin(&pos, &count, &kbuf, &ubuf, in gpr_set() 166 const void **kbuf, const void __user **ubuf) in gfpr_set() argument 168 return user_regset_copyin(pos, count, kbuf, ubuf, in gfpr_set() 175 const void **kbuf, const void __user **ubuf) in gfpr_set_simd() argument 182 err = user_regset_copyin(pos, count, kbuf, ubuf, in gfpr_set_simd() 200 const void *kbuf, const void __user *ubuf) in fpr_set() argument [all …]
|
| /linux/arch/powerpc/kernel/ptrace/ |
| H A D | ptrace-decl.h | 75 const void *kbuf, const void __user *ubuf); 83 const void *kbuf, const void __user *ubuf); 91 const void *kbuf, const void __user *ubuf); 99 const void *kbuf, const void __user *ubuf); 110 const void *kbuf, const void __user *ubuf, 125 const void *kbuf, const void __user *ubuf); 130 const void *kbuf, const void __user *ubuf); 135 const void *kbuf, const void __user *ubuf); 140 const void *kbuf, const void __user *ubuf); 145 const void *kbuf, const void __user *ubuf); [all …]
|
| H A D | ptrace-tm.c | 136 const void *kbuf, const void __user *ubuf) in tm_cgpr_set() argument 151 ret = user_regset_copyin(&pos, &count, &kbuf, &ubuf, in tm_cgpr_set() 156 ret = user_regset_copyin(&pos, &count, &kbuf, &ubuf, ®, in tm_cgpr_set() 167 ret = user_regset_copyin(&pos, &count, &kbuf, &ubuf, in tm_cgpr_set() 173 user_regset_copyin_ignore(&pos, &count, &kbuf, &ubuf, in tm_cgpr_set() 178 ret = user_regset_copyin(&pos, &count, &kbuf, &ubuf, ®, in tm_cgpr_set() 186 user_regset_copyin_ignore(&pos, &count, &kbuf, &ubuf, in tm_cgpr_set() 275 const void *kbuf, const void __user *ubuf) in tm_cfpr_set() argument 295 i = user_regset_copyin(&pos, &count, &kbuf, &ubuf, buf, 0, -1); in tm_cfpr_set() 395 const void *kbuf, const void __user *ubuf) in tm_cvmx_set() argument [all …]
|
| /linux/arch/sparc/kernel/ |
| H A D | ptrace_32.c | 109 const void *kbuf, const void __user *ubuf) in genregs32_set() argument 119 ret = user_regset_copyin(&pos, &count, &kbuf, &ubuf, in genregs32_set() 127 ret = user_regset_copyin(&pos, &count, &kbuf, &ubuf, in genregs32_set() 137 ret = user_regset_copyin(&pos, &count, &kbuf, &ubuf, in genregs32_set() 146 ret = user_regset_copyin(&pos, &count, &kbuf, &ubuf, in genregs32_set() 151 ret = user_regset_copyin(&pos, &count, &kbuf, &ubuf, in genregs32_set() 156 ret = user_regset_copyin(&pos, &count, &kbuf, &ubuf, in genregs32_set() 161 user_regset_copyin_ignore(&pos, &count, &kbuf, &ubuf, 36 * sizeof(u32), in genregs32_set() 185 const void *kbuf, const void __user *ubuf) in fpregs32_set() argument 194 ret = user_regset_copyin(&pos, &count, &kbuf, &ubuf, in fpregs32_set() [all …]
|
| H A D | ptrace_64.c | 161 void *kbuf, int len) in get_from_target() argument 164 if (copy_from_user(kbuf, (void __user *) uaddr, len)) in get_from_target() 167 int len2 = access_process_vm(target, uaddr, kbuf, len, in get_from_target() 176 void *kbuf, int len) in set_to_target() argument 179 if (copy_to_user((void __user *) uaddr, kbuf, len)) in set_to_target() 182 int len2 = access_process_vm(target, uaddr, kbuf, len, in set_to_target() 270 const void *kbuf, const void __user *ubuf) in genregs64_set() argument 278 ret = user_regset_copyin(&pos, &count, &kbuf, &ubuf, in genregs64_set() 287 ret = user_regset_copyin(&pos, &count, &kbuf, &ubuf, in genregs64_set() 301 ret = user_regset_copyin(&pos, &count, &kbuf, &ubuf, in genregs64_set() [all …]
|
| /linux/arch/powerpc/kexec/ |
| H A D | file_load_64.c | 344 static int load_backup_segment(struct kimage *image, struct kexec_buf *kbuf) in load_backup_segment() argument 361 kbuf->buffer = buf; in load_backup_segment() 362 kbuf->mem = KEXEC_BUF_MEM_UNKNOWN; in load_backup_segment() 363 kbuf->bufsz = kbuf->memsz = BACKUP_SRC_SIZE; in load_backup_segment() 364 kbuf->top_down = false; in load_backup_segment() 366 ret = kexec_add_buffer(kbuf); in load_backup_segment() 373 image->arch.backup_start = kbuf->mem; in load_backup_segment() 402 static int load_elfcorehdr_segment(struct kimage *image, struct kexec_buf *kbuf) in load_elfcorehdr_segment() argument 423 kbuf->buffer = headers; in load_elfcorehdr_segment() 424 kbuf->mem = KEXEC_BUF_MEM_UNKNOWN; in load_elfcorehdr_segment() [all …]
|
| /linux/arch/powerpc/platforms/pseries/ |
| H A D | reconfig.c | 362 char *kbuf; in ofdt_write() local 369 kbuf = memdup_user_nul(buf, count); in ofdt_write() 370 if (IS_ERR(kbuf)) in ofdt_write() 371 return PTR_ERR(kbuf); in ofdt_write() 373 tmp = strchr(kbuf, ' '); in ofdt_write() 381 if (!strcmp(kbuf, "add_node")) in ofdt_write() 382 rv = do_add_node(tmp, count - (tmp - kbuf)); in ofdt_write() 383 else if (!strcmp(kbuf, "remove_node")) in ofdt_write() 385 else if (!strcmp(kbuf, "add_property")) in ofdt_write() 386 rv = do_add_property(tmp, count - (tmp - kbuf)); in ofdt_write() [all …]
|
| /linux/arch/um/drivers/ |
| H A D | hostaudio_kern.c | 76 void *kbuf; in hostaudio_read() local 83 kbuf = kmalloc(count, GFP_KERNEL); in hostaudio_read() 84 if (kbuf == NULL) in hostaudio_read() 87 err = os_read_file(state->fd, kbuf, count); in hostaudio_read() 91 if (copy_to_user(buffer, kbuf, err)) in hostaudio_read() 95 kfree(kbuf); in hostaudio_read() 103 void *kbuf; in hostaudio_write() local 110 kbuf = memdup_user(buffer, count); in hostaudio_write() 111 if (IS_ERR(kbuf)) in hostaudio_write() 112 return PTR_ERR(kbuf); in hostaudio_write() [all …]
|
| /linux/kernel/ |
| H A D | crash_dump_dm_crypt.c | 406 struct kexec_buf kbuf = { in crash_load_dm_crypt_keys() local 430 kbuf.buffer = keys_header; in crash_load_dm_crypt_keys() 431 kbuf.bufsz = get_keys_header_size(key_count); in crash_load_dm_crypt_keys() 433 kbuf.memsz = kbuf.bufsz; in crash_load_dm_crypt_keys() 434 kbuf.buf_align = ELF_CORE_HEADER_ALIGN; in crash_load_dm_crypt_keys() 435 kbuf.mem = KEXEC_BUF_MEM_UNKNOWN; in crash_load_dm_crypt_keys() 436 r = kexec_add_buffer(&kbuf); in crash_load_dm_crypt_keys() 439 kvfree((void *)kbuf.buffer); in crash_load_dm_crypt_keys() 442 image->dm_crypt_keys_addr = kbuf.mem; in crash_load_dm_crypt_keys() 443 image->dm_crypt_keys_sz = kbuf.bufsz; in crash_load_dm_crypt_keys() [all …]
|
| /linux/arch/arm64/kernel/ |
| H A D | ptrace.c | 509 const void *kbuf, const void __user *ubuf) in hw_break_set() argument 518 user_regset_copyin_ignore(&pos, &count, &kbuf, &ubuf, 0, offset); in hw_break_set() 525 ret = user_regset_copyin(&pos, &count, &kbuf, &ubuf, &addr, in hw_break_set() 536 ret = user_regset_copyin(&pos, &count, &kbuf, &ubuf, &ctrl, in hw_break_set() 545 user_regset_copyin_ignore(&pos, &count, &kbuf, &ubuf, in hw_break_set() 565 const void *kbuf, const void __user *ubuf) in gpr_set() argument 570 ret = user_regset_copyin(&pos, &count, &kbuf, &ubuf, &newregs, 0, -1); in gpr_set() 619 const void *kbuf, const void __user *ubuf, in __fpr_set() argument 633 ret = user_regset_copyin(&pos, &count, &kbuf, &ubuf, &newstate, in __fpr_set() 645 const void *kbuf, const void __user *ubuf) in fpr_set() argument [all …]
|
| /linux/net/qrtr/ |
| H A D | tun.c | 91 void *kbuf; in qrtr_tun_write_iter() local 99 kbuf = kzalloc(len, GFP_KERNEL); in qrtr_tun_write_iter() 100 if (!kbuf) in qrtr_tun_write_iter() 103 if (!copy_from_iter_full(kbuf, len, from)) { in qrtr_tun_write_iter() 104 kfree(kbuf); in qrtr_tun_write_iter() 108 ret = qrtr_endpoint_post(&tun->ep, kbuf, len); in qrtr_tun_write_iter() 110 kfree(kbuf); in qrtr_tun_write_iter()
|
| /linux/include/linux/ |
| H A D | regset.h | 120 const void *kbuf, const void __user *ubuf); 264 const void **kbuf, in user_regset_copyin() argument 275 if (*kbuf) { in user_regset_copyin() 276 memcpy(data, *kbuf, copy); in user_regset_copyin() 277 *kbuf += copy; in user_regset_copyin() 290 const void **kbuf, in user_regset_copyin_ignore() argument 301 if (*kbuf) in user_regset_copyin_ignore() 302 *kbuf += copy; in user_regset_copyin_ignore()
|
| H A D | kexec.h | 99 void *kbuf; member 205 struct kexec_buf *kbuf, in kexec_random_range_start() argument 210 if (kbuf->random) { in kexec_random_range_start() 218 struct kexec_buf *kbuf, in kexec_random_range_start() argument 223 int kexec_load_purgatory(struct kimage *image, struct kexec_buf *kbuf); 259 extern int kexec_add_buffer(struct kexec_buf *kbuf); 260 int kexec_locate_mem_hole(struct kexec_buf *kbuf); 271 static inline int arch_kexec_locate_mem_hole(struct kexec_buf *kbuf) in arch_kexec_locate_mem_hole() argument 273 return kexec_locate_mem_hole(kbuf); in arch_kexec_locate_mem_hole() 333 struct kexec_buf *kbuf,
|
| /linux/drivers/soc/fsl/ |
| H A D | dpaa2-console.c | 199 void *kbuf; in dpaa2_console_read() local 211 kbuf = kmalloc(bytes, GFP_KERNEL); in dpaa2_console_read() 212 if (!kbuf) in dpaa2_console_read() 216 memcpy_fromio(kbuf, cd->cur_ptr, bytes_end); in dpaa2_console_read() 217 if (copy_to_user(buf, kbuf, bytes_end)) { in dpaa2_console_read() 227 memcpy_fromio(kbuf, cd->cur_ptr, bytes); in dpaa2_console_read() 228 if (copy_to_user(buf, kbuf, bytes)) { in dpaa2_console_read() 235 kfree(kbuf); in dpaa2_console_read() 239 kfree(kbuf); in dpaa2_console_read()
|
| /linux/arch/openrisc/kernel/ |
| H A D | ptrace.c | 67 const void *kbuf, const void __user * ubuf) in genregs_set() argument 73 user_regset_copyin_ignore(&pos, &count, &kbuf, &ubuf, 0, 4); in genregs_set() 75 ret = user_regset_copyin(&pos, &count, &kbuf, &ubuf, in genregs_set() 79 ret = user_regset_copyin(&pos, &count, &kbuf, &ubuf, in genregs_set() 86 user_regset_copyin_ignore(&pos, &count, &kbuf, &ubuf, 4*33, -1); in genregs_set() 107 const void *kbuf, const void __user *ubuf) in fpregs_set() argument 110 return user_regset_copyin(&pos, &count, &kbuf, &ubuf, in fpregs_set()
|
| /linux/drivers/fpga/ |
| H A D | zynqmp-fpga.c | 46 char *kbuf; in zynqmp_fpga_ops_write() local 51 kbuf = dma_alloc_coherent(priv->dev, size, &dma_addr, GFP_KERNEL); in zynqmp_fpga_ops_write() 52 if (!kbuf) in zynqmp_fpga_ops_write() 55 memcpy(kbuf, buf, size); in zynqmp_fpga_ops_write() 64 dma_free_coherent(priv->dev, size, kbuf, dma_addr); in zynqmp_fpga_ops_write()
|
| /linux/arch/sh/kernel/ |
| H A D | ptrace_32.c | 146 const void *kbuf, const void __user *ubuf) in genregs_set() argument 151 ret = user_regset_copyin(&pos, &count, &kbuf, &ubuf, in genregs_set() 155 ret = user_regset_copyin(&pos, &count, &kbuf, &ubuf, in genregs_set() 160 user_regset_copyin_ignore(&pos, &count, &kbuf, &ubuf, in genregs_set() 184 const void *kbuf, const void __user *ubuf) in fpregs_set() argument 195 return user_regset_copyin(&pos, &count, &kbuf, &ubuf, in fpregs_set() 198 return user_regset_copyin(&pos, &count, &kbuf, &ubuf, in fpregs_set() 223 const void *kbuf, const void __user *ubuf) in dspregs_set() argument 229 ret = user_regset_copyin(&pos, &count, &kbuf, &ubuf, regs, in dspregs_set() 232 user_regset_copyin_ignore(&pos, &count, &kbuf, &ubuf, in dspregs_set()
|