lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Sat, 29 Apr 2017 23:44:59 -0700 From: Alexei Starovoitov <ast@...com> To: David Miller <davem@...emloft.net> CC: <daniel@...earbox.net>, <aconole@...heb.org>, <netdev@...r.kernel.org>, <xdp-newbies@...r.kernel.org> Subject: Re: [PATCH v3 binutils] Add BPF support to binutils... On 4/29/17 7:37 PM, David Miller wrote: > From: David Miller <davem@...emloft.net> > Date: Sat, 29 Apr 2017 22:24:50 -0400 (EDT) > >> Some of your bugs should be fixed by this patch below, I'll add >> test cases soon: > > Ok, here are all the local changes in my tree. I made the relocs > match LLVM and I fixed some dwarf debugging stuff. > > With this we are also down to one test case failure under binutils/ > and it's something weird with merging 64-bit notes which I should be > able to fix soon. > > I can fix these bugs fast, keep reporting. > > BTW, should I just remove tailcall from the opcode table altogether? yeah. tailcall is not a special opcode from user space point of view. Only after normal call with func_id=bpf_tail_call passes verifier then verifier will change insn->code into CALL|X It's done only to have two 'case' statement in the interpreter, so that normal calls and tailcalls don't interfere. From user space pov CALL|X opcode is reserved and we can use it for something in the future. Just need to change interpeter and JITs. > case 'O': > - (*info->fprintf_func) (stream, "%d", off); > + (*info->fprintf_func) (stream, "%d", (int) off); tried this diff. It looks better 10: 7b 1a f8 ff 00 00 00 00 stdw [r1+-8], r10 18: 79 a1 f8 ff 00 00 00 00 lddw r10, [r1+-8] I wonder if '+' can be removed as well. '-g' still doesn't seem to work: /w/binutils-gdb/bld/binutils/objdump: invalid relocation type 10 /w/binutils-gdb/bld/binutils/objdump: BFD (GNU Binutils) 2.28.51.20170429 assertion fail ../../bfd/elf64-bpf.c:139 0: 18 01 00 00 39 47 98 83 ldimm64 r0, 590618314553
Powered by blists - more mailing lists