backout OCEXEC changes when potentially opening /srv files

Opening a /srv file sets the close-on-exec flag on the
shared channel breaking the exportfs openmount() hack.

The devsrv tries to prevent posting a channel with the
close-on-exec or remove-on-close flags. but nothing
currently prevents this poisoning on open.

Until this gets fixed in eigther exportfs or devsrv,
i'll back out the changes that could have potential side
effects like this.
This commit is contained in:
cinap_lenrek 2020-12-09 01:04:03 +01:00
parent 5149f204b7
commit eb3d055eb3
4 changed files with 4 additions and 4 deletions

View file

@ -29,7 +29,7 @@ auth_chuid(AuthInfo *ai, char *ns)
}
/* get a link to factotum as new user */
fd = open("/srv/factotum", ORDWR|OCEXEC);
fd = open("/srv/factotum", ORDWR);
if(fd >= 0){
if(mount(fd, -1, "/mnt", MREPL, "") == -1)
close(fd);

View file

@ -194,7 +194,7 @@ nsop(char *fn, int argc, char *argv[], AuthRpc *rpc)
else if(argc == 2)
unmount(argv[0], argv[1]);
}else if(strcmp(argv0, "mount") == 0){
fd = open(argv[0], ORDWR|OCEXEC);
fd = open(argv[0], ORDWR);
if(fd < 0){
if(newnsdebug)
fprint(2, "%s: mount: %s: %r\n", fn, argv[0]);

View file

@ -24,7 +24,7 @@ access(char *name, int mode)
return 0;
return -1;
}
fd = open(name, omode[mode&7]|OCEXEC);
fd = open(name, omode[mode&7]);
if(fd >= 0){
close(fd);
return 0;

View file

@ -13,7 +13,7 @@ newwindow(char *str)
wsys = getenv("wsys");
if(wsys == nil)
return -1;
fd = open(wsys, ORDWR|OCEXEC);
fd = open(wsys, ORDWR);
if(fd < 0){
free(wsys);
return -1;