Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 15 Jun 2018 10:23:06 +0300
From:      Yanko Yankulov <yanko.yankulov@gmail.com>
To:        Konstantin Belousov <kostikbel@gmail.com>
Cc:        freebsd-emulation@freebsd.org
Subject:   Re: two proposed linuxulator fixes + ptrace
Message-ID:  <CABTd0_oR8wezbhjqx53npuhKYmT5pZtSOw7py2iHjW%2Bmp8GjKw@mail.gmail.com>
In-Reply-To: <20180614141604.GA2493@kib.kiev.ua>
References:  <CABTd0_pqdAtHMH9gSJdebstASuoomYw1XLbkbbsMCUvtE-=vDA@mail.gmail.com> <20180614101324.GW2493@kib.kiev.ua> <CABTd0_p=5cqsN5TKtEWXY_oQXtGdJOyMHEzjoUJeaYcKShLCRQ@mail.gmail.com> <20180614123659.GZ2493@kib.kiev.ua> <CABTd0_pdF9RGmJHYDoL5f2ctewfWU_e0DsF=hkuqTVtFW2uhtA@mail.gmail.com> <20180614141604.GA2493@kib.kiev.ua>

next in thread | previous in thread | raw e-mail | index | archive | help
--000000000000616e1f056ea91635
Content-Type: text/plain; charset="UTF-8"

Thanks for the hint. It turned that we already have all the info due to the
call to  fill_kinfo_proc(p, &kp);

Proper patch attached. Verified with the ptrace patch, that correct values
are reported in PPid & TracerPid.

Regarding the ptrace patch - for some reason I am not receiving a
registration mail from reviews.freebsd.org so I am a bit stuck.

Best,

On Thu, Jun 14, 2018 at 5:16 PM, Konstantin Belousov <kostikbel@gmail.com>
wrote:

> On Thu, Jun 14, 2018 at 04:11:52PM +0300, Yanko Yankulov wrote:
> > > > > For the patch 1, TracePid, can you explain what is the meaning of
> the
> > > > > pid reported ?
> > > > >
> > > > > The TracerPid is the PID of the process currently ptrace-ing the
> > > process.
> > > > TracerPid 0 means no active tracer. So the patch is not semantically
> > > > correct as it always reports no tracer, but it got the program
> running.
> > > Ok, but what is the tracer ?  Is it ptrace(2) debugger, or something
> > > else ?
> > >
> >
> > Yes, any ptrace(2) debugger/truss/strace/whatever. The Linux code is:
> >
> > tracer = ptrace_parent(p);
> > if (tracer)
> >       tpid = task_pid_nr_ns(tracer, ns);
>
> I think this should be like
>         PROC_LOCK(p);
>         tpid = (p->p_flag & P_TRACED) != 0 ? p->p_ppid : 0;
>         PROC_UNLOCK(p);
>         sx_slock(&proctree_lock);
>         parent_pid = proc_realparent(p)->p_pid;
>         sx_sunlock(&proctree_lock);
>

--000000000000616e1f056ea91635
Content-Type: text/x-patch; charset="US-ASCII"; 
	name="0001-linprocfs-proc-pid-status-add-TracerPid.patch"
Content-Disposition: attachment; 
	filename="0001-linprocfs-proc-pid-status-add-TracerPid.patch"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_jifn0it40

RnJvbSA0MmZkZDhiNjQwM2U4YTAzNjExY2NiYThhMGQ3NWFhOWJmZTI1M2I4IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBZYW5rbyBZYW5rdWxvdiA8eWFua28ueWFua3Vsb3ZAZ21haWwu
Y29tPgpEYXRlOiBUaHUsIDE0IEp1biAyMDE4IDEwOjQ0OjIyICswMzAwClN1YmplY3Q6IFtQQVRD
SF0gbGlucHJvY2ZzOiAvcHJvYy9waWQvc3RhdHVzIGFkZCBUcmFjZXJQaWQKCkFuZCByZXR1cm4g
cmVhbCBwYXJlbnQgaWYgdHJhY2VkCi0tLQogc3lzL2NvbXBhdC9saW5wcm9jZnMvbGlucHJvY2Zz
LmMgfCA0ICsrLS0KIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25z
KC0pCgpkaWZmIC0tZ2l0IGEvc3lzL2NvbXBhdC9saW5wcm9jZnMvbGlucHJvY2ZzLmMgYi9zeXMv
Y29tcGF0L2xpbnByb2Nmcy9saW5wcm9jZnMuYwppbmRleCA1ODYyNTlmMjgzMTUuLjI0OTJhYmZm
ZWJiOSAxMDA2NDQKLS0tIGEvc3lzL2NvbXBhdC9saW5wcm9jZnMvbGlucHJvY2ZzLmMKKysrIGIv
c3lzL2NvbXBhdC9saW5wcm9jZnMvbGlucHJvY2ZzLmMKQEAgLTgwMyw4ICs4MDMsOCBAQCBsaW5w
cm9jZnNfZG9wcm9jc3RhdHVzKFBGU19GSUxMX0FSR1MpCiAJICogQ3JlZGVudGlhbHMKIAkgKi8K
IAlzYnVmX3ByaW50ZihzYiwgIlBpZDpcdCVkXG4iLAkJcC0+cF9waWQpOwotCXNidWZfcHJpbnRm
KHNiLCAiUFBpZDpcdCVkXG4iLAkJcC0+cF9wcHRyID8KLQkJCQkJCXAtPnBfcHB0ci0+cF9waWQg
OiAwKTsKKwlzYnVmX3ByaW50ZihzYiwgIlBQaWQ6XHQlZFxuIiwJCWtwLmtpX3BwaWQgKTsKKwlz
YnVmX3ByaW50ZihzYiwgIlRyYWNlclBpZDpcdCVkXG4iLAlrcC5raV90cmFjZXIgKTsKIAlzYnVm
X3ByaW50ZihzYiwgIlVpZDpcdCVkICVkICVkICVkXG4iLAlwLT5wX3VjcmVkLT5jcl9ydWlkLAog
CQkJCQkJcC0+cF91Y3JlZC0+Y3JfdWlkLAogCQkJCQkJcC0+cF91Y3JlZC0+Y3Jfc3Z1aWQsCi0t
IAoyLjE3LjEKCg==
--000000000000616e1f056ea91635--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CABTd0_oR8wezbhjqx53npuhKYmT5pZtSOw7py2iHjW%2Bmp8GjKw>