bpf: opcodes: fix regression in BPF disassembler

This patch fixes a regression recently introduced in the BPF
disassembler, that was assuming an abfd was always available in
info->section->owner.  Apparently this is not so in GDB, and therefore
https://sourceware.org/bugzilla/show_bug.cgi?id=30705.

Tested in bpf-unkonwn-none.

opcodes/ChangeLog:

2023-07-31  Jose E. Marchesi  <jose.marchesi@oracle.com>

	PR 30705
	* bpf-dis.c (print_insn_bpf): Check that info->section->owner is
	actually available before using it.
This commit is contained in:
Jose E. Marchesi 2023-07-31 15:44:36 +02:00
parent 6a6e82dc75
commit 5b512234c8
2 changed files with 7 additions and 1 deletions

View File

@ -1,3 +1,9 @@
2023-07-31 Jose E. Marchesi <jose.marchesi@oracle.com>
PR 30705
* bpf-dis.c (print_insn_bpf): Check that info->section->owner is
actually available before using it.
2023-07-30 Jose E. Marchesi <jose.marchesi@oracle.com>
* bpf-dis.c: Initialize asm_bpf_version to -1.

View File

@ -147,7 +147,7 @@ print_insn_bpf (bfd_vma pc, disassemble_info *info)
If the user didn't explicitly specify an ISA version, then derive
it from the CPU Version flag in the ELF header. A CPU version of
0 in the header means "latest version". */
if (asm_bpf_version == -1)
if (asm_bpf_version == -1 && info->section && info->section->owner)
{
struct bfd *abfd = info->section->owner;
Elf_Internal_Ehdr *header = elf_elfheader (abfd);