lkml.org 
[lkml]   [2018]   [May]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.16 036/110] lib/test_bitmap.c: fix bitmap optimisation tests to report errors correctly
    Date
    4.16-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Matthew Wilcox <mawilcox@microsoft.com>

    commit 1e3054b98c5415d5cb5f8824fc33b548ae5644c3 upstream.

    I had neglected to increment the error counter when the tests failed,
    which made the tests noisy when they fail, but not actually return an
    error code.

    Link: http://lkml.kernel.org/r/20180509114328.9887-1-mpe@ellerman.id.au
    Fixes: 3cc78125a081 ("lib/test_bitmap.c: add optimisation tests")
    Signed-off-by: Matthew Wilcox <mawilcox@microsoft.com>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Reported-by: Michael Ellerman <mpe@ellerman.id.au>
    Tested-by: Michael Ellerman <mpe@ellerman.id.au>
    Reviewed-by: Kees Cook <keescook@chromium.org>
    Cc: Yury Norov <ynorov@caviumnetworks.com>
    Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    Cc: Geert Uytterhoeven <geert@linux-m68k.org>
    Cc: <stable@vger.kernel.org> [4.13+]
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    lib/test_bitmap.c | 21 +++++++++++++++------
    1 file changed, 15 insertions(+), 6 deletions(-)

    --- a/lib/test_bitmap.c
    +++ b/lib/test_bitmap.c
    @@ -329,23 +329,32 @@ static void noinline __init test_mem_opt
    unsigned int start, nbits;

    for (start = 0; start < 1024; start += 8) {
    - memset(bmap1, 0x5a, sizeof(bmap1));
    - memset(bmap2, 0x5a, sizeof(bmap2));
    for (nbits = 0; nbits < 1024 - start; nbits += 8) {
    + memset(bmap1, 0x5a, sizeof(bmap1));
    + memset(bmap2, 0x5a, sizeof(bmap2));
    +
    bitmap_set(bmap1, start, nbits);
    __bitmap_set(bmap2, start, nbits);
    - if (!bitmap_equal(bmap1, bmap2, 1024))
    + if (!bitmap_equal(bmap1, bmap2, 1024)) {
    printk("set not equal %d %d\n", start, nbits);
    - if (!__bitmap_equal(bmap1, bmap2, 1024))
    + failed_tests++;
    + }
    + if (!__bitmap_equal(bmap1, bmap2, 1024)) {
    printk("set not __equal %d %d\n", start, nbits);
    + failed_tests++;
    + }

    bitmap_clear(bmap1, start, nbits);
    __bitmap_clear(bmap2, start, nbits);
    - if (!bitmap_equal(bmap1, bmap2, 1024))
    + if (!bitmap_equal(bmap1, bmap2, 1024)) {
    printk("clear not equal %d %d\n", start, nbits);
    - if (!__bitmap_equal(bmap1, bmap2, 1024))
    + failed_tests++;
    + }
    + if (!__bitmap_equal(bmap1, bmap2, 1024)) {
    printk("clear not __equal %d %d\n", start,
    nbits);
    + failed_tests++;
    + }
    }
    }
    }

    \
     
     \ /
      Last update: 2018-05-21 23:39    [W:4.143 / U:0.596 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site