Re: [PATCH 1/2] PCI: endpoint: pci-epf-vntb: Add check to detect 'db_count' value of 0

From: Frank Li

Date: Wed Apr 08 2026 - 23:42:46 EST


On Tue, Apr 07, 2026 at 06:14:20PM +0530, Manivannan Sadhasivam wrote:
> From: Manivannan Sadhasivam <manivannan.sadhasivam@xxxxxxxxxxxxxxxx>
>
> epf_ntb::db_count value should be within 1 to MAX_DB_COUNT. Current code
> only checks for the upper bound, while the lower bound is unchecked. This
> can cause a lot of issues in the driver if the user passes 'db_count' as 0.
>
> So add a check for 0 also. While at it, remove the redundant 'db_count'
> assignment.
>
> Fixes: e35f56bb0330 ("PCI: endpoint: Support NTB transfer between RC and EP")
> Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@xxxxxxxxxxxxxxxx>
> ---

Reviewed-by: Frank Li <Frank.Li@xxxxxxx>

> drivers/pci/endpoint/functions/pci-epf-vntb.c | 9 +++------
> 1 file changed, 3 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/pci/endpoint/functions/pci-epf-vntb.c b/drivers/pci/endpoint/functions/pci-epf-vntb.c
> index 2256c3062b1a..3d30aa4dbb84 100644
> --- a/drivers/pci/endpoint/functions/pci-epf-vntb.c
> +++ b/drivers/pci/endpoint/functions/pci-epf-vntb.c
> @@ -483,7 +483,6 @@ static int epf_ntb_configure_interrupt(struct epf_ntb *ntb)
> {
> const struct pci_epc_features *epc_features;
> struct device *dev;
> - u32 db_count;
> int ret;
>
> dev = &ntb->epf->dev;
> @@ -495,14 +494,12 @@ static int epf_ntb_configure_interrupt(struct epf_ntb *ntb)
> return -EINVAL;
> }
>
> - db_count = ntb->db_count;
> - if (db_count > MAX_DB_COUNT) {
> - dev_err(dev, "DB count cannot be more than %d\n", MAX_DB_COUNT);
> + if (!ntb->db_count || ntb->db_count > MAX_DB_COUNT) {
> + dev_err(dev, "DB count %d out of range (1 - %d)\n",
> + ntb->db_count, MAX_DB_COUNT);
> return -EINVAL;
> }
>
> - ntb->db_count = db_count;
> -
> if (epc_features->msi_capable) {
> ret = pci_epc_set_msi(ntb->epf->epc,
> ntb->epf->func_no,
> --
> 2.51.0
>