On Wed, Oct 21, 2015 at 5:30 AM, Rasmus Villemoes
<[email protected]> wrote:
> Following "lib/vsprintf.c: expand field_width to 24 bits", let's add a
> test to see that we now actually support bitmaps with 65536 bits.
>
> Cc: Maurizio Lombardi <[email protected]>
> Cc: Kees Cook <[email protected]>
> Cc: Tejun Heo <[email protected]>
> Signed-off-by: Rasmus Villemoes <[email protected]>

Acked-by: Kees Cook <[email protected]>

-Kees

> ---
>  lib/test_printf.c | 17 +++++++++++++++++
>  1 file changed, 17 insertions(+)
>
> diff --git a/lib/test_printf.c b/lib/test_printf.c
> index 8fca007d9bcd..19fa411dba78 100644
> --- a/lib/test_printf.c
> +++ b/lib/test_printf.c
> @@ -12,6 +12,7 @@
>  #include <linux/slab.h>
>  #include <linux/string.h>
>
> +#include <linux/bitmap.h>
>  #include <linux/socket.h>
>  #include <linux/in.h>
>
> @@ -312,6 +313,20 @@ struct_clk(void)
>  }
>
>  static void __init
> +large_bitmap(void)
> +{
> +       const int nbits = 1 << 16;
> +       unsigned long *bits = kcalloc(BITS_TO_LONGS(nbits), sizeof(long), 
> GFP_KERNEL);
> +       if (!bits)
> +               return;
> +
> +       bitmap_set(bits, 1, 20);
> +       bitmap_set(bits, 60000, 15);
> +       test("1-20,60000-60014", "%*pbl", nbits, bits);
> +       kfree(bits);
> +}
> +
> +static void __init
>  bitmap(void)
>  {
>         DECLARE_BITMAP(bits, 20);
> @@ -330,6 +345,8 @@ bitmap(void)
>         bitmap_fill(bits, 20);
>         test("fffff|fffff", "%20pb|%*pb", bits, 20, bits);
>         test("0-19|0-19", "%20pbl|%*pbl", bits, 20, bits);
> +
> +       large_bitmap();
>  }
>
>  static void __init
> --
> 2.6.1
>



-- 
Kees Cook
Chrome OS Security
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to