[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Sat, 10 Oct 2015 09:47:54 +0200
From: Ingo Molnar <mingo@...nel.org>
To: Rasmus Villemoes <linux@...musvillemoes.dk>
Cc: Linus Torvalds <torvalds@...ux-foundation.org>,
Chris Metcalf <cmetcalf@...hip.com>,
open list <linux-kernel@...r.kernel.org>,
Peter Zijlstra <a.p.zijlstra@...llo.nl>,
Thomas Gleixner <tglx@...utronix.de>,
"H. Peter Anvin" <hpa@...or.com>, Borislav Petkov <bp@...en8.de>
Subject: Re: [RFC 0/3] eliminate potential race in string() (was: [PATCH]
string: Improve the generic strlcpy() implementation)
* Rasmus Villemoes <linux@...musvillemoes.dk> wrote:
> On Fri, Oct 09 2015, Rasmus Villemoes <linux@...musvillemoes.dk> wrote:
>
> > It's hard not to agree with the overall "let's make it more robust if it
> > can be done sanely+cheaply+cleanly". I was a bit skeptical about whether
> > those three requirements could be met, since we'd have to do
> > byte-by-byte traversal of the string, maybe-copying it to the output as
> > we go along, but then right-alignment would require us to do a memmove,
> > but not before we've done some complicated bookkeeping
> > exercise. However, now that I read the source again, it seems that Al
> > Viro already did that exercise when he added dentry(). So maybe it's
> > doable without a net increase in LOC.
>
> Something like this. The net increase is because I added a
> comment. Passes the new printf test suite, but I'm not sure that's
> thorough enough yet - still, it's better than nothing. There's also this
> small bonus:
>
> $ scripts/bloat-o-meter /tmp/vsprintf.o.{old,new}
> add/remove: 1/0 grow/shrink: 0/2 up/down: 178/-245 (-67)
> function old new delta
> widen_string.isra - 178 +178
> string.isra 186 109 -77
> dentry_name.isra 358 190 -168
>
>
> Rasmus Villemoes (3):
> lib/vsprintf.c: pull out padding code from dentry_name()
> lib/vsprintf.c: move string() below widen_string()
> lib/vsprintf.c: eliminate potential race in string()
>
> lib/vsprintf.c | 98 +++++++++++++++++++++++++++++++---------------------------
> 1 file changed, 52 insertions(+), 46 deletions(-)
Looks good to me!
Thanks,
Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists