From: Simon Kagstrom on
On Thu, 28 Jan 2010 16:38:02 +0200
Artem Bityutskiy <dedekind1(a)gmail.com> wrote:

> On Wed, 2010-01-27 at 10:53 +0800, Américo Wang wrote:
> > > Well, it provides a few more ways of crashing the kernel. That's
> > > basically the only additional feature you'll get.
> >
> > Yeah, I can see that, but why do I need to care how I crash the kernel
> > as long as I can crash it in a way.
>
> But Simon did explain in his first e-mail why he cares. You or others
> might care for similar reasons.

Another argument for the patch is that it's simple and well-contained,
it doesn't touch any other code apart from the driver itself.

It is also easy to extend with other tests, e.g., provoking kernel
hangs to test watchdogs and so on.

// Simon
--
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: Andrew Morton on
On Fri, 29 Jan 2010 07:13:24 +0100 Simon Kagstrom <simon.kagstrom(a)netinsight.net> wrote:

> On Thu, 28 Jan 2010 16:38:02 +0200
> Artem Bityutskiy <dedekind1(a)gmail.com> wrote:
>
> > On Wed, 2010-01-27 at 10:53 +0800, Am__rico Wang wrote:
> > > > Well, it provides a few more ways of crashing the kernel. That's
> > > > basically the only additional feature you'll get.
> > >
> > > Yeah, I can see that, but why do I need to care how I crash the kernel
> > > as long as I can crash it in a way.
> >
> > But Simon did explain in his first e-mail why he cares. You or others
> > might care for similar reasons.
>
> Another argument for the patch is that it's simple and well-contained,
> it doesn't touch any other code apart from the driver itself.
>
> It is also easy to extend with other tests, e.g., provoking kernel
> hangs to test watchdogs and so on.
>

Yes, it's the sort of thing which lots of people have written
throw-away ad-hoc versions of. It probably makes sense to do it once,
do it right to save people from having to rererereinvent that wheel.

What do others think?
--
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: Eric W. Biederman on
Andrew Morton <akpm(a)linux-foundation.org> writes:

> On Fri, 29 Jan 2010 07:13:24 +0100 Simon Kagstrom <simon.kagstrom(a)netinsight.net> wrote:
>
>> On Thu, 28 Jan 2010 16:38:02 +0200
>> Artem Bityutskiy <dedekind1(a)gmail.com> wrote:
>>
>> > On Wed, 2010-01-27 at 10:53 +0800, Am__rico Wang wrote:
>> > > > Well, it provides a few more ways of crashing the kernel. That's
>> > > > basically the only additional feature you'll get.
>> > >
>> > > Yeah, I can see that, but why do I need to care how I crash the kernel
>> > > as long as I can crash it in a way.
>> >
>> > But Simon did explain in his first e-mail why he cares. You or others
>> > might care for similar reasons.
>>
>> Another argument for the patch is that it's simple and well-contained,
>> it doesn't touch any other code apart from the driver itself.
>>
>> It is also easy to extend with other tests, e.g., provoking kernel
>> hangs to test watchdogs and so on.
>>
>
> Yes, it's the sort of thing which lots of people have written
> throw-away ad-hoc versions of. It probably makes sense to do it once,
> do it right to save people from having to rererereinvent that wheel.
>
> What do others think?

I think it makes sense, and in fact we have already merged one attempt
at doing this generically. drivers/misc/lkdtm.c

I think Simon's patch adds some additional interesting failure modes.
write_after_free, corrupt_stack_write, unaligned_load_store.

Simon is there any chance you can change your patch to an enhancement of lkdtm?

lkdtm actually digs into the interesting failure points with a jprobe
to trigger the harder to reproduce scenarios. Like stack overflow in
an interrupt handler.

Eric
--
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: Simon Kagstrom on
On Mon, 01 Feb 2010 20:16:46 -0800
ebiederm(a)xmission.com (Eric W. Biederman) wrote:

> Andrew Morton <akpm(a)linux-foundation.org> writes:

> > Yes, it's the sort of thing which lots of people have written
> > throw-away ad-hoc versions of. It probably makes sense to do it once,
> > do it right to save people from having to rererereinvent that wheel.
> >
> > What do others think?
>
> I think it makes sense, and in fact we have already merged one attempt
> at doing this generically. drivers/misc/lkdtm.c

So this functionality was already there - it would appear that I didn't do my
research good enough then (I did actually look for this kind of thing).
If something, I guess it shows that the kernel source is getting big!

To add to the irony, I work for a company that works on "DTM", although
it's not related to this functionality :-)

> I think Simon's patch adds some additional interesting failure modes.
> write_after_free, corrupt_stack_write, unaligned_load_store.
>
> Simon is there any chance you can change your patch to an enhancement of lkdtm?
>
> lkdtm actually digs into the interesting failure points with a jprobe
> to trigger the harder to reproduce scenarios. Like stack overflow in
> an interrupt handler.

Yes, this would be a better way of supporting the crash functionality.
I'll take a look on integrating the extra tests into lkdtm.

I think it would also be good to provide a debugfs interface to lkdtm
similar to what provoke-crash has. Right now you have to set it up via
module parameters, and for some tests (write_after_free) I think that's
a limitation since it often doesn't crash immediately.

// Simon
--
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/