From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752178AbdBATrY (ORCPT ); Wed, 1 Feb 2017 14:47:24 -0500 Received: from mout.gmx.net ([212.227.15.15]:52098 "EHLO mout.gmx.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752145AbdBATrW (ORCPT ); Wed, 1 Feb 2017 14:47:22 -0500 Subject: Re: [PATCH] prctl: implement PR_GET_ENDIAN for all architectures To: Andrew Morton Cc: linux-kernel@vger.kernel.org, linux-parisc@vger.kernel.org, Michael Kerrisk , linux-api@vger.kernel.org References: <20170128111310.GA13389@ls3530.fritz.box> <20170131162624.5a85ec47c6ee22e5cc03c4eb@linux-foundation.org> From: Helge Deller Message-ID: <7c60f97a-4b63-5eff-e837-186f9a31c5a2@gmx.de> Date: Wed, 1 Feb 2017 20:47:06 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.6.0 MIME-Version: 1.0 In-Reply-To: <20170131162624.5a85ec47c6ee22e5cc03c4eb@linux-foundation.org> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:PHxqM/nzqJxeKEaKZtygYMTudm7cQzqqBm/32yY1r9NhvAzYGzY rHAoHiSatVBPtTCo8JGmrTWJvoBP1+hSLg2yu2ISRc1LZM/q40ijnnpWw3TZTHk3yKGpqNJ mCt+JmV1C6mKfi9GTTLcjGKja1+UVwbYBTf4mL+ObPoq2zXSw8RPT8BL2XY3x1H7/gSrclD L/mX8jan76MQY1wZ4yu2A== X-UI-Out-Filterresults: notjunk:1;V01:K0:HBVLoN2ulOw=:J7lOkZHVdOd2doSZ/2sGWF b7J8Rh7Wh1FJGjGrW19eUhl2hgxhiuKdocjj2pP6XlypEr5BRmAGLm+/cXJ12i9IyQ8JPdNDM T1RDeA39G9TsFXwxVYQabvaRU6dgBURw9WzjgeGBTIF1LpHD16oPkLbcQEy8hbUTlGxghl9q8 u0CQ7fXn/U1wUxc4C5bgq2czkWKJ/Tq4obtgCrnbqBUjNcwlwAd98SWqznm3n/Gt+wk7IwzHf wMzfX7cl7uO5owSTZlLj/l/BWP++vSy2+UPwaDO1csxhYNCFekgc1zcBitMBwYqnbZKpX4rYy Zf/ox3T6yLKVOMkDBDZ2WjLVKDmlE0qONccOIM5qmGTAjhngYxokQysgmWTr42T36v2pFcDTo FJpdGHz6VQgM6IolN/zTXhPnD1mr4wGnkLHVz+8OWvzc7C7V3fEDIa7aI+IacBvKMo8xNNw5e I1mMiC+9jNkIaVohRtUhwxIszg32WWWg+4bAow06HFZ5uP6b+q1Wfe6ZdVyjqbh5h8z1SOEj/ 7MfF1g87hIgwh9xE/s/J19zMz+RMvegRIzIw2L8qcwP0uBtTp+lIWZlwRrGkQXfln7SNxeeM5 H5uoHzPpX6uk2/smeWL8Z2tLowwSmi864Vm1VAtd+IM8l/X5pPse4L6Q5ykh6smRU9Bc9OOwF hGHeX1YMly+wkLci7G9rxcQjjMnQQspb+0mOlJKTBpIigWiw6Gmkt4K/2iqykPy1TTQW8ggGO noI2Z3aOBaPai6+15cWo2ZLFigWdBKj7jlGpjEtK1LKvlkrbHrbVQ8UvcipKaxyFWTxaosRV4 RU2NpyT Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Andrew, On 01.02.2017 01:26, Andrew Morton wrote: > On Sat, 28 Jan 2017 12:13:10 +0100 Helge Deller wrote: > >> 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. > > Seems reasonable. I guess. Heck, I did forgot but I submitted a similar patch 8 years ago: http://www.serverphorums.com/read.php?12,51902 > Why is this needed? It's not actually needed beside the trivial reason of providing an interface not just for one single architecture. After reading the discussion from 2009 again, I'm fine if you would simply drop the patch. The decision up to you. > The man page will need updating. It says "PowerPC only". In case you would include the patch I'd send patches to update the manpage. Thanks, Helge >> 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);