Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 16 Jan 2026 19:40:15 +0000
From:      Bjoern A. Zeeb <bz@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org
Subject:   git: 443e07f7980f - stable/14 - LinuxKPI: pci: use unsigned int for vendor/device arguments
Message-ID:  <696a941f.ca55.4a627316@gitrepo.freebsd.org>

index | next in thread | raw e-mail

The branch stable/14 has been updated by bz:

URL: https://cgit.FreeBSD.org/src/commit/?id=443e07f7980f8e777b7513e72769da639dd4e0e9

commit 443e07f7980f8e777b7513e72769da639dd4e0e9
Author:     Bjoern A. Zeeb <bz@FreeBSD.org>
AuthorDate: 2025-07-31 07:24:58 +0000
Commit:     Bjoern A. Zeeb <bz@FreeBSD.org>
CommitDate: 2026-01-16 19:37:39 +0000

    LinuxKPI: pci: use unsigned int for vendor/device arguments
    
    Linux drivers may pass a typed PCI_ANY_ID (-1U) in which then leads
    to a warning that the value gets truncated.  Switch argument types
    to unsigned int (or uint32_t as we use in struct pci_device_id) to
    avoid the problem.
    
    Sponsored by:   The FreeBSD Foundation
    Discussed in:   D50008
    Reviewed by:    emaste
    Differential Revision: https://reviews.freebsd.org/D51652
    
    (cherry picked from commit a96486531b915c621947980d01decff759afc65e)
---
 sys/compat/linuxkpi/common/include/linux/pci.h | 4 ++--
 sys/compat/linuxkpi/common/src/linux_pci.c     | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/sys/compat/linuxkpi/common/include/linux/pci.h b/sys/compat/linuxkpi/common/include/linux/pci.h
index af3a4f276930..614cea0e7144 100644
--- a/sys/compat/linuxkpi/common/include/linux/pci.h
+++ b/sys/compat/linuxkpi/common/include/linux/pci.h
@@ -369,7 +369,7 @@ int linuxkpi_pci_enable_msix(struct pci_dev *pdev, struct msix_entry *entries,
 /* Internal helper function(s). */
 struct pci_dev *lkpinew_pci_dev(device_t);
 void lkpi_pci_devres_release(struct device *, void *);
-struct pci_dev *lkpi_pci_get_device(uint16_t, uint16_t, struct pci_dev *);
+struct pci_dev *lkpi_pci_get_device(uint32_t, uint32_t, struct pci_dev *);
 struct msi_desc *lkpi_pci_msi_desc_alloc(int);
 struct device *lkpi_pci_find_irq_dev(unsigned int irq);
 int _lkpi_pci_enable_msi_range(struct pci_dev *pdev, int minvec, int maxvec);
@@ -1415,7 +1415,7 @@ err:
  * using pci_get_device() need to be changed to call linuxkpi_pci_get_device().
  */
 static inline struct pci_dev *
-linuxkpi_pci_get_device(uint16_t vendor, uint16_t device, struct pci_dev *odev)
+linuxkpi_pci_get_device(uint32_t vendor, uint32_t device, struct pci_dev *odev)
 {
 
 	return (lkpi_pci_get_device(vendor, device, odev));
diff --git a/sys/compat/linuxkpi/common/src/linux_pci.c b/sys/compat/linuxkpi/common/src/linux_pci.c
index 3c17dbbd82c3..77acbc48c408 100644
--- a/sys/compat/linuxkpi/common/src/linux_pci.c
+++ b/sys/compat/linuxkpi/common/src/linux_pci.c
@@ -286,7 +286,7 @@ linux_pci_find(device_t dev, const struct pci_device_id **idp)
 }
 
 struct pci_dev *
-lkpi_pci_get_device(uint16_t vendor, uint16_t device, struct pci_dev *odev)
+lkpi_pci_get_device(uint32_t vendor, uint32_t device, struct pci_dev *odev)
 {
 	struct pci_dev *pdev, *found;
 


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?696a941f.ca55.4a627316>