lkml.org 
[lkml]   [2022]   [Jan]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.16 0429/1039] octeontx2-af: Fix interrupt name strings
    Date
    From: Sunil Goutham <sgoutham@marvell.com>

    [ Upstream commit 6dc9a23e29061e50c36523270de60039ccf536fa ]

    Fixed interrupt name string logic which currently results
    in wrong memory location being accessed while dumping
    /proc/interrupts.

    Fixes: 4826090719d4 ("octeontx2-af: Enable CPT HW interrupts")
    Signed-off-by: Sunil Goutham <sgoutham@marvell.com>
    Signed-off-by: Subbaraya Sundeep <sbhatta@marvell.com>
    Link: https://lore.kernel.org/r/1641538505-28367-1-git-send-email-sbhatta@marvell.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/net/ethernet/marvell/octeontx2/af/rvu_cpt.c | 5 ++---
    drivers/net/ethernet/marvell/octeontx2/af/rvu_devlink.c | 2 +-
    2 files changed, 3 insertions(+), 4 deletions(-)

    diff --git a/drivers/net/ethernet/marvell/octeontx2/af/rvu_cpt.c b/drivers/net/ethernet/marvell/octeontx2/af/rvu_cpt.c
    index 45357deecabbf..a73a8017e0ee9 100644
    --- a/drivers/net/ethernet/marvell/octeontx2/af/rvu_cpt.c
    +++ b/drivers/net/ethernet/marvell/octeontx2/af/rvu_cpt.c
    @@ -172,14 +172,13 @@ static int cpt_10k_register_interrupts(struct rvu_block *block, int off)
    {
    struct rvu *rvu = block->rvu;
    int blkaddr = block->addr;
    - char irq_name[16];
    int i, ret;

    for (i = CPT_10K_AF_INT_VEC_FLT0; i < CPT_10K_AF_INT_VEC_RVU; i++) {
    - snprintf(irq_name, sizeof(irq_name), "CPTAF FLT%d", i);
    + sprintf(&rvu->irq_name[(off + i) * NAME_SIZE], "CPTAF FLT%d", i);
    ret = rvu_cpt_do_register_interrupt(block, off + i,
    rvu_cpt_af_flt_intr_handler,
    - irq_name);
    + &rvu->irq_name[(off + i) * NAME_SIZE]);
    if (ret)
    goto err;
    rvu_write64(rvu, blkaddr, CPT_AF_FLTX_INT_ENA_W1S(i), 0x1);
    diff --git a/drivers/net/ethernet/marvell/octeontx2/af/rvu_devlink.c b/drivers/net/ethernet/marvell/octeontx2/af/rvu_devlink.c
    index 70bacd38a6d9d..d0ab8f233a029 100644
    --- a/drivers/net/ethernet/marvell/octeontx2/af/rvu_devlink.c
    +++ b/drivers/net/ethernet/marvell/octeontx2/af/rvu_devlink.c
    @@ -41,7 +41,7 @@ static bool rvu_common_request_irq(struct rvu *rvu, int offset,
    struct rvu_devlink *rvu_dl = rvu->rvu_dl;
    int rc;

    - sprintf(&rvu->irq_name[offset * NAME_SIZE], name);
    + sprintf(&rvu->irq_name[offset * NAME_SIZE], "%s", name);
    rc = request_irq(pci_irq_vector(rvu->pdev, offset), fn, 0,
    &rvu->irq_name[offset * NAME_SIZE], rvu_dl);
    if (rc)
    --
    2.34.1


    \
     
     \ /
      Last update: 2022-01-25 01:11    [W:2.373 / U:0.536 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site