[0/1] pseudo: honor umask again

Submitted by Peter Seebach on May 27, 2014, 7:35 p.m. | Patch ID: 72831


Message ID cover.1401219091.git.peter.seebach@windriver.com
State New
Headers show


git://git.yoctoproject.org/poky-contrib seebs/umask

Commit Message

Peter Seebach May 27, 2014, 7:35 p.m.
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

Peter Seebach (1):
  pseudo: Honor umask again

 .../pseudo/files/pseudo-fchmodat-permissions.patch |  163 +++++++++++++++++++-
 1 files changed, 157 insertions(+), 6 deletions(-)