From: Borislav Petkov on
From: Kulikov Vasiliy <segooon(a)gmail.com>
Date: Wed, Jul 28, 2010 at 12:39:44PM -0400

> mcheck_init_device() poorly handles errors. If any request fails
> unregister and free everything.
>
> Signed-off-by: Kulikov Vasiliy <segooon(a)gmail.com>

Acked-by: Borislav Petkov <Borislav.Petkov(a)amd.com>

--
Regards/Gruss,
Boris.

Advanced Micro Devices GmbH
Einsteinring 24, 85609 Dornach
General Managers: Alberto Bozzo, Andrew Bowd
Registration: Dornach, Gemeinde Aschheim, Landkreis Muenchen
Registergericht Muenchen, HRB Nr. 43632

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Andi Kleen on
On 7/28/2010 6:39 PM, Kulikov Vasiliy wrote:
> mcheck_init_device() poorly handles errors. If any request fails
> unregister and free everything.

Actually these are at early boot time and only contain memory errors,
and if you run out of memory at this stage the system is usually
dead in the water anyways. The best you can do at this stage
is panicing, but silently returning from the the init function doesn't
help anyone. But someone else will likely panic anyways.

e.g. boot time allocations of cpu masks generally do not check for memory
failures and I think that's ok, not a bug.

Your patch would be good if the driver was modular, but it isn't.

-Andi

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Vasiliy Kulikov on
Hi,

On Wed, Jul 28, 2010 at 19:07 +0200, Andi Kleen wrote:
> On 7/28/2010 6:39 PM, Kulikov Vasiliy wrote:
> >mcheck_init_device() poorly handles errors. If any request fails
> >unregister and free everything.
>
> Actually these are at early boot time and only contain memory errors,
> and if you run out of memory at this stage the system is usually
> dead in the water anyways. The best you can do at this stage
> is panicing, but silently returning from the the init function doesn't
> help anyone. But someone else will likely panic anyways.
>
> e.g. boot time allocations of cpu masks generally do not check for memory
> failures and I think that's ok, not a bug.
>
> Your patch would be good if the driver was modular, but it isn't.

I'm agree with you that if allocation fails at boot time, we are dead :)
But this coding style breaking rules that result from some functions
_must_ be checked for errors. Maybe we should add BUG_ON() here or
indicate someway that we have no ideas how to handle error?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Andi Kleen on

> I'm agree with you that if allocation fails at boot time, we are dead :)
> But this coding style breaking rules that result from some functions
> _must_ be checked for errors. Maybe we should add BUG_ON() here or
> indicate someway that we have no ideas how to handle error?

What rules exactly? I don't think any of those functions are declared
with __must_check

Coding style should never get in the way of what is right.

The classic way to explicitely discard a return value is a cast to void,
but that is generally considered
ugly in the Linux kernel.

One could possibly add a comment about this at least.

-Andi

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Vasiliy Kulikov on
On Wed, Jul 28, 2010 at 19:20 +0200, Andi Kleen wrote:
>
> >I'm agree with you that if allocation fails at boot time, we are dead :)
> >But this coding style breaking rules that result from some functions
> >_must_ be checked for errors. Maybe we should add BUG_ON() here or
> >indicate someway that we have no ideas how to handle error?
>
> What rules exactly? I don't think any of those functions are
> declared with __must_check

IMO memmory allocation fails are dangerous in kernel mode. As it is
probably not exploitable because of boot time, it can destroy some
sensitive data like dirty disk caches those are going to be written on
disk.

>
> Coding style should never get in the way of what is right.
>
> The classic way to explicitely discard a return value is a cast to
> void, but that is generally considered
> ugly in the Linux kernel.
>
> One could possibly add a comment about this at least.
>
> -Andi
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/