Re: [PATCH] i915: stack address leak when failing to read registers.

From: Greg KH
Date: Mon Feb 02 2015 - 11:39:02 EST


On Mon, Feb 02, 2015 at 02:58:36PM +0100, Quentin Casasnovas wrote:
> It is possible for the *_read*() functions to fail, in which case it'll
> leave its third argument untouched. Most of the code do not check the
> return value of *_read*() functions, and will happily use garbage from the
> stack to test various things. For example, ch7xxx_dump_regs() will leak 1
> byte from the stack in case of failure, ivch_dump_regs() 2 bytes, etc.
>
> Instead of fixing every caller to check the return value, just clear the
> output variable so this patch can easily go to -stable. A proper fix would
> probably to check the return value everywhere though, since it does not
> make much sense to carry on talking to the ship after some error.
>
> This issue was found by code review while preparing Ksplice updates.
>
> Signed-off-by: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx>
> ---
> drivers/gpu/drm/i915/dvo_ch7017.c | 1 +
> drivers/gpu/drm/i915/dvo_ch7xxx.c | 1 +
> drivers/gpu/drm/i915/dvo_ivch.c | 1 +
> drivers/gpu/drm/i915/dvo_ns2501.c | 2 +-
> drivers/gpu/drm/i915/dvo_sil164.c | 1 +
> drivers/gpu/drm/i915/dvo_tfp410.c | 1 +
> 6 files changed, 6 insertions(+), 1 deletion(-)

<formletter>

This is not the correct way to submit patches for inclusion in the
stable kernel tree. Please read Documentation/stable_kernel_rules.txt
for how to do this properly.

</formletter>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/