From patchwork Sat Jan 28 11:13:10 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Helge Deller X-Patchwork-Id: 9543179 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id DAAE960415 for ; Sat, 28 Jan 2017 11:20:45 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id DC7EC269DA for ; Sat, 28 Jan 2017 11:20:45 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id D13AA26E54; Sat, 28 Jan 2017 11:20:45 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.4 required=2.0 tests=BAYES_00,FREEMAIL_FROM, RCVD_IN_DNSWL_HI,RCVD_IN_SORBS_SPAM autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 55C54269DA for ; Sat, 28 Jan 2017 11:20:45 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751225AbdA1LUp (ORCPT ); Sat, 28 Jan 2017 06:20:45 -0500 Received: from mout.gmx.net ([212.227.15.18]:57884 "EHLO mout.gmx.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750858AbdA1LUl (ORCPT ); Sat, 28 Jan 2017 06:20:41 -0500 Received: from ls3530.fritz.box ([92.203.22.148]) by mail.gmx.com (mrgmx002 [212.227.17.190]) with ESMTPSA (Nemesis) id 0LhfZR-1cBnS42373-00mrHN; Sat, 28 Jan 2017 12:13:13 +0100 Date: Sat, 28 Jan 2017 12:13:10 +0100 From: Helge Deller To: linux-kernel@vger.kernel.org, Andrew Morton Cc: linux-parisc@vger.kernel.org Subject: [PATCH] prctl: implement PR_GET_ENDIAN for all architectures Message-ID: <20170128111310.GA13389@ls3530.fritz.box> MIME-Version: 1.0 Content-Disposition: inline User-Agent: Mutt/1.7.1 (2016-10-04) X-Provags-ID: V03:K0:II7F0BBqrOCvixsFG2gO9bP9lubUB7QqmfG9ZyIXZcaSClwkJUQ U36JdvVihhs823BQl1FAjB2VYsuj0IDBciOr9+Dpxw5orOI+VrN88H1sOXgfiGA9ziEdMl2 2+eltUM96PaXlill6lui/zPQTPUR+0XFUiMDlEH8LYis5nZQnxjNBSA9Ea8U0MzGT83B2og EMbRVxB/5ZSNqC/h5artQ== X-UI-Out-Filterresults: notjunk:1; V01:K0:bFaxLioJpNU=:J45NlnBByt2dizMjj4k6Yr TTPmM6cHl6rPo2WVh+QPvKRYSX19Mr2s11YdYUmsiziW9ALFl/l7wNDiBcILAgqQAgSO6pWOC KEihK05mnM6oEnQVwB1V/MdlzpDLQtuWig6kZgCu+ATY1kl+K0U2B+iCQ9D6Qjqz1fNJRyp3p H9NIUcPRM4OWf4KCI6MxsZDBL3hMHBaAxMZAfIcYUiKYtxFd8te4/C82LF48mdyyspkXAKhhh DbOIzl8hfn3awX4RP8JtBTklaCAG2oEPhT0VgGeJ1uPtsvqimbmK1TKkbLPM2IQCCV72r0q0p iP2JDY0i3lcPphwrUr72v6GY7cws6CRuhdv/bhDYFuoKJzDq+MnhpEL+8ZJL54GD2B3BEYx0T pC61uZlYpkX/130A6x6LtYxMI9kl0gv0wZh1IVhBqfT9WOX9Bbx6kPwRrfYzUklJTFqQxBXYn 3w6qLHvc4X0JsOmDk8lc1Gi4eJIrJP68NEXxY4kvcYamF8pO31yrrLagfEo3Ro260fJ+o2PAo am+XyT6LenN+zl2od1tyUYrMafRU+yYDzsIyQitYXOjy1pjJYDL8zACQ8jm8F685nyJiYxYsh Spw7XQsckBFTxnU5y9EeIdQ1IjKHuzY83hBJYsP0ShLJjBrTBqzUsliMUO62/naZjmGiXG4e6 GPLuowiIwlLVaLdsqenNHN3uGrrv10ie5C1vTeFMFsx+L/wsRbVfSDOdOygMHMbhesUYVoJQH SRwVLxYfqrYrDnyjA5TnV3RAs8mAzcI+TtzclYV1LXKijJbQ0ogxU6qYgtQ= Sender: linux-parisc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-parisc@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP The prctl(PR_GET_ENDIAN) syscall was added to Kernel 2.6.18, but implemented for PowerPC only. This trivial patch adds support for this syscall for all other architectures. Signed-off-by: Helge Deller --- To unsubscribe from this list: send the line "unsubscribe linux-parisc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/kernel/sys.c b/kernel/sys.c index 842914e..5818e5e 100644 --- a/kernel/sys.c +++ b/kernel/sys.c @@ -79,9 +79,6 @@ #ifndef GET_FPEXC_CTL # define GET_FPEXC_CTL(a, b) (-EINVAL) #endif -#ifndef GET_ENDIAN -# define GET_ENDIAN(a, b) (-EINVAL) -#endif #ifndef SET_ENDIAN # define SET_ENDIAN(a, b) (-EINVAL) #endif @@ -2136,7 +2133,13 @@ SYSCALL_DEFINE5(prctl, int, option, unsigned long, arg2, unsigned long, arg3, return -EFAULT; break; case PR_GET_ENDIAN: +#ifdef GET_ENDIAN error = GET_ENDIAN(me, arg2); +#elif defined(__BIG_ENDIAN) + error = put_user(PR_ENDIAN_BIG, (unsigned int __user *)arg2); +#else + error = put_user(PR_ENDIAN_LITTLE, (unsigned int __user *)arg2); +#endif break; case PR_SET_ENDIAN: error = SET_ENDIAN(me, arg2);