Lines Matching defs:image
570 /* Plain memcpy is used when image is not live yet
574 * still on the read-write image until we finally
576 * the given image are under text_mutex to avoid
786 static int do_jit(struct bpf_prog *bpf_prog, int *addrs, u8 *image,
1191 u8 *_insn = image + proglen;
1257 if (!imm32 || emit_call(&prog, func, image + addrs[i - 1] + 7))
1260 if (!imm32 || emit_call(&prog, func, image + addrs[i - 1]))
1268 &prog, image + addrs[i - 1],
1276 image + addrs[i - 1],
1462 emit_return(&prog, image + addrs[i - 1] + (prog - temp));
1482 if (image) {
1484 * When populating the image, assert that:
1496 memcpy(image + proglen, temp, ilen);
1503 if (image && excnt != bpf_prog->aux->num_exentries) {
1774 int arch_prepare_bpf_trampoline(struct bpf_tramp_image *im, void *image, void *image_end,
1806 prog = image;
1909 ret = prog - (u8 *)image;
1996 int arch_prepare_bpf_dispatcher(void *image, s64 *funcs, int num_funcs)
1998 u8 *prog = image;
2007 u8 *image;
2021 u8 *image = NULL;
2054 image = jit_data->image;
2077 * JITed image shrinks with every pass and the loop iterates
2078 * until the image stops shrinking. Very large BPF programs
2080 * pass to emit the final image.
2082 for (pass = 0; pass < 20 || image; pass++) {
2083 proglen = do_jit(prog, addrs, image, oldproglen, &ctx);
2086 image = NULL;
2092 if (image) {
2113 &image, align, jit_fill_hole);
2118 prog->aux->extable = (void *) image + roundup(proglen, align);
2125 bpf_jit_dump(prog->len, proglen, pass + 1, image);
2127 if (image) {
2135 jit_data->image = image;
2138 prog->bpf_func = (void *)image;
2145 if (!image || !prog->is_func || extra_pass) {
2146 if (image)