Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1437573

Re: [RFD] Efficient unit test and fuzz tools for kernel/libc porting

From Dmitry Vyukov <dvyukov@google.com>
Newsgroups linux.kernel
Subject Re: [RFD] Efficient unit test and fuzz tools for kernel/libc porting
Date 2016-07-06 11:10 +0200
Message-ID <rRR0d-7fr-1@gated-at.bofh.it> (permalink)
References <rRPKO-6jE-11@gated-at.bofh.it> <rRQ49-6FO-3@gated-at.bofh.it> <rRQnv-6Mg-7@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On Wed, Jul 6, 2016 at 10:24 AM, Zhangjian (Bamvor)
<bamvor.zhangjian@huawei.com> wrote:
> Hi, Dmitry
>
>
>> Hi Bamvor,
>>
>> Nice work!
>>
>> Coverage should be easy to do with CONFIG_KCOV, but do you need
>> fuzzing/coverage? It seems that testing a predefined set of special
>> values for each arg should be enough for your use case. Namely special
>> values that can detect endianess/truncation/sign extension/etc issues.
>
> Yes. We are trying to cover endianess/truncation/sign extension at this
> moment.
> For coverage, there are some code path in syscall wrapper in both glibc
> and kernel. E.g. overflow check in glibc. I am thinking if coverage
> could help on this.

Ah, you mean user-space coverage. You may try AFL in binary
instrumentation mode for this.


>> I think there is also a number of glibc functions that don't directly
>> map to syscalls. Most notably wrappers around various ioctl's (e.g.
>> ptsname). Do you test them?
>
> No. Currently, our tools only focus on the syscall function in glibc. In
> these syscall level, we could compare the parameter and return value
> directly. As you said, there are only several type of issues. It is easy
> to handle by tools.
>
> I do not know how to test these complex cases. E.g. the ptsname may call
> ioctl, *stat* syscall. Compare the original parameter is meaningless. But
> it seems a good type of testcase to show how the user use the syscalls.
> Do you have some ideas?

I don't have any ideas for automated testing. One could write a model,
of course....

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[RFD] Efficient unit test and fuzz tools for kernel/libc porting "Zhangjian (Bamvor)" <bamvor.zhangjian@huawei.com> - 2016-07-06 09:50 +0200
  Re: [RFD] Efficient unit test and fuzz tools for kernel/libc porting Dmitry Vyukov <dvyukov@google.com> - 2016-07-06 10:10 +0200
    Re: [RFD] Efficient unit test and fuzz tools for kernel/libc porting "Zhangjian (Bamvor)" <bamvor.zhangjian@huawei.com> - 2016-07-06 10:30 +0200
      Re: [RFD] Efficient unit test and fuzz tools for kernel/libc porting Dmitry Vyukov <dvyukov@google.com> - 2016-07-06 11:10 +0200
        Re: [RFD] Efficient unit test and fuzz tools for kernel/libc porting "Zhangjian (Bamvor)" <bamvor.zhangjian@huawei.com> - 2016-07-06 12:40 +0200
  Re: [RFD] Efficient unit test and fuzz tools for kernel/libc porting "Zhangjian (Bamvor)" <bamvor.zhangjian@huawei.com> - 2016-07-06 10:10 +0200

csiph-web