From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: [bpf-next:master 212/221] arch/sparc/net/bpf_jit_comp_64.c:1602:56: error: 'struct bpf_binary_header' has no member named 'pages'
Date: Tue, 08 Feb 2022 19:07:47 +0800 [thread overview]
Message-ID: <202202081815.gh1kFj08-lkp@intel.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 11437 bytes --]
tree: https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git master
head: 5d1e9f437df5ef21e7567f1970a00fda3b5d1126
commit: ed2d9e1a26cca963ff5ed3b76326d70f7d8201a9 [212/221] bpf: Use size instead of pages in bpf_binary_header
config: sparc-randconfig-r036-20220207 (https://download.01.org/0day-ci/archive/20220208/202202081815.gh1kFj08-lkp(a)intel.com/config)
compiler: sparc64-linux-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git/commit/?id=ed2d9e1a26cca963ff5ed3b76326d70f7d8201a9
git remote add bpf-next https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git
git fetch --no-tags bpf-next master
git checkout ed2d9e1a26cca963ff5ed3b76326d70f7d8201a9
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=sparc SHELL=/bin/bash
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
arch/sparc/net/bpf_jit_comp_64.c: In function 'bpf_int_jit_compile':
>> arch/sparc/net/bpf_jit_comp_64.c:1602:56: error: 'struct bpf_binary_header' has no member named 'pages'
1602 | bpf_flush_icache(header, (u8 *)header + (header->pages * PAGE_SIZE));
| ^~
vim +1602 arch/sparc/net/bpf_jit_comp_64.c
5f5a641116391f David Miller 2017-12-22 1479
7a12b5031c6b94 David S. Miller 2017-04-17 1480 struct bpf_prog *bpf_int_jit_compile(struct bpf_prog *prog)
7a12b5031c6b94 David S. Miller 2017-04-17 1481 {
7a12b5031c6b94 David S. Miller 2017-04-17 1482 struct bpf_prog *tmp, *orig_prog = prog;
5f5a641116391f David Miller 2017-12-22 1483 struct sparc64_jit_data *jit_data;
7a12b5031c6b94 David S. Miller 2017-04-17 1484 struct bpf_binary_header *header;
c44768a33da81b David Miller 2018-11-26 1485 u32 prev_image_size, image_size;
7a12b5031c6b94 David S. Miller 2017-04-17 1486 bool tmp_blinded = false;
5f5a641116391f David Miller 2017-12-22 1487 bool extra_pass = false;
7a12b5031c6b94 David S. Miller 2017-04-17 1488 struct jit_ctx ctx;
7a12b5031c6b94 David S. Miller 2017-04-17 1489 u8 *image_ptr;
c44768a33da81b David Miller 2018-11-26 1490 int pass, i;
7a12b5031c6b94 David S. Miller 2017-04-17 1491
60b58afc96c9df Alexei Starovoitov 2017-12-14 1492 if (!prog->jit_requested)
7a12b5031c6b94 David S. Miller 2017-04-17 1493 return orig_prog;
7a12b5031c6b94 David S. Miller 2017-04-17 1494
7a12b5031c6b94 David S. Miller 2017-04-17 1495 tmp = bpf_jit_blind_constants(prog);
7a12b5031c6b94 David S. Miller 2017-04-17 1496 /* If blinding was requested and we failed during blinding,
7a12b5031c6b94 David S. Miller 2017-04-17 1497 * we must fall back to the interpreter.
7a12b5031c6b94 David S. Miller 2017-04-17 1498 */
7a12b5031c6b94 David S. Miller 2017-04-17 1499 if (IS_ERR(tmp))
7a12b5031c6b94 David S. Miller 2017-04-17 1500 return orig_prog;
7a12b5031c6b94 David S. Miller 2017-04-17 1501 if (tmp != prog) {
7a12b5031c6b94 David S. Miller 2017-04-17 1502 tmp_blinded = true;
7a12b5031c6b94 David S. Miller 2017-04-17 1503 prog = tmp;
7a12b5031c6b94 David S. Miller 2017-04-17 1504 }
7a12b5031c6b94 David S. Miller 2017-04-17 1505
5f5a641116391f David Miller 2017-12-22 1506 jit_data = prog->aux->jit_data;
5f5a641116391f David Miller 2017-12-22 1507 if (!jit_data) {
5f5a641116391f David Miller 2017-12-22 1508 jit_data = kzalloc(sizeof(*jit_data), GFP_KERNEL);
5f5a641116391f David Miller 2017-12-22 1509 if (!jit_data) {
5f5a641116391f David Miller 2017-12-22 1510 prog = orig_prog;
5f5a641116391f David Miller 2017-12-22 1511 goto out;
5f5a641116391f David Miller 2017-12-22 1512 }
5f5a641116391f David Miller 2017-12-22 1513 prog->aux->jit_data = jit_data;
5f5a641116391f David Miller 2017-12-22 1514 }
5f5a641116391f David Miller 2017-12-22 1515 if (jit_data->ctx.offset) {
5f5a641116391f David Miller 2017-12-22 1516 ctx = jit_data->ctx;
5f5a641116391f David Miller 2017-12-22 1517 image_ptr = jit_data->image;
5f5a641116391f David Miller 2017-12-22 1518 header = jit_data->header;
5f5a641116391f David Miller 2017-12-22 1519 extra_pass = true;
5f5a641116391f David Miller 2017-12-22 1520 image_size = sizeof(u32) * ctx.idx;
c44768a33da81b David Miller 2018-11-26 1521 prev_image_size = image_size;
c44768a33da81b David Miller 2018-11-26 1522 pass = 1;
5f5a641116391f David Miller 2017-12-22 1523 goto skip_init_ctx;
5f5a641116391f David Miller 2017-12-22 1524 }
5f5a641116391f David Miller 2017-12-22 1525
7a12b5031c6b94 David S. Miller 2017-04-17 1526 memset(&ctx, 0, sizeof(ctx));
7a12b5031c6b94 David S. Miller 2017-04-17 1527 ctx.prog = prog;
7a12b5031c6b94 David S. Miller 2017-04-17 1528
c44768a33da81b David Miller 2018-11-26 1529 ctx.offset = kmalloc_array(prog->len, sizeof(unsigned int), GFP_KERNEL);
7a12b5031c6b94 David S. Miller 2017-04-17 1530 if (ctx.offset == NULL) {
7a12b5031c6b94 David S. Miller 2017-04-17 1531 prog = orig_prog;
5f5a641116391f David Miller 2017-12-22 1532 goto out_off;
7a12b5031c6b94 David S. Miller 2017-04-17 1533 }
7a12b5031c6b94 David S. Miller 2017-04-17 1534
c44768a33da81b David Miller 2018-11-26 1535 /* Longest sequence emitted is for bswap32, 12 instructions. Pre-cook
c44768a33da81b David Miller 2018-11-26 1536 * the offset array so that we converge faster.
7a12b5031c6b94 David S. Miller 2017-04-17 1537 */
c44768a33da81b David Miller 2018-11-26 1538 for (i = 0; i < prog->len; i++)
c44768a33da81b David Miller 2018-11-26 1539 ctx.offset[i] = i * (12 * 4);
c44768a33da81b David Miller 2018-11-26 1540
c44768a33da81b David Miller 2018-11-26 1541 prev_image_size = ~0U;
c44768a33da81b David Miller 2018-11-26 1542 for (pass = 1; pass < 40; pass++) {
c44768a33da81b David Miller 2018-11-26 1543 ctx.idx = 0;
c44768a33da81b David Miller 2018-11-26 1544
c44768a33da81b David Miller 2018-11-26 1545 build_prologue(&ctx);
7a12b5031c6b94 David S. Miller 2017-04-17 1546 if (build_body(&ctx)) {
7a12b5031c6b94 David S. Miller 2017-04-17 1547 prog = orig_prog;
7a12b5031c6b94 David S. Miller 2017-04-17 1548 goto out_off;
7a12b5031c6b94 David S. Miller 2017-04-17 1549 }
7a12b5031c6b94 David S. Miller 2017-04-17 1550 build_epilogue(&ctx);
7a12b5031c6b94 David S. Miller 2017-04-17 1551
c44768a33da81b David Miller 2018-11-26 1552 if (bpf_jit_enable > 1)
c44768a33da81b David Miller 2018-11-26 1553 pr_info("Pass %d: size = %u, seen = [%c%c%c%c%c%c]\n", pass,
c44768a33da81b David Miller 2018-11-26 1554 ctx.idx * 4,
c44768a33da81b David Miller 2018-11-26 1555 ctx.tmp_1_used ? '1' : ' ',
c44768a33da81b David Miller 2018-11-26 1556 ctx.tmp_2_used ? '2' : ' ',
c44768a33da81b David Miller 2018-11-26 1557 ctx.tmp_3_used ? '3' : ' ',
c44768a33da81b David Miller 2018-11-26 1558 ctx.saw_frame_pointer ? 'F' : ' ',
c44768a33da81b David Miller 2018-11-26 1559 ctx.saw_call ? 'C' : ' ',
c44768a33da81b David Miller 2018-11-26 1560 ctx.saw_tail_call ? 'T' : ' ');
c44768a33da81b David Miller 2018-11-26 1561
c44768a33da81b David Miller 2018-11-26 1562 if (ctx.idx * 4 == prev_image_size)
c44768a33da81b David Miller 2018-11-26 1563 break;
c44768a33da81b David Miller 2018-11-26 1564 prev_image_size = ctx.idx * 4;
c44768a33da81b David Miller 2018-11-26 1565 cond_resched();
c44768a33da81b David Miller 2018-11-26 1566 }
c44768a33da81b David Miller 2018-11-26 1567
7a12b5031c6b94 David S. Miller 2017-04-17 1568 /* Now we know the actual image size. */
7a12b5031c6b94 David S. Miller 2017-04-17 1569 image_size = sizeof(u32) * ctx.idx;
7a12b5031c6b94 David S. Miller 2017-04-17 1570 header = bpf_jit_binary_alloc(image_size, &image_ptr,
7a12b5031c6b94 David S. Miller 2017-04-17 1571 sizeof(u32), jit_fill_hole);
7a12b5031c6b94 David S. Miller 2017-04-17 1572 if (header == NULL) {
7a12b5031c6b94 David S. Miller 2017-04-17 1573 prog = orig_prog;
7a12b5031c6b94 David S. Miller 2017-04-17 1574 goto out_off;
7a12b5031c6b94 David S. Miller 2017-04-17 1575 }
7a12b5031c6b94 David S. Miller 2017-04-17 1576
7a12b5031c6b94 David S. Miller 2017-04-17 1577 ctx.image = (u32 *)image_ptr;
5f5a641116391f David Miller 2017-12-22 1578 skip_init_ctx:
7a12b5031c6b94 David S. Miller 2017-04-17 1579 ctx.idx = 0;
7a12b5031c6b94 David S. Miller 2017-04-17 1580
7a12b5031c6b94 David S. Miller 2017-04-17 1581 build_prologue(&ctx);
7a12b5031c6b94 David S. Miller 2017-04-17 1582
7a12b5031c6b94 David S. Miller 2017-04-17 1583 if (build_body(&ctx)) {
7a12b5031c6b94 David S. Miller 2017-04-17 1584 bpf_jit_binary_free(header);
7a12b5031c6b94 David S. Miller 2017-04-17 1585 prog = orig_prog;
7a12b5031c6b94 David S. Miller 2017-04-17 1586 goto out_off;
7a12b5031c6b94 David S. Miller 2017-04-17 1587 }
7a12b5031c6b94 David S. Miller 2017-04-17 1588
7a12b5031c6b94 David S. Miller 2017-04-17 1589 build_epilogue(&ctx);
7a12b5031c6b94 David S. Miller 2017-04-17 1590
c44768a33da81b David Miller 2018-11-26 1591 if (ctx.idx * 4 != prev_image_size) {
c44768a33da81b David Miller 2018-11-26 1592 pr_err("bpf_jit: Failed to converge, prev_size=%u size=%d\n",
c44768a33da81b David Miller 2018-11-26 1593 prev_image_size, ctx.idx * 4);
c44768a33da81b David Miller 2018-11-26 1594 bpf_jit_binary_free(header);
c44768a33da81b David Miller 2018-11-26 1595 prog = orig_prog;
c44768a33da81b David Miller 2018-11-26 1596 goto out_off;
7a12b5031c6b94 David S. Miller 2017-04-17 1597 }
7a12b5031c6b94 David S. Miller 2017-04-17 1598
7a12b5031c6b94 David S. Miller 2017-04-17 1599 if (bpf_jit_enable > 1)
7a12b5031c6b94 David S. Miller 2017-04-17 1600 bpf_jit_dump(prog->len, image_size, pass, ctx.image);
7a12b5031c6b94 David S. Miller 2017-04-17 1601
7a12b5031c6b94 David S. Miller 2017-04-17 @1602 bpf_flush_icache(header, (u8 *)header + (header->pages * PAGE_SIZE));
:::::: The code at line 1602 was first introduced by commit
:::::: 7a12b5031c6b947cc13918237ae652b536243b76 sparc64: Add eBPF JIT.
:::::: TO: David S. Miller <davem@davemloft.net>
:::::: CC: David S. Miller <davem@davemloft.net>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: Song Liu <songliubraving@fb.com>
Cc: kbuild-all@lists.01.org, linux-kernel@vger.kernel.org,
Alexei Starovoitov <ast@kernel.org>
Subject: [bpf-next:master 212/221] arch/sparc/net/bpf_jit_comp_64.c:1602:56: error: 'struct bpf_binary_header' has no member named 'pages'
Date: Tue, 8 Feb 2022 19:07:47 +0800 [thread overview]
Message-ID: <202202081815.gh1kFj08-lkp@intel.com> (raw)
tree: https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git master
head: 5d1e9f437df5ef21e7567f1970a00fda3b5d1126
commit: ed2d9e1a26cca963ff5ed3b76326d70f7d8201a9 [212/221] bpf: Use size instead of pages in bpf_binary_header
config: sparc-randconfig-r036-20220207 (https://download.01.org/0day-ci/archive/20220208/202202081815.gh1kFj08-lkp@intel.com/config)
compiler: sparc64-linux-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git/commit/?id=ed2d9e1a26cca963ff5ed3b76326d70f7d8201a9
git remote add bpf-next https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git
git fetch --no-tags bpf-next master
git checkout ed2d9e1a26cca963ff5ed3b76326d70f7d8201a9
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=sparc SHELL=/bin/bash
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
arch/sparc/net/bpf_jit_comp_64.c: In function 'bpf_int_jit_compile':
>> arch/sparc/net/bpf_jit_comp_64.c:1602:56: error: 'struct bpf_binary_header' has no member named 'pages'
1602 | bpf_flush_icache(header, (u8 *)header + (header->pages * PAGE_SIZE));
| ^~
vim +1602 arch/sparc/net/bpf_jit_comp_64.c
5f5a641116391f David Miller 2017-12-22 1479
7a12b5031c6b94 David S. Miller 2017-04-17 1480 struct bpf_prog *bpf_int_jit_compile(struct bpf_prog *prog)
7a12b5031c6b94 David S. Miller 2017-04-17 1481 {
7a12b5031c6b94 David S. Miller 2017-04-17 1482 struct bpf_prog *tmp, *orig_prog = prog;
5f5a641116391f David Miller 2017-12-22 1483 struct sparc64_jit_data *jit_data;
7a12b5031c6b94 David S. Miller 2017-04-17 1484 struct bpf_binary_header *header;
c44768a33da81b David Miller 2018-11-26 1485 u32 prev_image_size, image_size;
7a12b5031c6b94 David S. Miller 2017-04-17 1486 bool tmp_blinded = false;
5f5a641116391f David Miller 2017-12-22 1487 bool extra_pass = false;
7a12b5031c6b94 David S. Miller 2017-04-17 1488 struct jit_ctx ctx;
7a12b5031c6b94 David S. Miller 2017-04-17 1489 u8 *image_ptr;
c44768a33da81b David Miller 2018-11-26 1490 int pass, i;
7a12b5031c6b94 David S. Miller 2017-04-17 1491
60b58afc96c9df Alexei Starovoitov 2017-12-14 1492 if (!prog->jit_requested)
7a12b5031c6b94 David S. Miller 2017-04-17 1493 return orig_prog;
7a12b5031c6b94 David S. Miller 2017-04-17 1494
7a12b5031c6b94 David S. Miller 2017-04-17 1495 tmp = bpf_jit_blind_constants(prog);
7a12b5031c6b94 David S. Miller 2017-04-17 1496 /* If blinding was requested and we failed during blinding,
7a12b5031c6b94 David S. Miller 2017-04-17 1497 * we must fall back to the interpreter.
7a12b5031c6b94 David S. Miller 2017-04-17 1498 */
7a12b5031c6b94 David S. Miller 2017-04-17 1499 if (IS_ERR(tmp))
7a12b5031c6b94 David S. Miller 2017-04-17 1500 return orig_prog;
7a12b5031c6b94 David S. Miller 2017-04-17 1501 if (tmp != prog) {
7a12b5031c6b94 David S. Miller 2017-04-17 1502 tmp_blinded = true;
7a12b5031c6b94 David S. Miller 2017-04-17 1503 prog = tmp;
7a12b5031c6b94 David S. Miller 2017-04-17 1504 }
7a12b5031c6b94 David S. Miller 2017-04-17 1505
5f5a641116391f David Miller 2017-12-22 1506 jit_data = prog->aux->jit_data;
5f5a641116391f David Miller 2017-12-22 1507 if (!jit_data) {
5f5a641116391f David Miller 2017-12-22 1508 jit_data = kzalloc(sizeof(*jit_data), GFP_KERNEL);
5f5a641116391f David Miller 2017-12-22 1509 if (!jit_data) {
5f5a641116391f David Miller 2017-12-22 1510 prog = orig_prog;
5f5a641116391f David Miller 2017-12-22 1511 goto out;
5f5a641116391f David Miller 2017-12-22 1512 }
5f5a641116391f David Miller 2017-12-22 1513 prog->aux->jit_data = jit_data;
5f5a641116391f David Miller 2017-12-22 1514 }
5f5a641116391f David Miller 2017-12-22 1515 if (jit_data->ctx.offset) {
5f5a641116391f David Miller 2017-12-22 1516 ctx = jit_data->ctx;
5f5a641116391f David Miller 2017-12-22 1517 image_ptr = jit_data->image;
5f5a641116391f David Miller 2017-12-22 1518 header = jit_data->header;
5f5a641116391f David Miller 2017-12-22 1519 extra_pass = true;
5f5a641116391f David Miller 2017-12-22 1520 image_size = sizeof(u32) * ctx.idx;
c44768a33da81b David Miller 2018-11-26 1521 prev_image_size = image_size;
c44768a33da81b David Miller 2018-11-26 1522 pass = 1;
5f5a641116391f David Miller 2017-12-22 1523 goto skip_init_ctx;
5f5a641116391f David Miller 2017-12-22 1524 }
5f5a641116391f David Miller 2017-12-22 1525
7a12b5031c6b94 David S. Miller 2017-04-17 1526 memset(&ctx, 0, sizeof(ctx));
7a12b5031c6b94 David S. Miller 2017-04-17 1527 ctx.prog = prog;
7a12b5031c6b94 David S. Miller 2017-04-17 1528
c44768a33da81b David Miller 2018-11-26 1529 ctx.offset = kmalloc_array(prog->len, sizeof(unsigned int), GFP_KERNEL);
7a12b5031c6b94 David S. Miller 2017-04-17 1530 if (ctx.offset == NULL) {
7a12b5031c6b94 David S. Miller 2017-04-17 1531 prog = orig_prog;
5f5a641116391f David Miller 2017-12-22 1532 goto out_off;
7a12b5031c6b94 David S. Miller 2017-04-17 1533 }
7a12b5031c6b94 David S. Miller 2017-04-17 1534
c44768a33da81b David Miller 2018-11-26 1535 /* Longest sequence emitted is for bswap32, 12 instructions. Pre-cook
c44768a33da81b David Miller 2018-11-26 1536 * the offset array so that we converge faster.
7a12b5031c6b94 David S. Miller 2017-04-17 1537 */
c44768a33da81b David Miller 2018-11-26 1538 for (i = 0; i < prog->len; i++)
c44768a33da81b David Miller 2018-11-26 1539 ctx.offset[i] = i * (12 * 4);
c44768a33da81b David Miller 2018-11-26 1540
c44768a33da81b David Miller 2018-11-26 1541 prev_image_size = ~0U;
c44768a33da81b David Miller 2018-11-26 1542 for (pass = 1; pass < 40; pass++) {
c44768a33da81b David Miller 2018-11-26 1543 ctx.idx = 0;
c44768a33da81b David Miller 2018-11-26 1544
c44768a33da81b David Miller 2018-11-26 1545 build_prologue(&ctx);
7a12b5031c6b94 David S. Miller 2017-04-17 1546 if (build_body(&ctx)) {
7a12b5031c6b94 David S. Miller 2017-04-17 1547 prog = orig_prog;
7a12b5031c6b94 David S. Miller 2017-04-17 1548 goto out_off;
7a12b5031c6b94 David S. Miller 2017-04-17 1549 }
7a12b5031c6b94 David S. Miller 2017-04-17 1550 build_epilogue(&ctx);
7a12b5031c6b94 David S. Miller 2017-04-17 1551
c44768a33da81b David Miller 2018-11-26 1552 if (bpf_jit_enable > 1)
c44768a33da81b David Miller 2018-11-26 1553 pr_info("Pass %d: size = %u, seen = [%c%c%c%c%c%c]\n", pass,
c44768a33da81b David Miller 2018-11-26 1554 ctx.idx * 4,
c44768a33da81b David Miller 2018-11-26 1555 ctx.tmp_1_used ? '1' : ' ',
c44768a33da81b David Miller 2018-11-26 1556 ctx.tmp_2_used ? '2' : ' ',
c44768a33da81b David Miller 2018-11-26 1557 ctx.tmp_3_used ? '3' : ' ',
c44768a33da81b David Miller 2018-11-26 1558 ctx.saw_frame_pointer ? 'F' : ' ',
c44768a33da81b David Miller 2018-11-26 1559 ctx.saw_call ? 'C' : ' ',
c44768a33da81b David Miller 2018-11-26 1560 ctx.saw_tail_call ? 'T' : ' ');
c44768a33da81b David Miller 2018-11-26 1561
c44768a33da81b David Miller 2018-11-26 1562 if (ctx.idx * 4 == prev_image_size)
c44768a33da81b David Miller 2018-11-26 1563 break;
c44768a33da81b David Miller 2018-11-26 1564 prev_image_size = ctx.idx * 4;
c44768a33da81b David Miller 2018-11-26 1565 cond_resched();
c44768a33da81b David Miller 2018-11-26 1566 }
c44768a33da81b David Miller 2018-11-26 1567
7a12b5031c6b94 David S. Miller 2017-04-17 1568 /* Now we know the actual image size. */
7a12b5031c6b94 David S. Miller 2017-04-17 1569 image_size = sizeof(u32) * ctx.idx;
7a12b5031c6b94 David S. Miller 2017-04-17 1570 header = bpf_jit_binary_alloc(image_size, &image_ptr,
7a12b5031c6b94 David S. Miller 2017-04-17 1571 sizeof(u32), jit_fill_hole);
7a12b5031c6b94 David S. Miller 2017-04-17 1572 if (header == NULL) {
7a12b5031c6b94 David S. Miller 2017-04-17 1573 prog = orig_prog;
7a12b5031c6b94 David S. Miller 2017-04-17 1574 goto out_off;
7a12b5031c6b94 David S. Miller 2017-04-17 1575 }
7a12b5031c6b94 David S. Miller 2017-04-17 1576
7a12b5031c6b94 David S. Miller 2017-04-17 1577 ctx.image = (u32 *)image_ptr;
5f5a641116391f David Miller 2017-12-22 1578 skip_init_ctx:
7a12b5031c6b94 David S. Miller 2017-04-17 1579 ctx.idx = 0;
7a12b5031c6b94 David S. Miller 2017-04-17 1580
7a12b5031c6b94 David S. Miller 2017-04-17 1581 build_prologue(&ctx);
7a12b5031c6b94 David S. Miller 2017-04-17 1582
7a12b5031c6b94 David S. Miller 2017-04-17 1583 if (build_body(&ctx)) {
7a12b5031c6b94 David S. Miller 2017-04-17 1584 bpf_jit_binary_free(header);
7a12b5031c6b94 David S. Miller 2017-04-17 1585 prog = orig_prog;
7a12b5031c6b94 David S. Miller 2017-04-17 1586 goto out_off;
7a12b5031c6b94 David S. Miller 2017-04-17 1587 }
7a12b5031c6b94 David S. Miller 2017-04-17 1588
7a12b5031c6b94 David S. Miller 2017-04-17 1589 build_epilogue(&ctx);
7a12b5031c6b94 David S. Miller 2017-04-17 1590
c44768a33da81b David Miller 2018-11-26 1591 if (ctx.idx * 4 != prev_image_size) {
c44768a33da81b David Miller 2018-11-26 1592 pr_err("bpf_jit: Failed to converge, prev_size=%u size=%d\n",
c44768a33da81b David Miller 2018-11-26 1593 prev_image_size, ctx.idx * 4);
c44768a33da81b David Miller 2018-11-26 1594 bpf_jit_binary_free(header);
c44768a33da81b David Miller 2018-11-26 1595 prog = orig_prog;
c44768a33da81b David Miller 2018-11-26 1596 goto out_off;
7a12b5031c6b94 David S. Miller 2017-04-17 1597 }
7a12b5031c6b94 David S. Miller 2017-04-17 1598
7a12b5031c6b94 David S. Miller 2017-04-17 1599 if (bpf_jit_enable > 1)
7a12b5031c6b94 David S. Miller 2017-04-17 1600 bpf_jit_dump(prog->len, image_size, pass, ctx.image);
7a12b5031c6b94 David S. Miller 2017-04-17 1601
7a12b5031c6b94 David S. Miller 2017-04-17 @1602 bpf_flush_icache(header, (u8 *)header + (header->pages * PAGE_SIZE));
:::::: The code at line 1602 was first introduced by commit
:::::: 7a12b5031c6b947cc13918237ae652b536243b76 sparc64: Add eBPF JIT.
:::::: TO: David S. Miller <davem@davemloft.net>
:::::: CC: David S. Miller <davem@davemloft.net>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
next reply other threads:[~2022-02-08 11:07 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-02-08 11:07 kernel test robot [this message]
2022-02-08 11:07 ` [bpf-next:master 212/221] arch/sparc/net/bpf_jit_comp_64.c:1602:56: error: 'struct bpf_binary_header' has no member named 'pages' kernel test robot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202202081815.gh1kFj08-lkp@intel.com \
--to=lkp@intel.com \
--cc=kbuild-all@lists.01.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.