Openembedded Core Discussions
 help / color / mirror / Atom feed
* [PATCH 0/1] pseudo: honor umask again
@ 2014-05-27 19:35 Peter Seebach
  2014-05-27 19:35 ` [PATCH 1/1] pseudo: Honor " Peter Seebach
  0 siblings, 1 reply; 2+ messages in thread
From: Peter Seebach @ 2014-05-27 19:35 UTC (permalink / raw)
  To: OE-core

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(-)



^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2014-05-27 19:31 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-05-27 19:35 [PATCH 0/1] pseudo: honor umask again Peter Seebach
2014-05-27 19:35 ` [PATCH 1/1] pseudo: Honor " Peter Seebach

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox