From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from out30-113.freemail.mail.aliyun.com (out30-113.freemail.mail.aliyun.com [115.124.30.113]) (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 676EE346760 for ; Fri, 24 Apr 2026 06:32:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=115.124.30.113 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777012333; cv=none; b=b8GdTTCj7qqh1XaY2RH5EGbPmUmOiYxx9VsYihWfhETuu0qTLd7rI8gZ25STs6XUv5UmT9KQgBczBqEr561HUlp8/K5vZEuON/OisCVjf92ikN+8h/E99uswbi7FZi8zUMWEoEK5pDR1rQahbVqHHEvVVETG1vkmN3T/h9T4nGA= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777012333; c=relaxed/simple; bh=G3+V8DxOuWlrFt/GWKMs9khWbfSnO8PSiioh9iNkncw=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=t4ataeyYjR7hgPa4AJZUZY59H08pDgIQFxir3ny/C04hrQEqQx8o3J3HTLJdfQnqHjsrgm9plVip3o91AK+9pBs2OtI9jHp5AAZq+HfTU7HMwIwyi+i/U1hhZtxNzNwOeSLQQesekHpsyf2DKruYg3A3s3hThVnc3xXDokZ7pTQ= 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=WLpTdqWa; arc=none smtp.client-ip=115.124.30.113 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="WLpTdqWa" DKIM-Signature:v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.alibaba.com; s=default; t=1777012328; h=Message-ID:Date:MIME-Version:Subject:To:From:Content-Type; bh=sZ15e3mS2IKv/sIDZZe/5XqdiECS2bw6NnvpySKz54k=; b=WLpTdqWajijVOxm6UVUFJMktDW6vWsEiCyEqxmUHSGDFIevZVXhGVvkmF0s0V+dT02fDo+DbDI0bpgCeSggSV1/ceIsNJlk0Vi1ohjnq84peyd3TTk1UvqDuYxe5zad7FdsxK3MfL1B3dJtIMaYUpCKSZOjAA+leMESNpS+6+ys= X-Alimail-AntiSpam:AC=PASS;BC=-1|-1;BR=01201311R161e4;CH=green;DM=||false|;DS=||;FP=0|-1|-1|-1|0|-1|-1|-1;HT=maildocker-contentspam033032089153;MF=kanie@linux.alibaba.com;NM=1;PH=DS;RN=7;SR=0;TI=SMTPD_---0X1bkU1X_1777012326; Received: from 30.178.82.182(mailfrom:kanie@linux.alibaba.com fp:SMTPD_---0X1bkU1X_1777012326 cluster:ay36) by smtp.aliyun-inc.com; Fri, 24 Apr 2026 14:32:08 +0800 Message-ID: Date: Fri, 24 Apr 2026 14:32:06 +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 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> From: Guixin Liu In-Reply-To: <20260209175432.GA196137@bhelgaas> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit 在 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(-) >>>