From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from out30-97.freemail.mail.aliyun.com (out30-97.freemail.mail.aliyun.com [115.124.30.97]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CFE34175A68 for ; Thu, 30 Apr 2026 02:01:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=115.124.30.97 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777514499; cv=none; b=Mu9UMAOGUnz++j5QMgBVObuwTFv5gtQpo2L/86qCEESC08deQ6nNXmnwrSYZSjm8WkanTdOyKMRzpfZ/XNqfu0rsKIqWS+Wddxz5tMiG+M9XZLzwXFeZQYel1iNJHussUEfDV1HFQWGorQVPVmY/TxO7iK7IAbRR/uOcVQXVwa4= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777514499; c=relaxed/simple; bh=JJMq0wJo5tUrSwaLXQ46Z1x/GlE8ogLh9GDGepEZnuU=; h=Message-ID:Date:MIME-Version:Subject:From:To:Cc:References: In-Reply-To:Content-Type; b=J+FFrDtAQ/Y2Qw9hTq3mHea7SvL3IM5Buc3Rth0eu2f8mNfTadYXSoWLyRFC3Brkbwj+0oNoGEx9Jg7Jam84gXf03WtMJUrZDeAw0WI/bmWhAVe5K6oWPue40K5BOK7XfLOwimweMaC7eU/R1EqqNsi/sn+3C75KKwuiOJ2/0JQ= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.alibaba.com; spf=pass smtp.mailfrom=linux.alibaba.com; dkim=pass (1024-bit key) header.d=linux.alibaba.com header.i=@linux.alibaba.com header.b=naWybzqD; arc=none smtp.client-ip=115.124.30.97 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.alibaba.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.alibaba.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.alibaba.com header.i=@linux.alibaba.com header.b="naWybzqD" DKIM-Signature:v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.alibaba.com; s=default; t=1777514492; h=Message-ID:Date:MIME-Version:Subject:From:To:Content-Type; bh=cFZspXCupbkExLGWZePLeRmIog/jTy71T8Duapnl8Eo=; b=naWybzqDpxWigUAu3qx2mPFdtSqowaGlEMsQRYJ455SUwTrcBl37o8OUI6/OLh2f5FxoSNPtElOSifCtJ906JR2v7L+V+IAko/+Tvr+zvBFySnpR5hd3Qzz362QWV1H0s/Tczwf97v6Evt5nI68kEZdQhz6ObvYBN4xq/R7PSvs= X-Alimail-AntiSpam:AC=PASS;BC=-1|-1;BR=01201311R131e4;CH=green;DM=||false|;DS=||;FP=0|-1|-1|-1|0|-1|-1|-1;HT=maildocker-contentspam033037033178;MF=kanie@linux.alibaba.com;NM=1;PH=DS;RN=7;SR=0;TI=SMTPD_---0X1zVPH1_1777514490; Received: from 30.178.82.55(mailfrom:kanie@linux.alibaba.com fp:SMTPD_---0X1zVPH1_1777514490 cluster:ay36) by smtp.aliyun-inc.com; Thu, 30 Apr 2026 10:01:31 +0800 Message-ID: <6bdc5b48-3170-4f30-8062-e417016900ba@linux.alibaba.com> Date: Thu, 30 Apr 2026 10:01:29 +0800 Precedence: bulk X-Mailing-List: linux-pci@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v11 0/2] PCI: Fix crash when access broken ROM From: Guixin Liu To: Bjorn Helgaas Cc: Bjorn Helgaas , Andy Shevchenko , =?UTF-8?Q?Ilpo_J=C3=A4rvinen?= , linux-pci@vger.kernel.org, Xunlei Pang , oliver.yang@linux.alibaba.com References: <20260209175432.GA196137@bhelgaas> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Hi Bjorn, gentling ping... Best Regards, Guixin Liu 在 2026/4/24 14:32, Guixin Liu 写道: > > > 在 2026/2/10 01:54, Bjorn Helgaas 写道: >> On Mon, Feb 09, 2026 at 02:43:39PM +0800, Guixin Liu wrote: >>> Gentling ping... >>> >>> Hi Bjorn and Ilpo, Could you please review these two patches? >>> >>> In this version, I fixed the case issues in the first patch title. >> Will do, thanks.  Since the v7.0 merge window is open, this is on my >> list to look at as soon as v7.0-rc1 is tagged, probably on Feb 22. > Hi Bjorn, looks like these two patches still haven't been merged, > Would it be possible to get them merged for the 7.0 release? Best > Regards, Guixin Liu >> >>> 在 2026/1/30 16:07, Guixin Liu 写道: >>>> 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 >>>> 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(-) >>>> >