All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] vfs: Define new syscall getumask.
@ 2016-04-13 11:43 ` Richard W.M. Jones
  0 siblings, 0 replies; 12+ messages in thread
From: Richard W.M. Jones @ 2016-04-13 11:43 UTC (permalink / raw)
  To: linux-kernel
  Cc: tglx, mingo, hpa, akpm, luto, viro, mathieu.desnoyers, zab,
	emunson, paulmck, aarcange, josh, xemul, sfr, milosz, rostedt,
	arnd, ebiederm, gorcunov, iulia.manda21, dave.hansen, mguzik,
	adobriyan, dave, linux-api

It's not possible to read the process umask without also modifying it,
which is what umask(2) does.  A library cannot read umask safely,
especially if the main program might be multithreaded.

This patch series adds a trivial system call "getumask" which returns
the umask of the current process.

Another approach to this has been attempted before, adding something
to /proc, although it didn't go anywhere.  See:

  http://comments.gmane.org/gmane.linux.kernel/1292109

Another way to solve this would be to add a thread-safe getumask to
glibc.  Since glibc could own the mutex, this would permit libraries
linked to this glibc to read umask safely.

I should also note that man-pages documents getumask(3), but no
version of glibc has ever implemented it.

Typical test script:

#include <stdio.h>
#include <stdlib.h>
#include <linux/unistd.h>
#include <sys/syscall.h>

int main(int argc, char *argv[])
{
  int r = syscall(329);
  if (r == -1) {
    perror("getumask");
    exit(1);
  }
  printf("umask = %o\n", r);
  exit(0);
}

$ ./getumask 
umask = 22

Rich.

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

* [PATCH 0/2] vfs: Define new syscall getumask.
@ 2016-04-13 11:43 ` Richard W.M. Jones
  0 siblings, 0 replies; 12+ messages in thread
From: Richard W.M. Jones @ 2016-04-13 11:43 UTC (permalink / raw)
  To: linux-kernel-u79uwXL29TY76Z2rM5mHXA
  Cc: tglx-hfZtesqFncYOwBW4kG4KsQ, mingo-H+wXaHxf7aLQT0dZR+AlfA,
	hpa-YMNOUZJC4hwAvxtiuMwx3w,
	akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b,
	luto-DgEjT+Ai2ygdnm+yROfE0A,
	viro-RmSDqhL/yNMiFSDQTTA3OLVCufUGDwFn,
	mathieu.desnoyers-vg+e7yoeK/dWk0Htik3J/w,
	zab-H+wXaHxf7aLQT0dZR+AlfA, emunson-JqFfY2XvxFXQT0dZR+AlfA,
	paulmck-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8,
	aarcange-H+wXaHxf7aLQT0dZR+AlfA, josh-iaAMLnmF4UmaiuxdJuQwMA,
	xemul-bzQdu9zFT3WakBO8gow8eQ, sfr-3FnU+UHB4dNDw9hX6IcOSA,
	milosz-B5zB6C1i6pkAvxtiuMwx3w, rostedt-nx8X9YLhiw1AfugRpC6u6w,
	arnd-r2nGTMty4D4, ebiederm-aS9lmoZGLiVWk0Htik3J/w,
	gorcunov-GEFAQzZX7r8dnm+yROfE0A,
	iulia.manda21-Re5JQEeQqe8AvxtiuMwx3w,
	dave.hansen-VuQAYsv1563Yd54FQh9/CA,
	mguzik-H+wXaHxf7aLQT0dZR+AlfA, adobriyan-Re5JQEeQqe8AvxtiuMwx3w,
	dave-h16yJtLeMjHk1uMJSBkQmQ, linux-api-u79uwXL29TY76Z2rM5mHXA

It's not possible to read the process umask without also modifying it,
which is what umask(2) does.  A library cannot read umask safely,
especially if the main program might be multithreaded.

This patch series adds a trivial system call "getumask" which returns
the umask of the current process.

Another approach to this has been attempted before, adding something
to /proc, although it didn't go anywhere.  See:

  http://comments.gmane.org/gmane.linux.kernel/1292109

Another way to solve this would be to add a thread-safe getumask to
glibc.  Since glibc could own the mutex, this would permit libraries
linked to this glibc to read umask safely.

I should also note that man-pages documents getumask(3), but no
version of glibc has ever implemented it.

Typical test script:

#include <stdio.h>
#include <stdlib.h>
#include <linux/unistd.h>
#include <sys/syscall.h>

int main(int argc, char *argv[])
{
  int r = syscall(329);
  if (r == -1) {
    perror("getumask");
    exit(1);
  }
  printf("umask = %o\n", r);
  exit(0);
}

$ ./getumask 
umask = 22

Rich.

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

* [PATCH 1/2] vfs: Define new syscall getumask.
  2016-04-13 11:43 ` Richard W.M. Jones
  (?)
@ 2016-04-13 11:43 ` Richard W.M. Jones
  2016-04-13 12:21     ` Florian Weimer
  -1 siblings, 1 reply; 12+ messages in thread
From: Richard W.M. Jones @ 2016-04-13 11:43 UTC (permalink / raw)
  To: linux-kernel
  Cc: tglx, mingo, hpa, akpm, luto, viro, mathieu.desnoyers, zab,
	emunson, paulmck, aarcange, josh, xemul, sfr, milosz, rostedt,
	arnd, ebiederm, gorcunov, iulia.manda21, dave.hansen, mguzik,
	adobriyan, dave, linux-api

Define a system call for reading the current umask value.

Signed-off-by: Richard W.M. Jones <rjones@redhat.com>
---
 include/linux/syscalls.h | 1 +
 kernel/sys.c             | 5 +++++
 2 files changed, 6 insertions(+)

diff --git a/include/linux/syscalls.h b/include/linux/syscalls.h
index d795472..e96e88f 100644
--- a/include/linux/syscalls.h
+++ b/include/linux/syscalls.h
@@ -659,6 +659,7 @@ asmlinkage long sys_prlimit64(pid_t pid, unsigned int resource,
 				struct rlimit64 __user *old_rlim);
 asmlinkage long sys_getrusage(int who, struct rusage __user *ru);
 asmlinkage long sys_umask(int mask);
+asmlinkage long sys_getumask(void);
 
 asmlinkage long sys_msgget(key_t key, int msgflg);
 asmlinkage long sys_msgsnd(int msqid, struct msgbuf __user *msgp,
diff --git a/kernel/sys.c b/kernel/sys.c
index cf8ba54..026c146 100644
--- a/kernel/sys.c
+++ b/kernel/sys.c
@@ -1649,6 +1649,11 @@ SYSCALL_DEFINE1(umask, int, mask)
 	return mask;
 }
 
+SYSCALL_DEFINE0(getumask)
+{
+	return current->fs->umask;
+}
+
 static int prctl_set_mm_exe_file(struct mm_struct *mm, unsigned int fd)
 {
 	struct fd exe;
-- 
2.7.4

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

* [PATCH 2/2] x86: Wire up new getumask system call on x86.
  2016-04-13 11:43 ` Richard W.M. Jones
  (?)
  (?)
@ 2016-04-13 11:43 ` Richard W.M. Jones
  2016-04-13 12:36     ` kbuild test robot
  -1 siblings, 1 reply; 12+ messages in thread
From: Richard W.M. Jones @ 2016-04-13 11:43 UTC (permalink / raw)
  To: linux-kernel
  Cc: tglx, mingo, hpa, akpm, luto, viro, mathieu.desnoyers, zab,
	emunson, paulmck, aarcange, josh, xemul, sfr, milosz, rostedt,
	arnd, ebiederm, gorcunov, iulia.manda21, dave.hansen, mguzik,
	adobriyan, dave, linux-api

Signed-off-by: Richard W.M. Jones <rjones@redhat.com>
---
 arch/x86/entry/syscalls/syscall_32.tbl | 1 +
 arch/x86/entry/syscalls/syscall_64.tbl | 1 +
 2 files changed, 2 insertions(+)

diff --git a/arch/x86/entry/syscalls/syscall_32.tbl b/arch/x86/entry/syscalls/syscall_32.tbl
index b30dd81..af0a032 100644
--- a/arch/x86/entry/syscalls/syscall_32.tbl
+++ b/arch/x86/entry/syscalls/syscall_32.tbl
@@ -386,3 +386,4 @@
 377	i386	copy_file_range		sys_copy_file_range
 378	i386	preadv2			sys_preadv2
 379	i386	pwritev2		sys_pwritev2
+380	i386	getumask		sys_getumask
diff --git a/arch/x86/entry/syscalls/syscall_64.tbl b/arch/x86/entry/syscalls/syscall_64.tbl
index cac6d17..47c1579 100644
--- a/arch/x86/entry/syscalls/syscall_64.tbl
+++ b/arch/x86/entry/syscalls/syscall_64.tbl
@@ -335,6 +335,7 @@
 326	common	copy_file_range		sys_copy_file_range
 327	64	preadv2			sys_preadv2
 328	64	pwritev2		sys_pwritev2
+329	common	getumask		sys_getumask
 
 #
 # x32-specific system call numbers start at 512 to avoid cache impact
-- 
2.7.4

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

* Re: [PATCH 0/2] vfs: Define new syscall getumask.
  2016-04-13 11:43 ` Richard W.M. Jones
@ 2016-04-13 12:05   ` Pavel Emelyanov
  -1 siblings, 0 replies; 12+ messages in thread
From: Pavel Emelyanov @ 2016-04-13 12:05 UTC (permalink / raw)
  To: Richard W.M. Jones, linux-kernel
  Cc: tglx, mingo, hpa, akpm, luto, viro, mathieu.desnoyers, zab,
	emunson, paulmck, aarcange, josh, xemul, sfr, milosz, rostedt,
	arnd, ebiederm, gorcunov, iulia.manda21, dave.hansen, mguzik,
	adobriyan, dave, linux-api

On 04/13/2016 02:43 PM, Richard W.M. Jones wrote:
> It's not possible to read the process umask without also modifying it,
> which is what umask(2) does.  A library cannot read umask safely,
> especially if the main program might be multithreaded.
> 
> This patch series adds a trivial system call "getumask" which returns
> the umask of the current process.

Ah! Thanks for this :)

Acked-by: Pavel Emelyanov <xemul@virtuozzo.com>

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

* Re: [PATCH 0/2] vfs: Define new syscall getumask.
@ 2016-04-13 12:05   ` Pavel Emelyanov
  0 siblings, 0 replies; 12+ messages in thread
From: Pavel Emelyanov @ 2016-04-13 12:05 UTC (permalink / raw)
  To: Richard W.M. Jones, linux-kernel
  Cc: tglx, mingo, hpa, akpm, luto, viro, mathieu.desnoyers, zab,
	emunson, paulmck, aarcange, josh, xemul, sfr, milosz, rostedt,
	arnd, ebiederm, gorcunov, iulia.manda21, dave.hansen, mguzik,
	adobriyan, dave, linux-api

On 04/13/2016 02:43 PM, Richard W.M. Jones wrote:
> It's not possible to read the process umask without also modifying it,
> which is what umask(2) does.  A library cannot read umask safely,
> especially if the main program might be multithreaded.
> 
> This patch series adds a trivial system call "getumask" which returns
> the umask of the current process.

Ah! Thanks for this :)

Acked-by: Pavel Emelyanov <xemul@virtuozzo.com>

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

* Re: [PATCH 1/2] vfs: Define new syscall getumask.
@ 2016-04-13 12:21     ` Florian Weimer
  0 siblings, 0 replies; 12+ messages in thread
From: Florian Weimer @ 2016-04-13 12:21 UTC (permalink / raw)
  To: Richard W.M. Jones
  Cc: linux-kernel, tglx, mingo, hpa, akpm, luto, viro,
	mathieu.desnoyers, zab, emunson, paulmck, aarcange, josh, xemul,
	sfr, milosz, rostedt, arnd, ebiederm, gorcunov, iulia.manda21,
	dave.hansen, mguzik, adobriyan, dave, linux-api

* Richard W. M. Jones:

> +SYSCALL_DEFINE0(getumask)
> +{
> +	return current->fs->umask;
> +}

The convention seems to be to call current_umask(), instead of
inlining its contents.

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

* Re: [PATCH 1/2] vfs: Define new syscall getumask.
@ 2016-04-13 12:21     ` Florian Weimer
  0 siblings, 0 replies; 12+ messages in thread
From: Florian Weimer @ 2016-04-13 12:21 UTC (permalink / raw)
  To: Richard W.M. Jones
  Cc: linux-kernel-u79uwXL29TY76Z2rM5mHXA, tglx-hfZtesqFncYOwBW4kG4KsQ,
	mingo-H+wXaHxf7aLQT0dZR+AlfA, hpa-YMNOUZJC4hwAvxtiuMwx3w,
	akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b,
	luto-DgEjT+Ai2ygdnm+yROfE0A,
	viro-RmSDqhL/yNMiFSDQTTA3OLVCufUGDwFn,
	mathieu.desnoyers-vg+e7yoeK/dWk0Htik3J/w,
	zab-H+wXaHxf7aLQT0dZR+AlfA, emunson-JqFfY2XvxFXQT0dZR+AlfA,
	paulmck-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8,
	aarcange-H+wXaHxf7aLQT0dZR+AlfA, josh-iaAMLnmF4UmaiuxdJuQwMA,
	xemul-bzQdu9zFT3WakBO8gow8eQ, sfr-3FnU+UHB4dNDw9hX6IcOSA,
	milosz-B5zB6C1i6pkAvxtiuMwx3w, rostedt-nx8X9YLhiw1AfugRpC6u6w,
	arnd-r2nGTMty4D4, ebiederm-aS9lmoZGLiVWk0Htik3J/w,
	gorcunov-GEFAQzZX7r8dnm+yROfE0A,
	iulia.manda21-Re5JQEeQqe8AvxtiuMwx3w,
	dave.hansen-VuQAYsv1563Yd54FQh9/CA,
	mguzik-H+wXaHxf7aLQT0dZR+AlfA, adobriyan-Re5JQEeQqe8AvxtiuMwx3w,
	dave-h16yJtLeMjHk1uMJSBkQmQ, linux-api-u79uwXL29TY76Z2rM5mHXA

* Richard W. M. Jones:

> +SYSCALL_DEFINE0(getumask)
> +{
> +	return current->fs->umask;
> +}

The convention seems to be to call current_umask(), instead of
inlining its contents.

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

* Re: [PATCH 2/2] x86: Wire up new getumask system call on x86.
@ 2016-04-13 12:36     ` kbuild test robot
  0 siblings, 0 replies; 12+ messages in thread
From: kbuild test robot @ 2016-04-13 12:36 UTC (permalink / raw)
  To: Richard W.M. Jones
  Cc: kbuild-all, linux-kernel, tglx, mingo, hpa, akpm, luto, viro,
	mathieu.desnoyers, zab, emunson, paulmck, aarcange, josh, xemul,
	sfr, milosz, rostedt, arnd, ebiederm, gorcunov, iulia.manda21,
	dave.hansen, mguzik, adobriyan, dave, linux-api

[-- Attachment #1: Type: text/plain, Size: 1417 bytes --]

Hi Richard,

[auto build test WARNING on v4.6-rc3]
[also build test WARNING on next-20160413]
[cannot apply to tip/x86/core tip/auto-latest]
[if your patch is applied to the wrong git tree, please drop us a note to help improving the system]

url:    https://github.com/0day-ci/linux/commits/Richard-W-M-Jones/vfs-Define-new-syscall-getumask/20160413-194722
config: xtensa-allmodconfig (attached as .config)
reproduce:
        wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        make.cross ARCH=xtensa 

All warnings (new ones prefixed by >>):

   <stdin>:1298:2: warning: #warning syscall userfaultfd not implemented [-Wcpp]
   <stdin>:1301:2: warning: #warning syscall membarrier not implemented [-Wcpp]
   <stdin>:1304:2: warning: #warning syscall mlock2 not implemented [-Wcpp]
   <stdin>:1307:2: warning: #warning syscall copy_file_range not implemented [-Wcpp]
   <stdin>:1310:2: warning: #warning syscall preadv2 not implemented [-Wcpp]
   <stdin>:1313:2: warning: #warning syscall pwritev2 not implemented [-Wcpp]
>> <stdin>:1316:2: warning: #warning syscall getumask not implemented [-Wcpp]

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

[-- Attachment #2: .config.gz --]
[-- Type: application/octet-stream, Size: 44814 bytes --]

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

* Re: [PATCH 2/2] x86: Wire up new getumask system call on x86.
@ 2016-04-13 12:36     ` kbuild test robot
  0 siblings, 0 replies; 12+ messages in thread
From: kbuild test robot @ 2016-04-13 12:36 UTC (permalink / raw)
  To: Richard W.M. Jones
  Cc: kbuild-all-JC7UmRfGjtg, linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	tglx-hfZtesqFncYOwBW4kG4KsQ, mingo-H+wXaHxf7aLQT0dZR+AlfA,
	hpa-YMNOUZJC4hwAvxtiuMwx3w,
	akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b,
	luto-DgEjT+Ai2ygdnm+yROfE0A,
	viro-RmSDqhL/yNMiFSDQTTA3OLVCufUGDwFn,
	mathieu.desnoyers-vg+e7yoeK/dWk0Htik3J/w,
	zab-H+wXaHxf7aLQT0dZR+AlfA, emunson-JqFfY2XvxFXQT0dZR+AlfA,
	paulmck-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8,
	aarcange-H+wXaHxf7aLQT0dZR+AlfA, josh-iaAMLnmF4UmaiuxdJuQwMA,
	xemul-bzQdu9zFT3WakBO8gow8eQ, sfr-3FnU+UHB4dNDw9hX6IcOSA,
	milosz-B5zB6C1i6pkAvxtiuMwx3w, rostedt-nx8X9YLhiw1AfugRpC6u6w,
	arnd-r2nGTMty4D4, ebiederm-aS9lmoZGLiVWk0Htik3J/w,
	gorcunov-GEFAQzZX7r8dnm+yROfE0A,
	iulia.manda21-Re5JQEeQqe8AvxtiuMwx3w,
	dave.hansen-VuQAYsv1563Yd54FQh9/CA,
	mguzik-H+wXaHxf7aLQT0dZR+AlfA, adobriyan-Re5JQEeQqe8AvxtiuMwx3w,
	dave-h16yJtLeMjHk1uMJSBkQmQ, linux-api-u79uwXL29TY76Z2rM5mHXA

[-- Attachment #1: Type: text/plain, Size: 1417 bytes --]

Hi Richard,

[auto build test WARNING on v4.6-rc3]
[also build test WARNING on next-20160413]
[cannot apply to tip/x86/core tip/auto-latest]
[if your patch is applied to the wrong git tree, please drop us a note to help improving the system]

url:    https://github.com/0day-ci/linux/commits/Richard-W-M-Jones/vfs-Define-new-syscall-getumask/20160413-194722
config: xtensa-allmodconfig (attached as .config)
reproduce:
        wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        make.cross ARCH=xtensa 

All warnings (new ones prefixed by >>):

   <stdin>:1298:2: warning: #warning syscall userfaultfd not implemented [-Wcpp]
   <stdin>:1301:2: warning: #warning syscall membarrier not implemented [-Wcpp]
   <stdin>:1304:2: warning: #warning syscall mlock2 not implemented [-Wcpp]
   <stdin>:1307:2: warning: #warning syscall copy_file_range not implemented [-Wcpp]
   <stdin>:1310:2: warning: #warning syscall preadv2 not implemented [-Wcpp]
   <stdin>:1313:2: warning: #warning syscall pwritev2 not implemented [-Wcpp]
>> <stdin>:1316:2: warning: #warning syscall getumask not implemented [-Wcpp]

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

[-- Attachment #2: .config.gz --]
[-- Type: application/octet-stream, Size: 44814 bytes --]

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

* Re: [PATCH 1/2] vfs: Define new syscall getumask.
@ 2016-04-13 12:40       ` Cyrill Gorcunov
  0 siblings, 0 replies; 12+ messages in thread
From: Cyrill Gorcunov @ 2016-04-13 12:40 UTC (permalink / raw)
  To: Florian Weimer, Richard W.M. Jones
  Cc: linux-kernel, tglx, mingo, hpa, akpm, luto, viro,
	mathieu.desnoyers, zab, emunson, paulmck, aarcange, josh, xemul,
	sfr, milosz, rostedt, arnd, ebiederm, iulia.manda21, dave.hansen,
	mguzik, adobriyan, dave, linux-api

On Wed, Apr 13, 2016 at 02:21:35PM +0200, Florian Weimer wrote:
> * Richard W. M. Jones:
> 
> > +SYSCALL_DEFINE0(getumask)
> > +{
> > +	return current->fs->umask;
> > +}
> 
> The convention seems to be to call current_umask(), instead of
> inlining its contents.

Yes, please use existing.

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

* Re: [PATCH 1/2] vfs: Define new syscall getumask.
@ 2016-04-13 12:40       ` Cyrill Gorcunov
  0 siblings, 0 replies; 12+ messages in thread
From: Cyrill Gorcunov @ 2016-04-13 12:40 UTC (permalink / raw)
  To: Florian Weimer, Richard W.M. Jones
  Cc: linux-kernel-u79uwXL29TY76Z2rM5mHXA, tglx-hfZtesqFncYOwBW4kG4KsQ,
	mingo-H+wXaHxf7aLQT0dZR+AlfA, hpa-YMNOUZJC4hwAvxtiuMwx3w,
	akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b,
	luto-DgEjT+Ai2ygdnm+yROfE0A,
	viro-RmSDqhL/yNMiFSDQTTA3OLVCufUGDwFn,
	mathieu.desnoyers-vg+e7yoeK/dWk0Htik3J/w,
	zab-H+wXaHxf7aLQT0dZR+AlfA, emunson-JqFfY2XvxFXQT0dZR+AlfA,
	paulmck-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8,
	aarcange-H+wXaHxf7aLQT0dZR+AlfA, josh-iaAMLnmF4UmaiuxdJuQwMA,
	xemul-bzQdu9zFT3WakBO8gow8eQ, sfr-3FnU+UHB4dNDw9hX6IcOSA,
	milosz-B5zB6C1i6pkAvxtiuMwx3w, rostedt-nx8X9YLhiw1AfugRpC6u6w,
	arnd-r2nGTMty4D4, ebiederm-aS9lmoZGLiVWk0Htik3J/w,
	iulia.manda21-Re5JQEeQqe8AvxtiuMwx3w,
	dave.hansen-VuQAYsv1563Yd54FQh9/CA,
	mguzik-H+wXaHxf7aLQT0dZR+AlfA, adobriyan-Re5JQEeQqe8AvxtiuMwx3w,
	dave-h16yJtLeMjHk1uMJSBkQmQ, linux-api-u79uwXL29TY76Z2rM5mHXA

On Wed, Apr 13, 2016 at 02:21:35PM +0200, Florian Weimer wrote:
> * Richard W. M. Jones:
> 
> > +SYSCALL_DEFINE0(getumask)
> > +{
> > +	return current->fs->umask;
> > +}
> 
> The convention seems to be to call current_umask(), instead of
> inlining its contents.

Yes, please use existing.

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

end of thread, other threads:[~2016-04-13 12:44 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-04-13 11:43 [PATCH 0/2] vfs: Define new syscall getumask Richard W.M. Jones
2016-04-13 11:43 ` Richard W.M. Jones
2016-04-13 11:43 ` [PATCH 1/2] " Richard W.M. Jones
2016-04-13 12:21   ` Florian Weimer
2016-04-13 12:21     ` Florian Weimer
2016-04-13 12:40     ` Cyrill Gorcunov
2016-04-13 12:40       ` Cyrill Gorcunov
2016-04-13 11:43 ` [PATCH 2/2] x86: Wire up new getumask system call on x86 Richard W.M. Jones
2016-04-13 12:36   ` kbuild test robot
2016-04-13 12:36     ` kbuild test robot
2016-04-13 12:05 ` [PATCH 0/2] vfs: Define new syscall getumask Pavel Emelyanov
2016-04-13 12:05   ` Pavel Emelyanov

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.