[Intel-gfx] [PATCH] drm/i915: Use a temporary va_list for two-pass string handling
Daniel Vetter
daniel at ffwll.ch
Sat Sep 21 00:28:53 CEST 2013
On Fri, Sep 20, 2013 at 10:20:59AM +0100, Chris Wilson wrote:
> In
>
> commit edc3d8848dc9fe2a470316363dab8ef211d77e01
> Author: Mika Kuoppala <mika.kuoppala at linux.intel.com>
> Date: Thu May 23 13:55:35 2013 +0300
>
> drm/i915: avoid big kmallocs on reading error state
>
> we introduce a two-pass mechanism for splitting long strings being
> formatted into the error-state. The first pass finds the length, and the
> second pass emits the right portion of the string into the accumulation
> buffer. Unfortunately we use the same va_list for both passes, resulting
> in the second pass reading garbage off the end of the argument list. As
> the two passes are only used for boundaries between read() calls, the
> corruption is only rarely seen.
>
> This fixes the root cause behind
>
> commit baf27f9b17bf2f369f3865e38c41d2163e8d815d
> Author: Chris Wilson <chris at chris-wilson.co.uk>
> Date: Sat Jun 29 23:26:50 2013 +0100
>
> drm/i915: Break up the large vsnprintf() in print_error_buffers()
>
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> Cc: Mika Kuoppala <mika.kuoppala at intel.com>
> Cc: Daniel Vetter <daniel.vetter at ffwll.ch>
> Cc: stable at vger.kernel.org
Picked up for -fixes, thanks for the patch.
-Daniel
--
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch
More information about the Intel-gfx
mailing list