From mboxrd@z Thu Jan 1 00:00:00 1970 From: Kyle Huey Subject: Re: [PATCH v3 1/3] syscalls,x86 Expose arch_prctl on x86-32. Date: Fri, 16 Sep 2016 08:56:30 -0700 Message-ID: References: <20160915233324.6060-1-khuey@kylehuey.com> <20160915233324.6060-2-khuey@kylehuey.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Return-path: In-Reply-To: Sender: linux-api-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org To: Thomas Gleixner Cc: Robert O'Callahan , open list , Dave Hansen , Andy Lutomirski , Dmitry Safonov <0x7f454c46-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>, Borislav Petkov , Linux API , "moderated list:XEN HYPERVISOR INTERFACE" , Ingo Molnar , "H. Peter Anvin" , "maintainer:X86 ARCHITECTURE (32-BIT AND 64-BIT)" , Jeff Dike , Richard Weinberger , Al Viro , David Howells , Anna Schumaker , Andy Lutomirski , Zach Brown , Eric B Munson List-Id: linux-api@vger.kernel.org On Fri, Sep 16, 2016 at 12:50 AM, Thomas Gleixner wrote: > On Thu, 15 Sep 2016, Kyle Huey wrote: > > First of all, please add a cover letter [PATCH 0/N] to your patch series > and send it with something which provides proper mail threading. > See: git-send-email, quilt I did ... seems like using git-send-email with --cc-cmd=scripts/get_maintainer.pl is not a good idea since people get CCd to some parts of the thread and not others. https://lkml.org/lkml/2016/9/15/811 >> arch_prctl is currently 64-bit only. Wire it up for 32-bits, as a no-op for >> now. Rename the second arg to a more generic name. > > This changelog is useless. > > - it does not provide any rationale for this change, i.e. why this is > required. Just because its 64bit only is not a reason. > > - "Rename the second arg to a more generic name" does not give > any useful information. > > Misleading information is worse than no information. > > Further your patch does 5 things at once. It wants to be split into parts: > > 1) Rename do_arch_prctl() and change the argument name, > >> -long do_arch_prctl(struct task_struct *task, int code, unsigned long addr) >> +long do_arch_prctl_64(struct task_struct *task, int code, unsigned long arg2) > > 2) Provide do_arch_prctl_common() and hook it up to the arch_prctl syscall > >> -long sys_arch_prctl(int code, unsigned long addr) >> +SYSCALL_DEFINE2(arch_prctl, int, code, unsigned long, arg2) >> { >> - return do_arch_prctl(current, code, addr); >> + long ret; >> + >> + ret = do_arch_prctl_64(current, code, arg2); >> + if (ret == -EINVAL) >> + ret = do_arch_prctl_common(current, code, arg2); >> + >> + return ret; >> } > > 3) Implement the compat version Ok. - Kyle