]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
scsi: hpsa: Enlarge controller and IRQ name buffers
authorPengpeng Hou <pengpeng@iscas.ac.cn>
Wed, 1 Apr 2026 12:05:52 +0000 (20:05 +0800)
committerMartin K. Petersen <martin.petersen@oracle.com>
Fri, 3 Apr 2026 01:09:43 +0000 (21:09 -0400)
hpsa formats the controller name into h->devname[8] and derives
interrupt names from it in h->intrname[][16]. Once host_no reaches four
digits, "hpsa%d" no longer fits in devname, and the derived IRQ names
can then overrun the interrupt-name buffers as well.

The previous fix switched these builders to bounded formatting, but that
would truncate user-visible controller and IRQ names. Keep the existing
names intact instead by enlarging the fixed buffers to cover the current
formatted strings.

Fixes: 2946e82bdd76 ("hpsa: use scsi host_no as hpsa controller number")
Fixes: 8b47004a5512 ("hpsa: add interrupt number to /proc/interrupts interrupt name")
Acked-by: Don Brace <don.brace@microchip.com>
Signed-off-by: Pengpeng Hou <pengpeng@iscas.ac.cn>
Link: https://patch.msgid.link/20260401120552.78541-1-pengpeng@iscas.ac.cn
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/hpsa.h

index 99b0750850b2ba463400be7e9d4e6fe7c3d8a877..f6bfe75dd696d912d0eff8ebbd89ca57bd6012cb 100644 (file)
@@ -164,7 +164,7 @@ struct bmic_controller_parameters {
 struct ctlr_info {
        unsigned int *reply_map;
        int     ctlr;
-       char    devname[8];
+       char    devname[16];
        char    *product_name;
        struct pci_dev *pdev;
        u32     board_id;
@@ -255,7 +255,7 @@ struct ctlr_info {
        int remove_in_progress;
        /* Address of h->q[x] is passed to intr handler to know which queue */
        u8 q[MAX_REPLY_QUEUES];
-       char intrname[MAX_REPLY_QUEUES][16];    /* "hpsa0-msix00" names */
+       char intrname[MAX_REPLY_QUEUES][32];    /* controller and IRQ names */
        u32 TMFSupportFlags; /* cache what task mgmt funcs are supported. */
 #define HPSATMF_BITS_SUPPORTED  (1 << 0)
 #define HPSATMF_PHYS_LUN_RESET  (1 << 1)