Messages in this thread | | | Date | Mon, 31 Jan 2022 16:37:07 +0100 | From | Christian Brauner <> | Subject | Re: [fs/exec] 80bd5afdd8: xfstests.generic.633.fail |
| |
On Mon, Jan 31, 2022 at 03:19:22PM +0000, Matthew Wilcox wrote: > On Mon, Jan 31, 2022 at 04:08:19PM +0100, Christian Brauner wrote: > > On Mon, Jan 31, 2022 at 10:43:52PM +0800, kernel test robot wrote: > > I can fix this rather simply in our upstream fstests with: > > > > static char *argv[] = { > > "", > > }; > > > > I guess. > > > > But doesn't > > > > static char *argv[] = { > > NULL, > > }; > > > > seem something that should work especially with execveat()? > > The problem is that the exec'ed program sees an argc of 0, which is the > problem we're trying to work around in the kernel (instead of leaving > it to ld.so to fix for suid programs).
Ok, just seems a bit more intuitive for path-based exec than for fd-based execveat().
What's argv[0] supposed to contain in these cases?
1. execveat(fd, NULL, ..., AT_EMPTY_PATH) 2. execveat(fd, "my-file", ..., )
"" in both 1. and 2.? "" in 1. and "my-file" in 2.?
| |