lkml.org 
[lkml]   [2020]   [May]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v5 01/18] sparc32: mm: Fix argument checking in __srmmu_get_nocache()
    Date
    The 'size' argument to __srmmu_get_nocache() is a number of bytes not
    a shift value, so fix up the sanity checking to treat it properly.

    Cc: "David S. Miller" <davem@davemloft.net>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Signed-off-by: Will Deacon <will@kernel.org>
    ---
    arch/sparc/mm/srmmu.c | 12 ++++++------
    1 file changed, 6 insertions(+), 6 deletions(-)

    diff --git a/arch/sparc/mm/srmmu.c b/arch/sparc/mm/srmmu.c
    index b7c94de70cca..cb9ded8a68b7 100644
    --- a/arch/sparc/mm/srmmu.c
    +++ b/arch/sparc/mm/srmmu.c
    @@ -175,18 +175,18 @@ pte_t *pte_offset_kernel(pmd_t *dir, unsigned long address)
    */
    static void *__srmmu_get_nocache(int size, int align)
    {
    - int offset;
    + int offset, minsz = 1 << SRMMU_NOCACHE_BITMAP_SHIFT;
    unsigned long addr;

    - if (size < SRMMU_NOCACHE_BITMAP_SHIFT) {
    + if (size < minsz) {
    printk(KERN_ERR "Size 0x%x too small for nocache request\n",
    size);
    - size = SRMMU_NOCACHE_BITMAP_SHIFT;
    + size = minsz;
    }
    - if (size & (SRMMU_NOCACHE_BITMAP_SHIFT - 1)) {
    - printk(KERN_ERR "Size 0x%x unaligned int nocache request\n",
    + if (size & (minsz - 1)) {
    + printk(KERN_ERR "Size 0x%x unaligned in nocache request\n",
    size);
    - size += SRMMU_NOCACHE_BITMAP_SHIFT - 1;
    + size += minsz - 1;
    }
    BUG_ON(align > SRMMU_NOCACHE_ALIGN_MAX);

    --
    2.26.2.645.ge9eca65c58-goog
    \
     
     \ /
      Last update: 2020-05-11 22:43    [W:4.021 / U:0.420 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site