The fchmodat patch subtly broke umask support. The key here is that since I was thinking about chmod, chmod is what I tested, and chmod ignores umask. But the patch had the side effect of masking in 022 bits if they were set in the requested mode for an open/mkdir/mknod, even if umask would have removed them from the filesystem.
This patch corrects that, and also in passing removes a completely spurious double-mask-out of extra bits. It turns out that ((x) & ~y) is just as good as (((x) & ~y) & ~y) The patch looks larger than it really is, just because diffs-of-diffs; the substance is that each of the mknod/mkdir/open functions which actually works with the mode flag now masks out pseudo_umask, which is set during the initial pseudo client setup, and updated whenever umask is called. Many thanks to kroon in #yocto for bringing this to my attention. The following changes since commit 9948e4239b88026804c33d84830dbfe6b0ed3e59: eglinfo: updated to compile with mesa10+ (2014-05-27 16:10:25 +0100) are available in the git repository at: git://git.yoctoproject.org/poky-contrib seebs/umask http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=seebs/umask Peter Seebach (1): pseudo: Honor umask again .../pseudo/files/pseudo-fchmodat-permissions.patch | 163 +++++++++++++++++++- 1 files changed, 157 insertions(+), 6 deletions(-) -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core