[prev in list] [next in list] [prev in thread] [next in thread]
List: binutils-cvs
Subject: [binutils-gdb] bpf: opcodes: fix regression in BPF disassembler
From: "Jose E. Marchesi via Binutils-cvs" <binutils-cvs () sourceware ! org>
Date: 2023-07-31 13:46:56
Message-ID: 20230731134656.AF3763858CD1 () sourceware ! org
[Download RAW message or body]
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=5b512234c874d5f82734dc6115765bc691c2c982
commit 5b512234c874d5f82734dc6115765bc691c2c982
Author: Jose E. Marchesi <jose.marchesi@oracle.com>
Date: Mon Jul 31 15:44:36 2023 +0200
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.
Diff:
---
opcodes/ChangeLog | 6 ++++++
opcodes/bpf-dis.c | 2 +-
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index 9d33da21627..99f95c64568 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -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.
diff --git a/opcodes/bpf-dis.c b/opcodes/bpf-dis.c
index a8cb9e8e6db..1b1a532df74 100644
--- a/opcodes/bpf-dis.c
+++ b/opcodes/bpf-dis.c
@@ -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);
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic