LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
* [Announce] LPC 2018: Testing and Fuzzing Microconference
@ 2018-09-19 17:14 Dhaval Giani
  2018-10-02 20:22 ` Liam R. Howlett
                   ` (2 more replies)
  0 siblings, 3 replies; 20+ messages in thread
From: Dhaval Giani @ 2018-09-19 17:14 UTC (permalink / raw)
  To: alexander.levin, LKML, gregkh, alice.ferrazzi, Kevin Hilman,
	Tim Bird, dvyukov, Laura Abbott, Steven Rostedt, gustavo.padovan,
	Carpenter,Dan, willy, knut.omang

Hi folks,

Sasha and I are pleased to announce the Testing and Fuzzing track at
LPC [ 1 ]. We are planning to continue the discussions from last
year's microconference [2]. Many discussions from the Automated
Testing Summit [3] will also continue, and a final agenda will come up
only soon after that.

Suggested Topics

- Syzbot/syzkaller
- ATS
- Distro/stable testing
- kernelci
- kernelci auto bisection
- Unit testing framework

We look forward to other interesting topics for this microconference
as a reply to this email.

Thanks!
Dhaval and Sasha

[1] https://blog.linuxplumbersconf.org/2018/testing-and-fuzzing-mc/
[2] https://lwn.net/Articles/735034/
[3] https://elinux.org/Automated_Testing_Summit

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [Announce] LPC 2018: Testing and Fuzzing Microconference
  2018-09-19 17:14 [Announce] LPC 2018: Testing and Fuzzing Microconference Dhaval Giani
@ 2018-10-02 20:22 ` Liam R. Howlett
  2018-10-02 21:03   ` Sasha Levin
  2018-10-16 19:46 ` Dan Carpenter
  2018-10-30 22:05 ` Knut Omang
  2 siblings, 1 reply; 20+ messages in thread
From: Liam R. Howlett @ 2018-10-02 20:22 UTC (permalink / raw)
  To: Dhaval Giani
  Cc: alexander.levin, LKML, gregkh, alice.ferrazzi, Kevin Hilman,
	Tim Bird, dvyukov, Laura Abbott, Steven Rostedt, gustavo.padovan,
	Carpenter,Dan, willy, knut.omang

* Dhaval Giani <dhaval.giani@gmail.com> [180919 13:15]:
> Hi folks,
> 
> Sasha and I are pleased to announce the Testing and Fuzzing track at
> LPC [ 1 ]. We are planning to continue the discussions from last
> year's microconference [2]. Many discussions from the Automated
> Testing Summit [3] will also continue, and a final agenda will come up
> only soon after that.
> 
> Suggested Topics
> 
> - Syzbot/syzkaller
> - ATS
> - Distro/stable testing
> - kernelci
> - kernelci auto bisection
> - Unit testing framework
> 
> We look forward to other interesting topics for this microconference
> as a reply to this email.
> 
> Thanks!
> Dhaval and Sasha
> 
> [1] https://blog.linuxplumbersconf.org/2018/testing-and-fuzzing-mc/
> [2] https://lwn.net/Articles/735034/
> [3] https://elinux.org/Automated_Testing_Summit


Hello,

I have a new way to analyze binaries to detect specific calls without
the need for source.  I would like to discuss Machine Code Trace
(MCTrace) at the Testing and Fuzzing LPC track.  MCTrace intercepts the
application prior to execution and does not rely on a specific user
input. It then decodes the machine instructions to follow all control
flows to their natural conclusions.  This includes control flows that go
beyond the boundaries of the static executable code into shared
libraries. This new technique avoids false positives which could be
produced by static analysis and includes paths that could be missed by
dynamic tracing.  This type of analysis could be useful in both testing
and fuzzing by providing a call graph to a given function.

MCTrace was initially designed to help generate the seccomp() filter
list, which is a whitelist/blacklist of system calls for a specific
application. Seccomp filters easily become outdated when the application
or shared library is updated. This can cause failures or security
issues [ 1 ].  Other potential uses including examining binary blobs,
vulnerability analysis, and debugging.

Thank you,
Liam R. Howlett

[1] https://lwn.net/Articles/738750/




^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [Announce] LPC 2018: Testing and Fuzzing Microconference
  2018-10-02 20:22 ` Liam R. Howlett
@ 2018-10-02 21:03   ` Sasha Levin
  2018-10-03 18:21     ` Dhaval Giani
  2018-10-03 19:16     ` Liam R. Howlett
  0 siblings, 2 replies; 20+ messages in thread
From: Sasha Levin @ 2018-10-02 21:03 UTC (permalink / raw)
  To: dhaval.giani, Sasha Levin, linux-kernel@vger.kernel.org List,
	Greg KH, alice.ferrazzi, khilman, tbird20d, Dmitry Vyukov,
	labbott, Steven Rostedt, gustavo.padovan, dan.carpenter, willy,
	knut.omang

On Tue, Oct 2, 2018 at 4:44 PM Liam R. Howlett <Liam.Howlett@oracle.com> wrote:
>
> * Dhaval Giani <dhaval.giani@gmail.com> [180919 13:15]:
> > Hi folks,
> >
> > Sasha and I are pleased to announce the Testing and Fuzzing track at
> > LPC [ 1 ]. We are planning to continue the discussions from last
> > year's microconference [2]. Many discussions from the Automated
> > Testing Summit [3] will also continue, and a final agenda will come up
> > only soon after that.
> >
> > Suggested Topics
> >
> > - Syzbot/syzkaller
> > - ATS
> > - Distro/stable testing
> > - kernelci
> > - kernelci auto bisection
> > - Unit testing framework
> >
> > We look forward to other interesting topics for this microconference
> > as a reply to this email.
> >
> > Thanks!
> > Dhaval and Sasha
> >
> > [1] https://blog.linuxplumbersconf.org/2018/testing-and-fuzzing-mc/
> > [2] https://lwn.net/Articles/735034/
> > [3] https://elinux.org/Automated_Testing_Summit
>
>
> Hello,
>
> I have a new way to analyze binaries to detect specific calls without
> the need for source.  I would like to discuss Machine Code Trace
> (MCTrace) at the Testing and Fuzzing LPC track.  MCTrace intercepts the
> application prior to execution and does not rely on a specific user
> input. It then decodes the machine instructions to follow all control
> flows to their natural conclusions.  This includes control flows that go
> beyond the boundaries of the static executable code into shared
> libraries. This new technique avoids false positives which could be
> produced by static analysis and includes paths that could be missed by
> dynamic tracing.  This type of analysis could be useful in both testing
> and fuzzing by providing a call graph to a given function.
>
> MCTrace was initially designed to help generate the seccomp() filter
> list, which is a whitelist/blacklist of system calls for a specific
> application. Seccomp filters easily become outdated when the application
> or shared library is updated. This can cause failures or security
> issues [ 1 ].  Other potential uses including examining binary blobs,
> vulnerability analysis, and debugging.

Hi Liam,

Is MCTrace available anywhere?


--
Thanks,
Sasha

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [Announce] LPC 2018: Testing and Fuzzing Microconference
  2018-10-02 21:03   ` Sasha Levin
@ 2018-10-03 18:21     ` Dhaval Giani
  2018-10-03 19:16     ` Liam R. Howlett
  1 sibling, 0 replies; 20+ messages in thread
From: Dhaval Giani @ 2018-10-03 18:21 UTC (permalink / raw)
  To: levinsasha928, Howlett,Liam
  Cc: alexander.levin, LKML, gregkh, Alice Ferrazzi, Kevin Hilman,
	Tim Bird, Dmitry Vyukov, Laura Abbott, Steven Rostedt,
	gustavo.padovan, Carpenter,Dan, willy, knut.omang

On Tue, Oct 2, 2018 at 2:03 PM Sasha Levin <levinsasha928@gmail.com> wrote:
>
> On Tue, Oct 2, 2018 at 4:44 PM Liam R. Howlett <Liam.Howlett@oracle.com> wrote:
> >
> > * Dhaval Giani <dhaval.giani@gmail.com> [180919 13:15]:
> > > Hi folks,
> > >
> > > Sasha and I are pleased to announce the Testing and Fuzzing track at
> > > LPC [ 1 ]. We are planning to continue the discussions from last
> > > year's microconference [2]. Many discussions from the Automated
> > > Testing Summit [3] will also continue, and a final agenda will come up
> > > only soon after that.
> > >
> > > Suggested Topics
> > >
> > > - Syzbot/syzkaller
> > > - ATS
> > > - Distro/stable testing
> > > - kernelci
> > > - kernelci auto bisection
> > > - Unit testing framework
> > >
> > > We look forward to other interesting topics for this microconference
> > > as a reply to this email.
> > >
> > > Thanks!
> > > Dhaval and Sasha
> > >
> > > [1] https://blog.linuxplumbersconf.org/2018/testing-and-fuzzing-mc/
> > > [2] https://lwn.net/Articles/735034/
> > > [3] https://elinux.org/Automated_Testing_Summit
> >
> >
> > Hello,
> >
> > I have a new way to analyze binaries to detect specific calls without
> > the need for source.  I would like to discuss Machine Code Trace
> > (MCTrace) at the Testing and Fuzzing LPC track.  MCTrace intercepts the
> > application prior to execution and does not rely on a specific user
> > input. It then decodes the machine instructions to follow all control
> > flows to their natural conclusions.  This includes control flows that go
> > beyond the boundaries of the static executable code into shared
> > libraries. This new technique avoids false positives which could be
> > produced by static analysis and includes paths that could be missed by
> > dynamic tracing.  This type of analysis could be useful in both testing
> > and fuzzing by providing a call graph to a given function.
> >
> > MCTrace was initially designed to help generate the seccomp() filter
> > list, which is a whitelist/blacklist of system calls for a specific
> > application. Seccomp filters easily become outdated when the application
> > or shared library is updated. This can cause failures or security
> > issues [ 1 ].  Other potential uses including examining binary blobs,
> > vulnerability analysis, and debugging.
>
> Hi Liam,
>
> Is MCTrace available anywhere?
>

Sasha,

McTrace is an early prototype, really needing a lot of feedback. I
will let Liam send more details (some how he got dropped from the cc)

Dhavla

>
> --
> Thanks,
> Sasha

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [Announce] LPC 2018: Testing and Fuzzing Microconference
  2018-10-02 21:03   ` Sasha Levin
  2018-10-03 18:21     ` Dhaval Giani
@ 2018-10-03 19:16     ` Liam R. Howlett
  2018-10-03 22:01       ` Sasha Levin
  1 sibling, 1 reply; 20+ messages in thread
From: Liam R. Howlett @ 2018-10-03 19:16 UTC (permalink / raw)
  To: Sasha Levin
  Cc: dhaval.giani, Sasha Levin, linux-kernel@vger.kernel.org List,
	Greg KH, alice.ferrazzi, khilman, tbird20d, Dmitry Vyukov,
	labbott, Steven Rostedt, gustavo.padovan, dan.carpenter, willy,
	knut.omang, Liam R. Howlett

* Sasha Levin <levinsasha928@gmail.com> [181002 17:03]:
> On Tue, Oct 2, 2018 at 4:44 PM Liam R. Howlett <Liam.Howlett@oracle.com> wrote:
> >
> > * Dhaval Giani <dhaval.giani@gmail.com> [180919 13:15]:
> > > Hi folks,
> > >
> > > Sasha and I are pleased to announce the Testing and Fuzzing track at
> > > LPC [ 1 ]. We are planning to continue the discussions from last
> > > year's microconference [2]. Many discussions from the Automated
> > > Testing Summit [3] will also continue, and a final agenda will come up
> > > only soon after that.
> > >
> > > Suggested Topics
> > >
> > > - Syzbot/syzkaller
> > > - ATS
> > > - Distro/stable testing
> > > - kernelci
> > > - kernelci auto bisection
> > > - Unit testing framework
> > >
> > > We look forward to other interesting topics for this microconference
> > > as a reply to this email.
> > >
> > > Thanks!
> > > Dhaval and Sasha
> > >
> > > [1] https://blog.linuxplumbersconf.org/2018/testing-and-fuzzing-mc/
> > > [2] https://lwn.net/Articles/735034/
> > > [3] https://elinux.org/Automated_Testing_Summit
> >
> >
> > Hello,
> >
> > I have a new way to analyze binaries to detect specific calls without
> > the need for source.  I would like to discuss Machine Code Trace
> > (MCTrace) at the Testing and Fuzzing LPC track.  MCTrace intercepts the
> > application prior to execution and does not rely on a specific user
> > input. It then decodes the machine instructions to follow all control
> > flows to their natural conclusions.  This includes control flows that go
> > beyond the boundaries of the static executable code into shared
> > libraries. This new technique avoids false positives which could be
> > produced by static analysis and includes paths that could be missed by
> > dynamic tracing.  This type of analysis could be useful in both testing
> > and fuzzing by providing a call graph to a given function.
> >
> > MCTrace was initially designed to help generate the seccomp() filter
> > list, which is a whitelist/blacklist of system calls for a specific
> > application. Seccomp filters easily become outdated when the application
> > or shared library is updated. This can cause failures or security
> > issues [ 1 ].  Other potential uses including examining binary blobs,
> > vulnerability analysis, and debugging.
> 
> Hi Liam,
> 
> Is MCTrace available anywhere?

Hello Sasha,

I missed this email as I was not CC'ed.

MCTrace is currently a proof-of-concept and the source is not available.
There are a number of instructions that need additional work, but I have
some test applications that can be analyzed.  I'd like to explain the
concept, why it is useful, and debate other potential uses.

Thank you,
Liam


^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [Announce] LPC 2018: Testing and Fuzzing Microconference
  2018-10-03 19:16     ` Liam R. Howlett
@ 2018-10-03 22:01       ` Sasha Levin
  0 siblings, 0 replies; 20+ messages in thread
From: Sasha Levin @ 2018-10-03 22:01 UTC (permalink / raw)
  To: Dhaval Giani, Sasha Levin, linux-kernel@vger.kernel.org List,
	Greg KH, Alice Ferrazzi, khilman, Tim Bird, Dmitry Vyukov,
	labbott, Steven Rostedt, gustavo.padovan, dan.carpenter, willy,
	knut.omang
  Cc: Liam.Howlett

On Wed, Oct 3, 2018 at 3:16 PM Liam R. Howlett <Liam.Howlett@oracle.com> wrote:
>
> * Sasha Levin <levinsasha928@gmail.com> [181002 17:03]:
> > On Tue, Oct 2, 2018 at 4:44 PM Liam R. Howlett <Liam.Howlett@oracle.com> wrote:
> > >
> > > * Dhaval Giani <dhaval.giani@gmail.com> [180919 13:15]:
> > > > Hi folks,
> > > >
> > > > Sasha and I are pleased to announce the Testing and Fuzzing track at
> > > > LPC [ 1 ]. We are planning to continue the discussions from last
> > > > year's microconference [2]. Many discussions from the Automated
> > > > Testing Summit [3] will also continue, and a final agenda will come up
> > > > only soon after that.
> > > >
> > > > Suggested Topics
> > > >
> > > > - Syzbot/syzkaller
> > > > - ATS
> > > > - Distro/stable testing
> > > > - kernelci
> > > > - kernelci auto bisection
> > > > - Unit testing framework
> > > >
> > > > We look forward to other interesting topics for this microconference
> > > > as a reply to this email.
> > > >
> > > > Thanks!
> > > > Dhaval and Sasha
> > > >
> > > > [1] https://blog.linuxplumbersconf.org/2018/testing-and-fuzzing-mc/
> > > > [2] https://lwn.net/Articles/735034/
> > > > [3] https://elinux.org/Automated_Testing_Summit
> > >
> > >
> > > Hello,
> > >
> > > I have a new way to analyze binaries to detect specific calls without
> > > the need for source.  I would like to discuss Machine Code Trace
> > > (MCTrace) at the Testing and Fuzzing LPC track.  MCTrace intercepts the
> > > application prior to execution and does not rely on a specific user
> > > input. It then decodes the machine instructions to follow all control
> > > flows to their natural conclusions.  This includes control flows that go
> > > beyond the boundaries of the static executable code into shared
> > > libraries. This new technique avoids false positives which could be
> > > produced by static analysis and includes paths that could be missed by
> > > dynamic tracing.  This type of analysis could be useful in both testing
> > > and fuzzing by providing a call graph to a given function.
> > >
> > > MCTrace was initially designed to help generate the seccomp() filter
> > > list, which is a whitelist/blacklist of system calls for a specific
> > > application. Seccomp filters easily become outdated when the application
> > > or shared library is updated. This can cause failures or security
> > > issues [ 1 ].  Other potential uses including examining binary blobs,
> > > vulnerability analysis, and debugging.
> >
> > Hi Liam,
> >
> > Is MCTrace available anywhere?
>
> Hello Sasha,
>
> I missed this email as I was not CC'ed.

Sorry about that, I must have messed something up.

> MCTrace is currently a proof-of-concept and the source is not available.

What is the reason behind it not being available?

> There are a number of instructions that need additional work, but I have
> some test applications that can be analyzed.  I'd like to explain the
> concept, why it is useful, and debate other potential uses.

I have 2 concerns here:

1. This is an interesting new field to explore but since no one is
familiar with how this works, nor anyone can actually play and tinker
with it, I suspect that the ~30 min you'll have to discuss it will be
spent on describing how it works and answering basic questions. This
seems like a better fit for a refereed track session rather than MC.

2. In general, I don't think we can or should discuss a closed source
project. Sure, we can discuss the concept itself, but in that case I
don't see how it will benefit the community.

--
Thanks,
Sasha

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [Announce] LPC 2018: Testing and Fuzzing Microconference
  2018-09-19 17:14 [Announce] LPC 2018: Testing and Fuzzing Microconference Dhaval Giani
  2018-10-02 20:22 ` Liam R. Howlett
@ 2018-10-16 19:46 ` Dan Carpenter
  2018-10-30 22:05 ` Knut Omang
  2 siblings, 0 replies; 20+ messages in thread
From: Dan Carpenter @ 2018-10-16 19:46 UTC (permalink / raw)
  To: Dhaval Giani
  Cc: alexander.levin, LKML, gregkh, alice.ferrazzi, Kevin Hilman,
	Tim Bird, dvyukov, Laura Abbott, Steven Rostedt, gustavo.padovan,
	willy, knut.omang

I would like to talk about Smatch, if I could.  Especially the Spectre
work and the improvements to cross function tracking.

regards,
dan carpenter

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [Announce] LPC 2018: Testing and Fuzzing Microconference
  2018-09-19 17:14 [Announce] LPC 2018: Testing and Fuzzing Microconference Dhaval Giani
  2018-10-02 20:22 ` Liam R. Howlett
  2018-10-16 19:46 ` Dan Carpenter
@ 2018-10-30 22:05 ` Knut Omang
  2 siblings, 0 replies; 20+ messages in thread
From: Knut Omang @ 2018-10-30 22:05 UTC (permalink / raw)
  To: Dhaval Giani, alexander.levin, LKML, gregkh, alice.ferrazzi,
	Kevin Hilman, Tim Bird, dvyukov, Laura Abbott, Steven Rostedt,
	gustavo.padovan, Carpenter,Dan, willy

On Wed, 2018-09-19 at 10:14 -0700, Dhaval Giani wrote:
> Hi folks,
> 
> Sasha and I are pleased to announce the Testing and Fuzzing track at
> LPC [ 1 ]. We are planning to continue the discussions from last
> year's microconference [2]. Many discussions from the Automated
> Testing Summit [3] will also continue, and a final agenda will come up
> only soon after that.
> 
> Suggested Topics
> 
> - Syzbot/syzkaller
> - ATS
> - Distro/stable testing
> - kernelci
> - kernelci auto bisection
> - Unit testing framework
> 
> We look forward to other interesting topics for this microconference
> as a reply to this email.
> 
> Thanks!
> Dhaval and Sasha
> 
> [1] https://blog.linuxplumbersconf.org/2018/testing-and-fuzzing-mc/
> [2] https://lwn.net/Articles/735034/
> [3] https://elinux.org/Automated_Testing_Summit

Hi,

I'd like to make a short case for my "runchecks" enhancement to 'make C={1,2}' which is
the result of a discussion on the kernel mailing list last winter, to see how it can be
brought forward. It allows simple configuration to run one or more tools like checkpatch,
sparse, smatch and documentation checking with selective suppression of certain classes of
issues, to enable automated testing even when not all issues have been resolved - see
mailing list threads here:

https://lkml.org/lkml/2017/12/16/135
https://patchwork.kernel.org/patch/10174967/

Thanks,
Knut


^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [Announce] LPC 2018: Testing and Fuzzing Microconference
  2018-11-08 16:30   ` Dhaval Giani
@ 2018-11-08 18:12     ` Kevin Hilman
  0 siblings, 0 replies; 20+ messages in thread
From: Kevin Hilman @ 2018-11-08 18:12 UTC (permalink / raw)
  To: Dhaval Giani, gustavo.padovan
  Cc: Sasha Levin, LKML, gregkh, Alice Ferrazzi, Tim Bird,
	Dmitry Vyukov, Laura Abbott, Steven Rostedt, Carpenter,Dan,
	willy, knut.omang

Dhaval Giani <dhaval.giani@gmail.com> writes:

> On Mon, Nov 5, 2018 at 10:05 AM Gustavo Padovan
> <gustavo.padovan@collabora.com> wrote:
>>
>> Hi Dhaval,
>>
>> On 9/19/18 7:13 PM, Dhaval Giani wrote:
>> > Hi folks,
>> >
>> > Sasha and I are pleased to announce the Testing and Fuzzing track at
>> > LPC [ 1 ]. We are planning to continue the discussions from last
>> > year's microconference [2]. Many discussions from the Automated
>> > Testing Summit [3] will also continue, and a final agenda will come up
>> > only soon after that.
>> >
>> > Suggested Topics
>> >
>> > - Syzbot/syzkaller
>> > - ATS
>> > - Distro/stable testing
>> > - kernelci
>> > - kernelci auto bisection
>>
>> Having 2 kernelci talks don't make too much sense, I discussed with
>> Kevin and we thing it would be a good idea to merge them together. Could
>> you do that?
>>
>
> OK, we can make that happen. 45 minutes for the 2 combined topics?
>

Yes, that will be enough.

Thanks,

Kevin


^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [Announce] LPC 2018: Testing and Fuzzing Microconference
  2018-11-05 18:05 ` Gustavo Padovan
@ 2018-11-08 16:30   ` Dhaval Giani
  2018-11-08 18:12     ` Kevin Hilman
  0 siblings, 1 reply; 20+ messages in thread
From: Dhaval Giani @ 2018-11-08 16:30 UTC (permalink / raw)
  To: gustavo.padovan
  Cc: Sasha Levin, LKML, gregkh, Alice Ferrazzi, Kevin Hilman,
	Tim Bird, Dmitry Vyukov, Laura Abbott, Steven Rostedt,
	Carpenter,Dan, willy, knut.omang

On Mon, Nov 5, 2018 at 10:05 AM Gustavo Padovan
<gustavo.padovan@collabora.com> wrote:
>
> Hi Dhaval,
>
> On 9/19/18 7:13 PM, Dhaval Giani wrote:
> > Hi folks,
> >
> > Sasha and I are pleased to announce the Testing and Fuzzing track at
> > LPC [ 1 ]. We are planning to continue the discussions from last
> > year's microconference [2]. Many discussions from the Automated
> > Testing Summit [3] will also continue, and a final agenda will come up
> > only soon after that.
> >
> > Suggested Topics
> >
> > - Syzbot/syzkaller
> > - ATS
> > - Distro/stable testing
> > - kernelci
> > - kernelci auto bisection
>
> Having 2 kernelci talks don't make too much sense, I discussed with
> Kevin and we thing it would be a good idea to merge them together. Could
> you do that?
>

OK, we can make that happen. 45 minutes for the 2 combined topics?

> Thanks,
>
> Gustavo
>
>
> Gustavo Padovan
> Collabora Ltd
>

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [Announce] LPC 2018: Testing and Fuzzing Microconference
       [not found] <CAPhKKr_XFzGcBBuQ51w7HjZd_Kq3nTOB6uAFG2vP5JH+Vx_eng@mail.gmail.com>
  2018-09-22 12:52 ` Matthew Wilcox
  2018-10-08 17:02 ` Dmitry Vyukov
@ 2018-11-05 18:05 ` Gustavo Padovan
  2018-11-08 16:30   ` Dhaval Giani
  2 siblings, 1 reply; 20+ messages in thread
From: Gustavo Padovan @ 2018-11-05 18:05 UTC (permalink / raw)
  To: Dhaval Giani, alexander.levin, LKML, gregkh, alice.ferrazzi,
	Kevin Hilman, Tim Bird, dvyukov, Laura Abbott, Steven Rostedt,
	Carpenter,Dan, willy, knut.omang

Hi Dhaval,

On 9/19/18 7:13 PM, Dhaval Giani wrote:
> Hi folks,
>
> Sasha and I are pleased to announce the Testing and Fuzzing track at
> LPC [ 1 ]. We are planning to continue the discussions from last
> year's microconference [2]. Many discussions from the Automated
> Testing Summit [3] will also continue, and a final agenda will come up
> only soon after that.
>
> Suggested Topics
>
> - Syzbot/syzkaller
> - ATS
> - Distro/stable testing
> - kernelci
> - kernelci auto bisection

Having 2 kernelci talks don't make too much sense, I discussed with 
Kevin and we thing it would be a good idea to merge them together. Could 
you do that?

Thanks,

Gustavo


Gustavo Padovan
Collabora Ltd


^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [Announce] LPC 2018: Testing and Fuzzing Microconference
  2018-10-11  9:41         ` Dmitry Vyukov
@ 2018-10-11 13:40           ` Steven Rostedt
  0 siblings, 0 replies; 20+ messages in thread
From: Steven Rostedt @ 2018-10-11 13:40 UTC (permalink / raw)
  To: Dmitry Vyukov
  Cc: Dhaval Giani, Paul McKenney, Sasha Levin, LKML,
	Greg Kroah-Hartman, Alice Ferrazzi, Kevin Hilman, Tim Bird,
	Laura Abbott, gustavo.padovan, Carpenter,Dan, Matthew Wilcox,
	knut.omang, Sergey Senozhatsky

On Thu, 11 Oct 2018 11:41:47 +0200
Dmitry Vyukov <dvyukov@google.com> wrote:

> >
> > Hi Steven, Dhaval,
> >
> > Acknowledged.
> >
> > Then smaller topic that would benefit from discussion are:
> >
> > the main one being:
> >
> > 1. syzbot: developer process; unfixed bugs; bug triage; what's
> > working? what's not? why? how can we make more parts work? collecting
> > feedback  
> 
> +Paul as Plumbers committee representative
> And +Greg is already here as Kernel Summit representative
> 
> Re syzbot talk (around process and feedback).
> I've submitted this as proposal to Plumbers, it did not make it to
> main track but it's in backlog (I am a reserve speaker).
> Sergey suggested to submit this as proposal for Kernel Summit TECH
> TOPIC. It would probably benefit from more kernel maintainers in the
> room.
> 
> Now I am somewhat troubled, if I submit the talk for Kernel Summit and
> then suddenly I materialize as speaker on Plumbers too. It's not a
> good idea to do the same talk twice, right?

Why not, it's been done before :-)

> The questions are:
> 1. Is it a good fit for Kernel Summit TECH TOPIC?
> 2. What should I do if I suddenly accepted to both Summit and
> Plumbers? I probably could prepare a second, different talk for
> Plumbers then (it wasn't announced yet).
> 3. If the talk is accepted to Summit, what should we do with Testing
> MC part? Withdraw?

If this is a discussion topic, and you get accepted as a plumbers talk,
here's what I would do:

1. Have a talk (full presentation) ready to give at the plumbers track.
The Refereed Track is presentation style. Here you will be able to
explain in details what the issues are, and explain your own ideas.

2. For the plumbers MC, have something ready to give a quick overview
of what the issues are and what you think needs to get done. This is a
good way to get feed back from people, and use the time for discussions.

3. If you also get a Kernel Summit track accepted, I find that this is
somewhat in between a full presentation and a full discussion base of a
MC. Here, I would focus on details focusing on the kernel, and what you
would like to discuss with kernel developers specifically (note, I'm
sure the plumbers MC room will also be filled with kernel developers).

In other words, you can have three talks about the same topic, but all
addressing different aspects of that topic in different ways. That's
perfectly fine to do (I did this in Prague, I had 3 talks about printk!)

-- Steve


> 
> 
> > 2. how to increase test coverage/find more bugs, in particular:
> >  - adding manual spot KASAN/KMSAN checks into kernel codebase
> >  - stubbing hardware/external inputs to kernel for testing
> >  - description of kernel interfaces (again)
> >
> > 3. dealing with kernel console output mess
> >  - intermixed/split lines
> >  - understand when/how kernel crashed
> >  - and where is that message
> >  - crash identity  


^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [Announce] LPC 2018: Testing and Fuzzing Microconference
  2018-10-11  8:54       ` Dmitry Vyukov
@ 2018-10-11  9:41         ` Dmitry Vyukov
  2018-10-11 13:40           ` Steven Rostedt
  0 siblings, 1 reply; 20+ messages in thread
From: Dmitry Vyukov @ 2018-10-11  9:41 UTC (permalink / raw)
  To: Dhaval Giani, Paul McKenney
  Cc: Steven Rostedt, Sasha Levin, LKML, Greg Kroah-Hartman,
	Alice Ferrazzi, Kevin Hilman, Tim Bird, Laura Abbott,
	gustavo.padovan, Carpenter,Dan, Matthew Wilcox, knut.omang,
	Sergey Senozhatsky

On Thu, Oct 11, 2018 at 10:54 AM, Dmitry Vyukov <dvyukov@google.com> wrote:
>>> On Mon, 8 Oct 2018 19:02:51 +0200
>>> Dmitry Vyukov <dvyukov@google.com> wrote:
>>>
>>> > On Wed, Sep 19, 2018 at 7:13 PM, Dhaval Giani <dhaval.giani@gmail.com> wrote:
>>> > > Hi folks,
>>> > >
>>> > > Sasha and I are pleased to announce the Testing and Fuzzing track at
>>> > > LPC [ 1 ]. We are planning to continue the discussions from last
>>> > > year's microconference [2]. Many discussions from the Automated
>>> > > Testing Summit [3] will also continue, and a final agenda will come up
>>> > > only soon after that.
>>> > >
>>> > > Suggested Topics
>>> > >
>>> > > - Syzbot/syzkaller
>>> > > - ATS
>>> > > - Distro/stable testing
>>> > > - kernelci
>>> > > - kernelci auto bisection
>>> > > - Unit testing framework
>>> > >
>>> > > We look forward to other interesting topics for this microconference
>>> > > as a reply to this email.
>>> >
>>> > Hi Dhaval and Sasha,
>>> >
>>> > My syzbot talk wasn't accepted to main track, so I would like to do
>>> > more or less full-fledged talk on the microconf. Is it possible?
>>>
>>> Hi Dmitry,
>>>
>>> Note, microconfs are not for full-fledged talks. They are to be
>>> discussion focused. You can have a 5-10 minute presentation that leads
>>> up to discussion of future work, but we like to refrain from any talks
>>> about what was done if there's nothing to go forward with.
>>
>> Dmitiry,
>>
>> Can you clarify the scope of what you want to discuss during the
>> microconference? Further to what Steven said, we don't want
>> presentations (So 3, maybe 4 slides). We want discussions about future
>> work.
>>
>> Thanks!
>> Dhaval
>
>
> Hi Steven, Dhaval,
>
> Acknowledged.
>
> Then smaller topic that would benefit from discussion are:
>
> the main one being:
>
> 1. syzbot: developer process; unfixed bugs; bug triage; what's
> working? what's not? why? how can we make more parts work? collecting
> feedback

+Paul as Plumbers committee representative
And +Greg is already here as Kernel Summit representative

Re syzbot talk (around process and feedback).
I've submitted this as proposal to Plumbers, it did not make it to
main track but it's in backlog (I am a reserve speaker).
Sergey suggested to submit this as proposal for Kernel Summit TECH
TOPIC. It would probably benefit from more kernel maintainers in the
room.

Now I am somewhat troubled, if I submit the talk for Kernel Summit and
then suddenly I materialize as speaker on Plumbers too. It's not a
good idea to do the same talk twice, right?
The questions are:
1. Is it a good fit for Kernel Summit TECH TOPIC?
2. What should I do if I suddenly accepted to both Summit and
Plumbers? I probably could prepare a second, different talk for
Plumbers then (it wasn't announced yet).
3. If the talk is accepted to Summit, what should we do with Testing
MC part? Withdraw?


> 2. how to increase test coverage/find more bugs, in particular:
>  - adding manual spot KASAN/KMSAN checks into kernel codebase
>  - stubbing hardware/external inputs to kernel for testing
>  - description of kernel interfaces (again)
>
> 3. dealing with kernel console output mess
>  - intermixed/split lines
>  - understand when/how kernel crashed
>  - and where is that message
>  - crash identity

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [Announce] LPC 2018: Testing and Fuzzing Microconference
  2018-10-10 15:47     ` Dhaval Giani
@ 2018-10-11  8:54       ` Dmitry Vyukov
  2018-10-11  9:41         ` Dmitry Vyukov
  0 siblings, 1 reply; 20+ messages in thread
From: Dmitry Vyukov @ 2018-10-11  8:54 UTC (permalink / raw)
  To: Dhaval Giani
  Cc: Steven Rostedt, Sasha Levin, LKML, Greg Kroah-Hartman,
	Alice Ferrazzi, Kevin Hilman, Tim Bird, Laura Abbott,
	gustavo.padovan, Carpenter,Dan, Matthew Wilcox, knut.omang

On Wed, Oct 10, 2018 at 5:47 PM, Dhaval Giani <dhaval.giani@gmail.com> wrote:
> On Mon, Oct 8, 2018 at 11:23 AM Steven Rostedt <rostedt@goodmis.org> wrote:
>>
>> On Mon, 8 Oct 2018 19:02:51 +0200
>> Dmitry Vyukov <dvyukov@google.com> wrote:
>>
>> > On Wed, Sep 19, 2018 at 7:13 PM, Dhaval Giani <dhaval.giani@gmail.com> wrote:
>> > > Hi folks,
>> > >
>> > > Sasha and I are pleased to announce the Testing and Fuzzing track at
>> > > LPC [ 1 ]. We are planning to continue the discussions from last
>> > > year's microconference [2]. Many discussions from the Automated
>> > > Testing Summit [3] will also continue, and a final agenda will come up
>> > > only soon after that.
>> > >
>> > > Suggested Topics
>> > >
>> > > - Syzbot/syzkaller
>> > > - ATS
>> > > - Distro/stable testing
>> > > - kernelci
>> > > - kernelci auto bisection
>> > > - Unit testing framework
>> > >
>> > > We look forward to other interesting topics for this microconference
>> > > as a reply to this email.
>> >
>> > Hi Dhaval and Sasha,
>> >
>> > My syzbot talk wasn't accepted to main track, so I would like to do
>> > more or less full-fledged talk on the microconf. Is it possible?
>>
>> Hi Dmitry,
>>
>> Note, microconfs are not for full-fledged talks. They are to be
>> discussion focused. You can have a 5-10 minute presentation that leads
>> up to discussion of future work, but we like to refrain from any talks
>> about what was done if there's nothing to go forward with.
>
> Dmitiry,
>
> Can you clarify the scope of what you want to discuss during the
> microconference? Further to what Steven said, we don't want
> presentations (So 3, maybe 4 slides). We want discussions about future
> work.
>
> Thanks!
> Dhaval


Hi Steven, Dhaval,

Acknowledged.

Then smaller topic that would benefit from discussion are:

the main one being:

1. syzbot: developer process; unfixed bugs; bug triage; what's
working? what's not? why? how can we make more parts work? collecting
feedback

2. how to increase test coverage/find more bugs, in particular:
 - adding manual spot KASAN/KMSAN checks into kernel codebase
 - stubbing hardware/external inputs to kernel for testing
 - description of kernel interfaces (again)

3. dealing with kernel console output mess
 - intermixed/split lines
 - understand when/how kernel crashed
 - and where is that message
 - crash identity

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [Announce] LPC 2018: Testing and Fuzzing Microconference
  2018-10-08 18:23   ` Steven Rostedt
@ 2018-10-10 15:47     ` Dhaval Giani
  2018-10-11  8:54       ` Dmitry Vyukov
  0 siblings, 1 reply; 20+ messages in thread
From: Dhaval Giani @ 2018-10-10 15:47 UTC (permalink / raw)
  To: Steven Rostedt
  Cc: Dmitry Vyukov, Sasha Levin, LKML, gregkh, Alice Ferrazzi,
	Kevin Hilman, Tim Bird, Laura Abbott, gustavo.padovan,
	Carpenter,Dan, willy, knut.omang

On Mon, Oct 8, 2018 at 11:23 AM Steven Rostedt <rostedt@goodmis.org> wrote:
>
> On Mon, 8 Oct 2018 19:02:51 +0200
> Dmitry Vyukov <dvyukov@google.com> wrote:
>
> > On Wed, Sep 19, 2018 at 7:13 PM, Dhaval Giani <dhaval.giani@gmail.com> wrote:
> > > Hi folks,
> > >
> > > Sasha and I are pleased to announce the Testing and Fuzzing track at
> > > LPC [ 1 ]. We are planning to continue the discussions from last
> > > year's microconference [2]. Many discussions from the Automated
> > > Testing Summit [3] will also continue, and a final agenda will come up
> > > only soon after that.
> > >
> > > Suggested Topics
> > >
> > > - Syzbot/syzkaller
> > > - ATS
> > > - Distro/stable testing
> > > - kernelci
> > > - kernelci auto bisection
> > > - Unit testing framework
> > >
> > > We look forward to other interesting topics for this microconference
> > > as a reply to this email.
> >
> > Hi Dhaval and Sasha,
> >
> > My syzbot talk wasn't accepted to main track, so I would like to do
> > more or less full-fledged talk on the microconf. Is it possible?
>
> Hi Dmitry,
>
> Note, microconfs are not for full-fledged talks. They are to be
> discussion focused. You can have a 5-10 minute presentation that leads
> up to discussion of future work, but we like to refrain from any talks
> about what was done if there's nothing to go forward with.

Dmitiry,

Can you clarify the scope of what you want to discuss during the
microconference? Further to what Steven said, we don't want
presentations (So 3, maybe 4 slides). We want discussions about future
work.

Thanks!
Dhaval

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [Announce] LPC 2018: Testing and Fuzzing Microconference
  2018-10-08 17:02 ` Dmitry Vyukov
@ 2018-10-08 18:23   ` Steven Rostedt
  2018-10-10 15:47     ` Dhaval Giani
  0 siblings, 1 reply; 20+ messages in thread
From: Steven Rostedt @ 2018-10-08 18:23 UTC (permalink / raw)
  To: Dmitry Vyukov
  Cc: Dhaval Giani, Sasha Levin, LKML, Greg Kroah-Hartman,
	Alice Ferrazzi, Kevin Hilman, Tim Bird, Laura Abbott,
	gustavo.padovan, Carpenter,Dan, Matthew Wilcox, knut.omang

On Mon, 8 Oct 2018 19:02:51 +0200
Dmitry Vyukov <dvyukov@google.com> wrote:

> On Wed, Sep 19, 2018 at 7:13 PM, Dhaval Giani <dhaval.giani@gmail.com> wrote:
> > Hi folks,
> >
> > Sasha and I are pleased to announce the Testing and Fuzzing track at
> > LPC [ 1 ]. We are planning to continue the discussions from last
> > year's microconference [2]. Many discussions from the Automated
> > Testing Summit [3] will also continue, and a final agenda will come up
> > only soon after that.
> >
> > Suggested Topics
> >
> > - Syzbot/syzkaller
> > - ATS
> > - Distro/stable testing
> > - kernelci
> > - kernelci auto bisection
> > - Unit testing framework
> >
> > We look forward to other interesting topics for this microconference
> > as a reply to this email.  
> 
> Hi Dhaval and Sasha,
> 
> My syzbot talk wasn't accepted to main track, so I would like to do
> more or less full-fledged talk on the microconf. Is it possible?

Hi Dmitry,

Note, microconfs are not for full-fledged talks. They are to be
discussion focused. You can have a 5-10 minute presentation that leads
up to discussion of future work, but we like to refrain from any talks
about what was done if there's nothing to go forward with.

-- Steve

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [Announce] LPC 2018: Testing and Fuzzing Microconference
       [not found] <CAPhKKr_XFzGcBBuQ51w7HjZd_Kq3nTOB6uAFG2vP5JH+Vx_eng@mail.gmail.com>
  2018-09-22 12:52 ` Matthew Wilcox
@ 2018-10-08 17:02 ` Dmitry Vyukov
  2018-10-08 18:23   ` Steven Rostedt
  2018-11-05 18:05 ` Gustavo Padovan
  2 siblings, 1 reply; 20+ messages in thread
From: Dmitry Vyukov @ 2018-10-08 17:02 UTC (permalink / raw)
  To: Dhaval Giani
  Cc: Sasha Levin, LKML, Greg Kroah-Hartman, Alice Ferrazzi,
	Kevin Hilman, Tim Bird, Laura Abbott, Steven Rostedt,
	gustavo.padovan, Carpenter,Dan, Matthew Wilcox, knut.omang

On Wed, Sep 19, 2018 at 7:13 PM, Dhaval Giani <dhaval.giani@gmail.com> wrote:
> Hi folks,
>
> Sasha and I are pleased to announce the Testing and Fuzzing track at
> LPC [ 1 ]. We are planning to continue the discussions from last
> year's microconference [2]. Many discussions from the Automated
> Testing Summit [3] will also continue, and a final agenda will come up
> only soon after that.
>
> Suggested Topics
>
> - Syzbot/syzkaller
> - ATS
> - Distro/stable testing
> - kernelci
> - kernelci auto bisection
> - Unit testing framework
>
> We look forward to other interesting topics for this microconference
> as a reply to this email.

Hi Dhaval and Sasha,

My syzbot talk wasn't accepted to main track, so I would like to do
more or less full-fledged talk on the microconf. Is it possible?

Thanks

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [Announce] LPC 2018: Testing and Fuzzing Microconference
  2018-09-24 13:42   ` Dmitry Vyukov
@ 2018-09-24 15:56     ` Knut Omang
  0 siblings, 0 replies; 20+ messages in thread
From: Knut Omang @ 2018-09-24 15:56 UTC (permalink / raw)
  To: Dmitry Vyukov, Matthew Wilcox
  Cc: Dhaval Giani, Sasha Levin, LKML, Greg Kroah-Hartman,
	alice.ferrazzi, Kevin Hilman, Tim Bird, Laura Abbott,
	Steven Rostedt, gustavo.padovan, Carpenter,Dan

On Mon, 2018-09-24 at 15:42 +0200, Dmitry Vyukov wrote:
> On Sat, Sep 22, 2018 at 2:52 PM, Matthew Wilcox <willy@infradead.org> wrote:
> > On Wed, Sep 19, 2018 at 10:13:15AM -0700, Dhaval Giani wrote:
> >> Sasha and I are pleased to announce the Testing and Fuzzing track at
> >> LPC [ 1 ]. We are planning to continue the discussions from last
> >> year's microconference [2]. Many discussions from the Automated
> >> Testing Summit [3] will also continue, and a final agenda will come up
> >> only soon after that.
> >>
> >> Suggested Topics
> >>
> >> - Syzbot/syzkaller
> >> - ATS
> >> - Distro/stable testing
> >> - kernelci
> >> - kernelci auto bisection
> >> - Unit testing framework
> >>
> >> We look forward to other interesting topics for this microconference
> >> as a reply to this email.
> >
> > I would like to talk about the IDA test suite that was recently merged.
> > See lib/test_ida.c.  It can be built as a module (CONFIG_TEST_IDA=m),
> > built-in (=y) or built in userspace (as part of the radix tree test
> > suite for historical reasons) along with the current kernel code.
> >
> > Being able to build the test suite in userspace allows for much more
> > rapid development.  Building it in kernel space offers testing across
> > a wide range of configurations that I don't have access to and can't
> > necessarily simulate well in userspace.
> >
> > My userspace implementation of kmalloc() simulates failures (in a rather
> > heavy-handed way; every non-GFP_KERNEL allocation fails).  That's rather
> > harder to simulate in kernel space.  I'd like there to be a way for a
> > kernel space test suite to ask for kmalloc failures so that the failure
> > paths can be tested.
> 
> Hi Matthew,
> 
> kmalloc fault injection is already implemented with
> CONFIG_FAULT_INJECTION. For original fault injection, you more-or-less
> ask to fail X% of allocations at random. It's great for testing
> servers for stability, but not so well suited for testing. Recently
> I've added so-called "systematic" fault injection
> (/proc/thread-self/fail-nth) which is perfect for unit testing. It
> allows to ask to fail N-th allocation request in the current task. So
> a unit test for a syscall can do:
> 
> for (i = 0;; i++) {
>   write(/proc/thread-self/fail-nth, i);
>   syscall_under_test();
>   if (read(/proc/thread-self/fail-nth) != 0)
>     break;
> }
> 
> which allows to examine each failure site one-by-one systematically
> (without making random processes on the machine fail too).
> 
> 
> > I think the idea of building parts of the core kernel libraries in
> > userspace and testing them there has greater generality than just the
> > IDA, IDR, XArray & radix tree and might profitably be adopted by other
> > parts of lib/.  The userspace simulation of other parts of the kernel
> > may well need to be extended.
> 
> This would be great. Besides providing faster turn-around time, this
> allow us to finally have something like:
> 
> make test [subsystem]
> 
> which will run all tests for the subsystem locally (in parallel,
> giving final OK/FAIL). This is not possible to in-kernel tests,
> because they require a machine and an image, and it's not possible to
> support everything that people use.

With KTF (https://github.com/oracle/ktf) we are using kprobes to inject 
modifying behaviour (by modifying a function's return value or input).

To cater for the needs for failover testing from user space, our approach 
is what we call "hybrid tests", where parts of the test execute in user land and 
parts of the test execute in the kernel. 

One limitation with config based test functionality is that it requires
rebuilding the kernel to enable the functionality. I think having the tests
available for running even on pre-existing kernels can be of great value.

I agree with Matthew in that there's good time savings to be made to be
able to "lift" code out of the kernel and execute it completely in user space.
The challenge is to be able to compile the kernel code in user land unmodified. 
The pieces under lib/ is probably the easiest ones since they have few 
dependencies on other kernel components.

If interesting, I could say a few words in this context about some work I did 
to allow me to run the Infiniband driver I was working on - and also developed 
the precursor of KTF for 
(https://github.com/oracle/linux-uek/tree/uek4/master/drivers/infiniband/hw/sif)
- entirely in user space under valgrind.
I used it a.o. to test the fairly complex page table management driver code for the on-
board MMU. I have wanted to make it available in a similar way as KTF, just haven't had
the time to get back to it yet.

Knut

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [Announce] LPC 2018: Testing and Fuzzing Microconference
  2018-09-22 12:52 ` Matthew Wilcox
@ 2018-09-24 13:42   ` Dmitry Vyukov
  2018-09-24 15:56     ` Knut Omang
  0 siblings, 1 reply; 20+ messages in thread
From: Dmitry Vyukov @ 2018-09-24 13:42 UTC (permalink / raw)
  To: Matthew Wilcox
  Cc: Dhaval Giani, Sasha Levin, LKML, Greg Kroah-Hartman,
	alice.ferrazzi, Kevin Hilman, Tim Bird, Laura Abbott,
	Steven Rostedt, gustavo.padovan, Carpenter,Dan, knut.omang

On Sat, Sep 22, 2018 at 2:52 PM, Matthew Wilcox <willy@infradead.org> wrote:
> On Wed, Sep 19, 2018 at 10:13:15AM -0700, Dhaval Giani wrote:
>> Sasha and I are pleased to announce the Testing and Fuzzing track at
>> LPC [ 1 ]. We are planning to continue the discussions from last
>> year's microconference [2]. Many discussions from the Automated
>> Testing Summit [3] will also continue, and a final agenda will come up
>> only soon after that.
>>
>> Suggested Topics
>>
>> - Syzbot/syzkaller
>> - ATS
>> - Distro/stable testing
>> - kernelci
>> - kernelci auto bisection
>> - Unit testing framework
>>
>> We look forward to other interesting topics for this microconference
>> as a reply to this email.
>
> I would like to talk about the IDA test suite that was recently merged.
> See lib/test_ida.c.  It can be built as a module (CONFIG_TEST_IDA=m),
> built-in (=y) or built in userspace (as part of the radix tree test
> suite for historical reasons) along with the current kernel code.
>
> Being able to build the test suite in userspace allows for much more
> rapid development.  Building it in kernel space offers testing across
> a wide range of configurations that I don't have access to and can't
> necessarily simulate well in userspace.
>
> My userspace implementation of kmalloc() simulates failures (in a rather
> heavy-handed way; every non-GFP_KERNEL allocation fails).  That's rather
> harder to simulate in kernel space.  I'd like there to be a way for a
> kernel space test suite to ask for kmalloc failures so that the failure
> paths can be tested.

Hi Matthew,

kmalloc fault injection is already implemented with
CONFIG_FAULT_INJECTION. For original fault injection, you more-or-less
ask to fail X% of allocations at random. It's great for testing
servers for stability, but not so well suited for testing. Recently
I've added so-called "systematic" fault injection
(/proc/thread-self/fail-nth) which is perfect for unit testing. It
allows to ask to fail N-th allocation request in the current task. So
a unit test for a syscall can do:

for (i = 0;; i++) {
  write(/proc/thread-self/fail-nth, i);
  syscall_under_test();
  if (read(/proc/thread-self/fail-nth) != 0)
    break;
}

which allows to examine each failure site one-by-one systematically
(without making random processes on the machine fail too).


> I think the idea of building parts of the core kernel libraries in
> userspace and testing them there has greater generality than just the
> IDA, IDR, XArray & radix tree and might profitably be adopted by other
> parts of lib/.  The userspace simulation of other parts of the kernel
> may well need to be extended.

This would be great. Besides providing faster turn-around time, this
allow us to finally have something like:

make test [subsystem]

which will run all tests for the subsystem locally (in parallel,
giving final OK/FAIL). This is not possible to in-kernel tests,
because they require a machine and an image, and it's not possible to
support everything that people use.

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [Announce] LPC 2018: Testing and Fuzzing Microconference
       [not found] <CAPhKKr_XFzGcBBuQ51w7HjZd_Kq3nTOB6uAFG2vP5JH+Vx_eng@mail.gmail.com>
@ 2018-09-22 12:52 ` Matthew Wilcox
  2018-09-24 13:42   ` Dmitry Vyukov
  2018-10-08 17:02 ` Dmitry Vyukov
  2018-11-05 18:05 ` Gustavo Padovan
  2 siblings, 1 reply; 20+ messages in thread
From: Matthew Wilcox @ 2018-09-22 12:52 UTC (permalink / raw)
  To: Dhaval Giani
  Cc: alexander.levin, LKML, gregkh, alice.ferrazzi, Kevin Hilman,
	Tim Bird, dvyukov, Laura Abbott, Steven Rostedt, gustavo.padovan,
	Carpenter,Dan, knut.omang

On Wed, Sep 19, 2018 at 10:13:15AM -0700, Dhaval Giani wrote:
> Sasha and I are pleased to announce the Testing and Fuzzing track at
> LPC [ 1 ]. We are planning to continue the discussions from last
> year's microconference [2]. Many discussions from the Automated
> Testing Summit [3] will also continue, and a final agenda will come up
> only soon after that.
> 
> Suggested Topics
> 
> - Syzbot/syzkaller
> - ATS
> - Distro/stable testing
> - kernelci
> - kernelci auto bisection
> - Unit testing framework
> 
> We look forward to other interesting topics for this microconference
> as a reply to this email.

I would like to talk about the IDA test suite that was recently merged.
See lib/test_ida.c.  It can be built as a module (CONFIG_TEST_IDA=m),
built-in (=y) or built in userspace (as part of the radix tree test
suite for historical reasons) along with the current kernel code.

Being able to build the test suite in userspace allows for much more
rapid development.  Building it in kernel space offers testing across
a wide range of configurations that I don't have access to and can't
necessarily simulate well in userspace.

My userspace implementation of kmalloc() simulates failures (in a rather
heavy-handed way; every non-GFP_KERNEL allocation fails).  That's rather
harder to simulate in kernel space.  I'd like there to be a way for a
kernel space test suite to ask for kmalloc failures so that the failure
paths can be tested.

I think the idea of building parts of the core kernel libraries in
userspace and testing them there has greater generality than just the
IDA, IDR, XArray & radix tree and might profitably be adopted by other
parts of lib/.  The userspace simulation of other parts of the kernel
may well need to be extended.

I'd also like to do at least kernel-space testing of the page cache.
I have some ideas around that too, but I don't know if they're
sufficiently far advanced to talk about in November.


^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2018-11-08 18:12 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-09-19 17:14 [Announce] LPC 2018: Testing and Fuzzing Microconference Dhaval Giani
2018-10-02 20:22 ` Liam R. Howlett
2018-10-02 21:03   ` Sasha Levin
2018-10-03 18:21     ` Dhaval Giani
2018-10-03 19:16     ` Liam R. Howlett
2018-10-03 22:01       ` Sasha Levin
2018-10-16 19:46 ` Dan Carpenter
2018-10-30 22:05 ` Knut Omang
     [not found] <CAPhKKr_XFzGcBBuQ51w7HjZd_Kq3nTOB6uAFG2vP5JH+Vx_eng@mail.gmail.com>
2018-09-22 12:52 ` Matthew Wilcox
2018-09-24 13:42   ` Dmitry Vyukov
2018-09-24 15:56     ` Knut Omang
2018-10-08 17:02 ` Dmitry Vyukov
2018-10-08 18:23   ` Steven Rostedt
2018-10-10 15:47     ` Dhaval Giani
2018-10-11  8:54       ` Dmitry Vyukov
2018-10-11  9:41         ` Dmitry Vyukov
2018-10-11 13:40           ` Steven Rostedt
2018-11-05 18:05 ` Gustavo Padovan
2018-11-08 16:30   ` Dhaval Giani
2018-11-08 18:12     ` Kevin Hilman

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).