* trinity: execve() returns 0?
@ 2016-12-12 12:05 Vegard Nossum
2016-12-12 14:07 ` Dave Jones
0 siblings, 1 reply; 2+ messages in thread
From: Vegard Nossum @ 2016-12-12 12:05 UTC (permalink / raw)
To: Dave Jones; +Cc: trinity
Hi Dave,
I'm debugging what seems to be a race between execve() and ioctl() (!),
and I noticed that the execve records in the trinity child logs indicate
that it's returning 0:
[child9:20816] [0]
execve(name="/sys/devices/virtual/bdi/7:5/power/runtime_status",
argv=0x2cd9b30, envp=0x2ca51e0) = 0
[child9:22112] [0] execve(name="/proc/134/net/pnresource",
argv=0x2c57130, envp=0x2d01bd0) = 0
[child9:22678] [0] execve(name=".//proc/45/maps", argv=0x2ce5800,
envp=0x2cfbb70) = 0
[child9:23754] [0] execve(name="/proc/1177/task/1177/net/ipx/socket",
argv=0x2cf5b10, envp=0x2b431b0) = 0
[child9:23754] [1]
execve(name="/sys/module/tcp_cubic/parameters/hystart", argv=0x2d1fe60,
envp=0x2d24f50) = 0
[child9:27614] [0] execve(name="/proc/30/net/stat/rt_cache",
argv=0x2cf5b10, envp=0x2d07cd0) = 0
I'm guessing this has something to do with the subchild code that
trinity uses (since execve() does not return on success), although I see
other execve calls that do return -1 as expected and I wouldn't expect
execve() on the above files to actually succeed, so I guess the question
is what does the = 0 mean?
Thanks,
Vegard
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: trinity: execve() returns 0?
2016-12-12 12:05 trinity: execve() returns 0? Vegard Nossum
@ 2016-12-12 14:07 ` Dave Jones
0 siblings, 0 replies; 2+ messages in thread
From: Dave Jones @ 2016-12-12 14:07 UTC (permalink / raw)
To: Vegard Nossum; +Cc: trinity
On Mon, Dec 12, 2016 at 01:05:05PM +0100, Vegard Nossum wrote:
> Hi Dave,
>
> I'm debugging what seems to be a race between execve() and ioctl() (!),
> and I noticed that the execve records in the trinity child logs indicate
> that it's returning 0:
>
> [child9:20816] [0]
> execve(name="/sys/devices/virtual/bdi/7:5/power/runtime_status",
> argv=0x2cd9b30, envp=0x2ca51e0) = 0
> [child9:22112] [0] execve(name="/proc/134/net/pnresource",
> argv=0x2c57130, envp=0x2d01bd0) = 0
> [child9:22678] [0] execve(name=".//proc/45/maps", argv=0x2ce5800,
> envp=0x2cfbb70) = 0
> [child9:23754] [0] execve(name="/proc/1177/task/1177/net/ipx/socket",
> argv=0x2cf5b10, envp=0x2b431b0) = 0
> [child9:23754] [1]
> execve(name="/sys/module/tcp_cubic/parameters/hystart", argv=0x2d1fe60,
> envp=0x2d24f50) = 0
> [child9:27614] [0] execve(name="/proc/30/net/stat/rt_cache",
> argv=0x2cf5b10, envp=0x2d07cd0) = 0
>
> I'm guessing this has something to do with the subchild code that
> trinity uses (since execve() does not return on success), although I see
> other execve calls that do return -1 as expected and I wouldn't expect
> execve() on the above files to actually succeed, so I guess the question
> is what does the = 0 mean?
Hm, I suspect do_extrafork needs to set rec->retval appropriately, looks
like we're currently neglecting to do that, so it's remaining 0.
Dave
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2016-12-12 14:07 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-12-12 12:05 trinity: execve() returns 0? Vegard Nossum
2016-12-12 14:07 ` Dave Jones
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).