Messages in this thread | | | Date | Mon, 26 Oct 2015 15:45:04 +0900 | Subject | Re: [PATCH 11/13] lib/test_printf.c: add test for large bitmaps | From | Kees Cook <> |
| |
On Wed, Oct 21, 2015 at 5:30 AM, Rasmus Villemoes <linux@rasmusvillemoes.dk> 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 <mlombard@redhat.com> > Cc: Kees Cook <keescook@chromium.org> > Cc: Tejun Heo <tj@kernel.org> > Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Acked-by: Kees Cook <keescook@chromium.org>
-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
| |