Re: [PATCH] KCOV: Introduced tracing unique covered PCs

2021-03-18 Thread Dmitry Vyukov
On Wed, Mar 17, 2021 at 10:10 PM Alexander Lochmann wrote: > On 15.03.21 09:02, Dmitry Vyukov wrote: > >>> Does this introduce an additional real of t->kcov_mode? > >>> If yes, please reuse the value read in check_kcov_mode. > >> Okay. How do I get that value from check_kcov_mode() to the caller?

Re: [PATCH] KCOV: Introduced tracing unique covered PCs

2021-03-17 Thread Alexander Lochmann
On 15.03.21 09:02, Dmitry Vyukov wrote: >>> Does this introduce an additional real of t->kcov_mode? >>> If yes, please reuse the value read in check_kcov_mode. >> Okay. How do I get that value from check_kcov_mode() to the caller? >> Shall I add an additional parameter to check_kcov_mode()? > >

Re: [PATCH] KCOV: Introduced tracing unique covered PCs

2021-03-15 Thread Dmitry Vyukov
On Mon, Mar 15, 2021 at 10:43 PM Alexander Lochmann wrote: > On 15.03.21 09:02, Dmitry Vyukov wrote: > static notrace unsigned long canonicalize_ip(unsigned long ip) > @@ -191,18 +192,26 @@ void notrace __sanitizer_cov_trace_pc(void) > struct task_struct *t; >

Re: [PATCH] KCOV: Introduced tracing unique covered PCs

2021-03-15 Thread Alexander Lochmann
On 15.03.21 09:02, Dmitry Vyukov wrote: static notrace unsigned long canonicalize_ip(unsigned long ip) @@ -191,18 +192,26 @@ void notrace __sanitizer_cov_trace_pc(void) struct task_struct *t; unsigned long *area; unsigned long ip = canonicalize_i

Re: [PATCH] KCOV: Introduced tracing unique covered PCs

2021-03-15 Thread Dmitry Vyukov
On Sun, Mar 14, 2021 at 10:29 PM Alexander Lochmann wrote: > On 12.02.21 13:54, Dmitry Vyukov wrote: > > > > I think we could make KCOV_IN_CTXSW sign bit and then express the check as: > > > > void foo2(unsigned mode) { > > if (((int)(mode & 0x800a)) > 0) > > foo(); > > } > > > > 000

Re: [PATCH] KCOV: Introduced tracing unique covered PCs

2021-03-14 Thread Alexander Lochmann
On 12.02.21 13:54, Dmitry Vyukov wrote: > > I think we could make KCOV_IN_CTXSW sign bit and then express the check as: > > void foo2(unsigned mode) { > if (((int)(mode & 0x800a)) > 0) > foo(); > } > > 0020 : > 20: 81 e7 0a 00 00 80and$0x800a,%edi > 26: 7

Re: [PATCH] KCOV: Introduced tracing unique covered PCs

2021-02-12 Thread Dmitry Vyukov
On Thu, Feb 11, 2021 at 9:07 AM Alexander Lochmann wrote: > > Introduced new tracing mode KCOV_MODE_UNIQUE. > It simply stores the executed PCs. > The execution order is discarded. > Each bit in the shared buffer represents every fourth > byte of the text segment. > Since a call instruction on eve