trinity.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* 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).