Messages in this thread | | | From | Andy Lutomirski <> | Date | Fri, 16 Mar 2018 19:03:53 +0000 | Subject | Re: [PATCH v2 03/36] mm: use do_futex() instead of sys_futex() in mm_release() |
| |
On Fri, Mar 16, 2018 at 6:43 PM, Darren Hart <dvhart@infradead.org> wrote: > On Thu, Mar 15, 2018 at 08:04:56PM +0100, Dominik Brodowski wrote: >> sys_futex() is a wrapper to do_futex() which does not modify any >> values here: >> >> - uaddr, val and val3 are kept the same >> >> - op is masked with FUTEX_CMD_MASK, but is always set to FUTEX_WAKE. >> Therefore, val2 is always 0. >> >> - as utime is set to NULL, *timeout is NULL >> >> Cc: Thomas Gleixner <tglx@linutronix.de> >> Cc: Ingo Molnar <mingo@redhat.com> >> Cc: Peter Zijlstra <peterz@infradead.org> >> Cc: Darren Hart <dvhart@infradead.org> >> Cc: Andrew Morton <akpm@linux-foundation.org> >> Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net> > > Hi Dominik, > > I'm missing the "why" part here. What is it you are trying to address? > > do_futex is not currently in use outside of the futex implementation, > while sys_futex is. This decouples the interface from the > implementation. While this is perhaps less critical within the > kernel, I don't see a compelling reason to increase the coupling > between the mm and futex implementations. > > Without a compelling WHY, Nack from me. >
We want to make some changes to the way that the syscall entry code invokes syscalls, and these changes will make it impossible to call sys_xyz() functions from the kernel. So we can make sys_futex() be a trivial wrapper around a new ksys_futex(), or we can do a patch like this.
| |