From: Guixin Liu <kanie@linux.alibaba.com>
To: "Bjorn Helgaas" <bhelgaas@google.com>,
"Andy Shevchenko" <andriy.shevchenko@intel.com>,
"Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>
Cc: linux-pci@vger.kernel.org, Xunlei Pang <xlpang@linux.alibaba.com>,
oliver.yang@linux.alibaba.com
Subject: [PATCH v11 0/2] PCI: Fix crash when access broken ROM
Date: Fri, 30 Jan 2026 16:07:27 +0800 [thread overview]
Message-ID: <20260130080729.96152-1-kanie@linux.alibaba.com> (raw)
v10 -> v11:
- Change 'pci rom' to 'PCI ROM' of the tittle of the first patch.
- Add Andy Shevchenko's rb tag in the first patch, thanks.
v9 -> v10:
- Reorder the header files, and not touch kernel.h
- Change PCI_ROM_IMAGE_LEN_UNIT_BYTES to PCI_ROM_IMAGE_SECTOR_SIZE.
- Add a comment for PCI_ROM_DATA_STRUCT_SIGNATURE.
v8 -> v9:
- Supplemental explanation for the commit body of the first patch.
- Change PCI_ROM_IMAGE_LEN_UNIT_SZ_512 to PCI_ROM_IMAGE_LEN_UNIT_BYTES,
and change it's definition to SZ_512.
- Use u16 and u32 for signature val instead of unsigned short/int.
v7 -> v8:
- Ordered header files alphabetically.
- Convert the literals too in the firt patch.
- Use local val to save signature instead of reading twice.
v6 -> v7:
- Put all named defines to a separate patch.
- Change PCI_ROM_IMAGE_LEN_UNIT_BYTES to PCI_ROM_IMAGE_LEN_UNIT_SZ_512.
- Named BIT(7) to PCI_ROM_LAST_IMAGE_INDICATOR_BIT.
- Fix all other comments from Ilpo, such as including header files,
and alignment fault, Thanks.
v5 -> v6:
- Convert some magic number to named defines, suggested by
Ilpo, thanks.
v4 -> v5:
- Add Andy Shevchenko's rb tag, thanks.
- Change u64 to unsigned long.
- Change pci_rom_header_valid() to pci_rom_is_header_valid() and
change pci_rom_data_struct_valid() to pci_rom_is_data_struct_valid().
- Change rom_end from rom+size to rom+size-1 for more readble,
and also change header_end >= rom_end to header_end > rom_end, same
as data structure end.
- Change if(!last_image) to if (last_image)..
- Use U16_MAX instead of 0xffff.
- Split check_add_overflow() from data_len checking.
- Remove !!() when reading last_image, and Use BIT(7) instead of 0x80.
v3 -> v4:
- Use "u64" instead of "uintptr_t".
- Invert the if statement to avoid excessive indentation.
- Add comment for alignment checking.
- Change last_image's type from int to bool.
v2 -> v3:
- Add pci_rom_header_valid() helper for checking image addr and signature.
- Add pci_rom_data_struct_valid() helper for checking data struct add
and signature.
- Handle overflow issue when adding addr with size.
- Handle alignment fault when running on arm64.
v1 -> v2:
- Fix commit body problems, such as blank line in "Call Trace" both sides,
thanks, (Andy Shevchenko).
- Remove every step checking, just check the addr is in header or data
struct.
- Add Suggested-by: Guanghui Feng <guanghuifeng@linux.alibaba.com> tag.
Guixin Liu (2):
PCI: Introduce named defines for PCI ROM
PCI: Check ROM header and data structure addr before accessing
drivers/pci/rom.c | 137 ++++++++++++++++++++++++++++++++++++++--------
1 file changed, 115 insertions(+), 22 deletions(-)
--
2.32.0.3.g01195cf9f
next reply other threads:[~2026-01-30 8:07 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-30 8:07 Guixin Liu [this message]
2026-01-30 8:07 ` [PATCH v11 1/2] PCI: Introduce named defines for PCI ROM Guixin Liu
2026-05-02 16:55 ` Krzysztof Wilczyński
2026-05-06 4:40 ` Guixin Liu
2026-01-30 8:07 ` [PATCH v11 2/2] PCI: Check ROM header and data structure addr before accessing Guixin Liu
2026-04-30 21:46 ` Bjorn Helgaas
2026-05-06 4:39 ` Guixin Liu
2026-02-09 6:43 ` [PATCH v11 0/2] PCI: Fix crash when access broken ROM Guixin Liu
2026-02-09 17:54 ` Bjorn Helgaas
2026-04-24 6:32 ` Guixin Liu
2026-04-24 8:38 ` Andy Shevchenko
2026-04-30 2:01 ` Guixin Liu
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=20260130080729.96152-1-kanie@linux.alibaba.com \
--to=kanie@linux.alibaba.com \
--cc=andriy.shevchenko@intel.com \
--cc=bhelgaas@google.com \
--cc=ilpo.jarvinen@linux.intel.com \
--cc=linux-pci@vger.kernel.org \
--cc=oliver.yang@linux.alibaba.com \
--cc=xlpang@linux.alibaba.com \
/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.