Messages in this thread | | | Date | Tue, 8 Mar 2016 15:13:16 -0800 | Subject | Re: [RFC 0/7] eliminate snprintf with overlapping src and dst | From | Kees Cook <> |
| |
On Tue, Mar 8, 2016 at 12:40 PM, Rasmus Villemoes <linux@rasmusvillemoes.dk> wrote: > Doing snprintf(buf, len, "%s...", buf, ...) for appending to a buffer > currently works, but it is somewhat fragile, and any other overlap > between source and destination buffers would be a definite bug. This > is an attempt at eliminating the relatively few occurences of this > pattern in the kernel. > > I could use another set of eyes on all of these. The drm/amdkfd patch > is unfortunately rather large, but I couldn't find a better way to do > this.
Best alternative would be to have the macros just use side-effects to bump "ret" without passing it in, etc, but that's ugly/fragile, so I'd agree: what you have is best.
Consider all the changes:
Reviewed-by: Kees Cook <keescook@chromium.org>
-Kees
> > Rasmus Villemoes (7): > drm/amdkfd: avoid fragile and inefficient snprintf use > Input: joystick - avoid fragile snprintf use > leds: avoid fragile sprintf use > drivers/media/pci/zoran: avoid fragile snprintf use > wlcore: avoid fragile snprintf use > [media] ati_remote: avoid fragile snprintf use > USB: usbatm: avoid fragile and inefficient snprintf use > > drivers/gpu/drm/amd/amdkfd/kfd_topology.c | 168 +++++++++++++++--------------- > drivers/input/joystick/analog.c | 8 +- > drivers/leds/led-class-flash.c | 3 +- > drivers/media/pci/zoran/videocodec.c | 5 +- > drivers/media/rc/ati_remote.c | 11 +- > drivers/net/wireless/ti/wlcore/boot.c | 12 ++- > drivers/usb/atm/usbatm.c | 11 +- > 7 files changed, 110 insertions(+), 108 deletions(-) > > -- > 2.1.4 >
-- Kees Cook Chrome OS & Brillo Security
| |