Re: [PATCH rdma-next 1/4] gcov: Open-code kmemdup() to work correctly with kernel and user space pointers

2020-09-02 Thread Linus Torvalds
On Wed, Sep 2, 2020 at 11:44 AM Leon Romanovsky wrote: > > I already don't remember why, but copy_from_user() caused to second flow > of gcov_info_dup() through gcov_event() to generate another set of warnings. > > As a summary, I have a workaround, but I don't know why it works and not > proud

Re: [PATCH rdma-next 1/4] gcov: Open-code kmemdup() to work correctly with kernel and user space pointers

2020-09-02 Thread Leon Romanovsky
On Wed, Sep 02, 2020 at 11:27:14AM -0700, Linus Torvalds wrote: > On Wed, Sep 2, 2020 at 10:46 AM Leon Romanovsky wrote: > > > > Definitely my explanation is wrong, but it was my interpretation of > > "BUG: KASAN: global-out-of-bounds in kmemdup+0x43/0x70" line. I saw > > that the failure was in

Re: [PATCH rdma-next 1/4] gcov: Open-code kmemdup() to work correctly with kernel and user space pointers

2020-09-02 Thread Linus Torvalds
On Wed, Sep 2, 2020 at 10:46 AM Leon Romanovsky wrote: > > Definitely my explanation is wrong, but it was my interpretation of > "BUG: KASAN: global-out-of-bounds in kmemdup+0x43/0x70" line. I saw > that the failure was in memcpy() inside of kmemdup(), so I changed > from memcpy to be

Re: [PATCH rdma-next 1/4] gcov: Open-code kmemdup() to work correctly with kernel and user space pointers

2020-09-02 Thread Leon Romanovsky
On Wed, Sep 02, 2020 at 10:38:20AM -0700, Linus Torvalds wrote: > On Wed, Sep 2, 2020 at 1:55 AM Leon Romanovsky wrote: > > > > The kernel with KASAN and GCOV enabled generates the following splat > > due to the situation that gcov_info can be both user and kernel pointer. > > I can't parse the

Re: [PATCH rdma-next 1/4] gcov: Open-code kmemdup() to work correctly with kernel and user space pointers

2020-09-02 Thread Linus Torvalds
On Wed, Sep 2, 2020 at 1:55 AM Leon Romanovsky wrote: > > The kernel with KASAN and GCOV enabled generates the following splat > due to the situation that gcov_info can be both user and kernel pointer. I can't parse the above explanation.. > It is triggered by the memcpy() inside kmemdup(), so

[PATCH rdma-next 1/4] gcov: Open-code kmemdup() to work correctly with kernel and user space pointers

2020-09-02 Thread Leon Romanovsky
From: Leon Romanovsky The kernel with KASAN and GCOV enabled generates the following splat due to the situation that gcov_info can be both user and kernel pointer. It is triggered by the memcpy() inside kmemdup(), so as a possible solution let's copy fields manually.