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.10 271/563] of: unittest: fix warning on PowerPC frame size warning
    Date
    From: Jim Quinlan <jim2101024@gmail.com>

    [ Upstream commit a8d61a9112ad0c9216ab45d050991e07bc4f3408 ]

    The struct device variable "dev_bogus" was triggering this warning
    on a PowerPC build:

    drivers/of/unittest.c: In function 'of_unittest_dma_ranges_one.constprop':
    [...] >> The frame size of 1424 bytes is larger than 1024 bytes
    [-Wframe-larger-than=]

    This variable is now dynamically allocated.

    Fixes: e0d072782c734 ("dma-mapping: introduce DMA range map, supplanting dma_pfn_offset")
    Reported-by: kernel test robot <lkp@intel.com>
    Signed-off-by: Jim Quinlan <jim2101024@gmail.com>
    Reviewed-by: Christoph Hellwig <hch@lst.de>
    Reviewed-by: Frank Rowand <frank.rowand@sony.com>
    Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
    Signed-off-by: Rob Herring <robh@kernel.org>
    Link: https://lore.kernel.org/r/20211210184636.7273-2-jim2101024@gmail.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/of/unittest.c | 16 ++++++++++++----
    1 file changed, 12 insertions(+), 4 deletions(-)

    diff --git a/drivers/of/unittest.c b/drivers/of/unittest.c
    index 1d4b0b7d0cc10..a5c4c77b6f3e2 100644
    --- a/drivers/of/unittest.c
    +++ b/drivers/of/unittest.c
    @@ -910,11 +910,18 @@ static void __init of_unittest_dma_ranges_one(const char *path,
    if (!rc) {
    phys_addr_t paddr;
    dma_addr_t dma_addr;
    - struct device dev_bogus;
    + struct device *dev_bogus;

    - dev_bogus.dma_range_map = map;
    - paddr = dma_to_phys(&dev_bogus, expect_dma_addr);
    - dma_addr = phys_to_dma(&dev_bogus, expect_paddr);
    + dev_bogus = kzalloc(sizeof(struct device), GFP_KERNEL);
    + if (!dev_bogus) {
    + unittest(0, "kzalloc() failed\n");
    + kfree(map);
    + return;
    + }
    +
    + dev_bogus->dma_range_map = map;
    + paddr = dma_to_phys(dev_bogus, expect_dma_addr);
    + dma_addr = phys_to_dma(dev_bogus, expect_paddr);

    unittest(paddr == expect_paddr,
    "of_dma_get_range: wrong phys addr %pap (expecting %llx) on node %pOF\n",
    @@ -924,6 +931,7 @@ static void __init of_unittest_dma_ranges_one(const char *path,
    &dma_addr, expect_dma_addr, np);

    kfree(map);
    + kfree(dev_bogus);
    }
    of_node_put(np);
    #endif
    --
    2.34.1


    \
     
     \ /
      Last update: 2022-01-24 21:14    [W:2.145 / U:0.072 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site