On Sat, 05 Oct 2013 23:50:39 +0800 Chen Gang <gang.chen@xxxxxxxxxxx> wrote: > sizeof("Tainted: ") already counts '\0', and after first sprintf(), 's' > will start from the current string end (its' value is '\0'). > > So need not add additional 1 byte for maximized usage of 'buf' in > print_tainted(). > > > Signed-off-by: Chen Gang <gang.chen@xxxxxxxxxxx> > --- > kernel/panic.c | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > diff --git a/kernel/panic.c b/kernel/panic.c > index b6c482c..c00b4ce 100644 > --- a/kernel/panic.c > +++ b/kernel/panic.c > @@ -233,7 +233,7 @@ static const struct tnt tnts[] = { > */ > const char *print_tainted(void) > { > - static char buf[ARRAY_SIZE(tnts) + sizeof("Tainted: ") + 1]; > + static char buf[ARRAY_SIZE(tnts) + sizeof("Tainted: ")]; > > if (tainted_mask) { > char *s; hm, that code is a bit crufty. - Why is `buf' static? It could be on-stack. - Requires that the two literal "Tainted: " strings be kept in sync. - Assumes that strlen("Not tainted") <= strlen("Tainted") + ARRAY_SIZE(tnts). Which is true, but might not be if someone makes changes... -- To unsubscribe from this list: send the line "unsubscribe linux-next" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html