lib/vsprintf.c: move sizeof(struct printf_spec) next to its definition
At the time of commit d048419311
("lib/vsprintf.c: expand field_width
to 24 bits"), there was no compiletime_assert/BUILD_BUG/.... variant
that could be used outside function scope. Now we have static_assert(),
so move the assertion next to the definition instead of hiding it in
some arbitrary function.
Also add the appropriate #include to avoid relying on build_bug.h being
pulled in via some arbitrary chain of includes.
Link: http://lkml.kernel.org/r/20190208203015.29702-2-linux@rasmusvillemoes.dk
Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Cc: Alexander Viro <viro@zeniv.linux.org.uk>
Cc: Kees Cook <keescook@chromium.org>
Cc: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
Cc: Nick Desaulniers <ndesaulniers@google.com>
Cc: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
6bab69c650
commit
ef27ac18b3
|
@ -17,6 +17,7 @@
|
|||
*/
|
||||
|
||||
#include <stdarg.h>
|
||||
#include <linux/build_bug.h>
|
||||
#include <linux/clk.h>
|
||||
#include <linux/clk-provider.h>
|
||||
#include <linux/module.h> /* for KSYM_SYMBOL_LEN */
|
||||
|
@ -405,6 +406,8 @@ struct printf_spec {
|
|||
unsigned int base:8; /* number base, 8, 10 or 16 only */
|
||||
signed int precision:16; /* # of digits/chars */
|
||||
} __packed;
|
||||
static_assert(sizeof(struct printf_spec) == 8);
|
||||
|
||||
#define FIELD_WIDTH_MAX ((1 << 23) - 1)
|
||||
#define PRECISION_MAX ((1 << 15) - 1)
|
||||
|
||||
|
@ -422,8 +425,6 @@ char *number(char *buf, char *end, unsigned long long num,
|
|||
int field_width = spec.field_width;
|
||||
int precision = spec.precision;
|
||||
|
||||
BUILD_BUG_ON(sizeof(struct printf_spec) != 8);
|
||||
|
||||
/* locase = 0 or 0x20. ORing digits or letters with 'locase'
|
||||
* produces same digits or (maybe lowercased) letters */
|
||||
locase = (spec.flags & SMALL);
|
||||
|
|
Loading…
Reference in New Issue