lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Sat, 16 Jun 2018 22:50:32 +0900
From:   Masami Hiramatsu <mhiramat@...nel.org>
To:     Ravi Bangoria <ravi.bangoria@...ux.ibm.com>
Cc:     oleg@...hat.com, srikar@...ux.vnet.ibm.com, rostedt@...dmis.org,
        peterz@...radead.org, mingo@...hat.com, acme@...nel.org,
        alexander.shishkin@...ux.intel.com, jolsa@...hat.com,
        namhyung@...nel.org, linux-kernel@...r.kernel.org, corbet@....net,
        linux-doc@...r.kernel.org, ananth@...ux.vnet.ibm.com,
        alexis.berlemont@...il.com, naveen.n.rao@...ux.vnet.ibm.com
Subject: Re: [PATCH 0/7] Uprobes: Support SDT markers having reference count
 (semaphore)

Hi Ravi,

Sorry for replying later.

On Mon, 11 Jun 2018 10:01:58 +0530
Ravi Bangoria <ravi.bangoria@...ux.ibm.com> wrote:

> Hi Masami,
> 
> >>> Hmm, it sounds simple... maybe we can increment refctr in install_breakpoint/
> >>> remove_breakpoint?
> >>
> >> Not really, it would be simpler if I can put it inside install_breakpoint().
> >> Consider an mmap() case. Probed instruction resides in the text section whereas
> >> reference counter resides in the data section. These sections gets mapped using
> >> separate mmap() calls. So, when process mmaps the text section we will change the
> >> instruction, but section holding the reference counter may not have been mapped
> >> yet in the virtual memory. If so, we will fail to update the reference counter.
> > 
> > Got it. 
> > In such case, maybe we can hook the target page mmapped and do install_breakpoint()
> > at that point. Since the instruction is protected by a refctr, unless mmap the
> > page on where the refctr is, the program doesn't reach the tracepoint. Is that right?
> > 
> 
> You mean, when mmap(text) happens, save the target page somewhere and when
> mmap(data) happens, update both instruction and ref_ctr?

Yes. I think you can just clone the target(text) page but not install
breakpoint, and if mmap(data) happens, update both.

> 
> This sounds feasible. Let me think on it.

Thanks!

> 
> Thanks for suggestion,
> Ravi
> 


-- 
Masami Hiramatsu <mhiramat@...nel.org>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ