Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933325AbcKHNEq (ORCPT ); Tue, 8 Nov 2016 08:04:46 -0500 Received: from mail-db5eur01on0107.outbound.protection.outlook.com ([104.47.2.107]:41808 "EHLO EUR01-DB5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753047AbcKHNEp (ORCPT ); Tue, 8 Nov 2016 08:04:45 -0500 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=dsafonov@virtuozzo.com; Subject: Re: [PATCHv3 1/8] powerpc/vdso: unify return paths in setup_additional_pages To: Michael Ellerman , References: <20161027170948.8279-1-dsafonov@virtuozzo.com> <20161027170948.8279-2-dsafonov@virtuozzo.com> <87mvhaltl5.fsf@concordia.ellerman.id.au> CC: Benjamin Herrenschmidt , Paul Mackerras , Andy Lutomirski , Oleg Nesterov , , From: Dmitry Safonov Message-ID: <4fac19b7-aeec-f2b7-02fe-85c219151c3b@virtuozzo.com> Date: Tue, 8 Nov 2016 15:29:14 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0 MIME-Version: 1.0 In-Reply-To: <87mvhaltl5.fsf@concordia.ellerman.id.au> Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [195.214.232.10] X-ClientProxiedBy: VI1P194CA0024.EURP194.PROD.OUTLOOK.COM (10.175.178.34) To AM5PR0801MB1729.eurprd08.prod.outlook.com (10.169.247.7) X-MS-Office365-Filtering-Correlation-Id: aebd94ea-6412-46a8-3d2c-08d407d34113 X-Microsoft-Exchange-Diagnostics: 1;AM5PR0801MB1729;2:fLu+W6kqhQU1CiGqqi8FrTkmeu1zZ+8DaA/SKnPJPRkeTGcLB0BD7NseEG8NE0+n2HbAVlIefRWR3jt/GFxdGvnIqD+AW8GrfKu+cvBOyuV+6Dq6bzKW+xc3kBuvpfpigYBLIUC5jNcGawG1tTomW6/+L8fr9SiqC4BNmYur+nztuW8sYBc2P+jaacIykKFfqo36ZrXIstaZMiV1mE8KUg==;3:Z2BX212gU7Y+AJExmwKNWS126e+gfDzcaw5ffY3t7/r/nTD4jtaJndc/tSnPL7ctZyp4g1m96hUYHOT5bzRXrn9rbbsB4vb9vZJbnls0mzlO9YvSjG8Mn2DipkqF0PQymxPPvqAi9geilyTySbz9fQ==;25:hji5TFQb2SPMt6r4f7e5Ds2mjyZ0YwcVaZoPVrnOFuqkr9krnRZOVPGaNrL44OA4mxzoJuDl4zAg4Md5Gj5aUoGLO1BrQOixnZt3VMnURSa1/CQlpUerUoHEuEH5UFFgKsLiiFP52EWHoxL9zxLhjq8HiyCUuB5Gg5Mem+bsCmYWdeV+AIaD71keMwUq+hRSHgm280LTME7lejGTFLc9BoSqTAs1NpwfXYyNX+k2aEKELBM90xTEXmL+ueJLT0iYRH4l454jeFVoBscJFS93ZTqlb6nP5qmhYqewnkNW0DVKViD4BSVj2Lr7QN6IyYuVUUSm6LP8ajvJQE23PsL/S+ZfQAAGVY5smOveRA3rCMgfv8LMnRRYCLt9626vnPuGpGsX+fbN4E6kV1zyhRJYmf0sueHvg35VQUzwWrhUaJCI8bEqzbGSh5oD6HSgx/5i X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:AM5PR0801MB1729; X-Microsoft-Exchange-Diagnostics: 1;AM5PR0801MB1729;31:CogSiv8kU4+/ySgCKvevSqDcgFpjMc0t9dgtIuv3ss7zuNHYBb+lEm2LFu8cqVnbWm4a4eef1LqmtBiQ2u+PLbixFtKiGwpluUZaJbWtDckubBamX+ay+bl61eO7MUm0RafJibH5iGaN/uBNwroBvi/7b4tiazqL9aWktq9bQFB6LWH/pwEYj3wYIJgOuQ9z+j0ukF62npWWaDsJbGkAI7hTKOXH+ZlVwbyKxgwXMlR8JCNX2J5FVz7FPtKgJ5ekPlIcPB506f5QaIxR4Rj3tA==;20:oxcpNcZp6JOIJ/HWE4+fI4sxW/DOxihgyUCZq0Z8yk9474RXNlq7qfOJlyXpX+eBCUvv/u5ZS8UquLZFsMsOze+7wcnPfMJEUECDIZTPBBbqxH8fGuwAM0GjLZl5KESs9o+RUcm+CrttziYdEHld0XLS8wuvhJPpXmZoo/ZyAYq9vtYJIUdGTJFEqYtEhxE03ghvzBVjYe0SDF31BjBLJrHLxyjRcuncKoa/VOnUUEYj4rgx/XoJefhWQ++tu7SP X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(65623756079841); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040176)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(6043046)(6042046);SRVR:AM5PR0801MB1729;BCL:0;PCL:0;RULEID:;SRVR:AM5PR0801MB1729; X-Microsoft-Exchange-Diagnostics: 1;AM5PR0801MB1729;4:WX5tKcs8woryGgX0kinnK4XYn/xbRsmY2bwhIpmYY5jjzwC0Q1GPeocYZ5f1SZ1JSmZjJwyUpBpzyekV6dCoC5cwq1W0XlLjcUuQoym6+oT6QyMASfxIiLuSP0zHPLyCH/l5q4Xk3IFXxUX2qTpy/KFFZ4P9ssa+l8id0HzAlYMk3ab3ZrYYexho/N7aa3oBWGqa0nUP1V4p3aNrbAtqyW3B5lequ5xY++68yidinJCkvoczkm56h3UsDpUQW0FBYWhHjSv1NaR8gu5DlOyiea0UeiXQqEDjY437dO6/bVS2IxtQwc9kKjtpepQYKTF+f8Az5FsmtgiX6ETvAkVK5Z4DTFP6QrhZyrGjf0fB2EnfBENipAoo/dMfYnkuh946CPa7ZB5ZUAlgVp99IGkvTUk/YKPwNtBLDt5VgxEZbCj64ZUdfD7/MhvRomSah85ADsEYvb5NpTYuqTOrC71L66Ua9d/PgPuP2FcQrPHiuBc= X-Forefront-PRVS: 01208B1E18 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6049001)(6009001)(7916002)(24454002)(51914003)(51444003)(54534003)(189002)(377454003)(199003)(101416001)(47776003)(68736007)(106356001)(2906002)(65806001)(76176999)(65956001)(54356999)(66066001)(50466002)(50986999)(97736004)(64126003)(65826007)(86362001)(4326007)(36756003)(83506001)(5660300001)(31696002)(305945005)(7846002)(189998001)(7736002)(92566002)(23746002)(31686004)(6666003)(42186005)(77096005)(105586002)(4001350100001)(8676002)(5001770100001)(33646002)(6116002)(3846002)(586003)(81156014)(230700001)(81166006)(2950100002);DIR:OUT;SFP:1102;SCL:1;SRVR:AM5PR0801MB1729;H:[10.30.26.154];FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1;AM5PR0801MB1729;23:VXwC4Thet8wtspuIndcDmBu6+nxt3v48xwW?= =?Windows-1252?Q?5G0ExvG//rXbrY5SE/7OJ9HjIo5tQPXzg3qUOelMD75mwzmAZGvOQEkx?= =?Windows-1252?Q?raX1NORVGqlv4lcFQypBQuACKx1HjiG+crYv+MaWuH1VjxFNmYKyWTCt?= =?Windows-1252?Q?aJE/soZA4ZZ8/GgPL53Ct02U3jGliusl6XCNmVjNWgTRaKLTNRqa0JaO?= =?Windows-1252?Q?PBKifRU35gEZr4rVH8C+BP4Ej6q2rJq25WG8iWVilHV0EEoRjJrp2lSk?= =?Windows-1252?Q?22n7sz6SwdeoQyKzzFjdhO4eYsQhxwwPHAQNv730h8CAY+6Z0DGQ/wWm?= =?Windows-1252?Q?iUStPrv4xBMsILHMKLfhiqkEnYu5zghfOCeb9htaPImbs3I0D+eJmYer?= =?Windows-1252?Q?Lrc+Kg2sw0fMD+XX1HP9uuJHia4s2kxvcnoqH1Prh/05m8V68HjWNDUr?= =?Windows-1252?Q?YsRTQfYigJkov+dAN2BH9EDruWMsAgqM19+ReUMJhNo7IKHP3GxdZ5Sw?= =?Windows-1252?Q?xPkXTbBHc5MzQ18NrFwf0Y0li6cYLh4xwcbi7EocOFxC0JkqMw7SVTl/?= =?Windows-1252?Q?ihl6E72nlTlHK7HRL5G7NDqA9CrxR4Hk8GD/5INMxADRDTAYaoisqVcs?= =?Windows-1252?Q?g2opPZ94pGHxjVjuhC1KXKxKmxyBWNg7hZN+hl9WzjirwwRo2KAX4T41?= =?Windows-1252?Q?BIbWdGavTumcf1bMr8jUG6fDles07JghaK+6MP3r+2q8MTh/VZj4hGtz?= =?Windows-1252?Q?kuNkm1BF3Jab+6xI17wHiw7rUzP65DErlTliyw4q6/nXJv4Ld3oQRZa4?= =?Windows-1252?Q?Jnv5E+BvlGG2X6tf0W7bvA9Itag8Apd8C24ziJqf/OrkAZH5Vp8SfzP3?= =?Windows-1252?Q?A+rSd1Luzxq4iPXTrEVR8MQzmlWt+Qc/HDKNbxZSmI7omc/U7C9uYZd8?= =?Windows-1252?Q?vPlkDnwyf3w4BLqTaPNWl/RNFiQfhXEQ21e6UbgvAogPbCjuGX6JkXZm?= =?Windows-1252?Q?NovEj3Vr9MtOivs9/FUrLFWz8xkzjD7OxUbZNkiBA2KXHj5PNgJP7rxH?= =?Windows-1252?Q?op1KQAPaHPWoBKJgxuwmk+eVWEqJxy2HI1qTw5/hc6dHQL5BwDuhu2Db?= =?Windows-1252?Q?iWpJE8ZUD+asrzEjv3qde/1EKSXb5Uvw6+11KSiPQYIr1705L1yU9Pnw?= =?Windows-1252?Q?14PCU9IQzTaAMVHBm6EYx/oMfEA/guEgdi5rCDqliHGnwBdYrB6ILnJE?= =?Windows-1252?Q?hzkUuSAO4JxU+kaPq0ZRvpl6Pbrv/9S71Ai7jjjipzMaFMqVXEF0e9Sy?= =?Windows-1252?Q?1OqnPG8v6SX7BIX+xmOSaRtHD99Dlj1HMxkTvBzpM1M8kVYnYPJ//Yil?= =?Windows-1252?Q?XCwjA90NniZgtl8+WWkNE9c2COLfwBpRztqqOUCx/Tuu/S9a7tiKMEvW?= =?Windows-1252?Q?x5csqizzk6ya6xHAaK1xp?= X-Microsoft-Exchange-Diagnostics: 1;AM5PR0801MB1729;6:TQKUrKL/xrCeG4f1vp8SVUF419IvWOE2QupO4F+0F/ZwyDSDDmrPrPme21vJ/w9/Nzzss8Ao6bxlopViVQX7oIZap7DcxGZyHpac1WtkJtSnMfGoDt6GE3RPzbsHcBm6VYcQB4dQ1sIEnphihUwTnSfmg6ERV1wSa43aC92TgG9KuqQRRjrzPMS+oVFbZX2T6G2VDlbRHdE6FvhEGaOcgLw76RPPr2ALnJl0gNab9HRdrXdEEX13I7+LNT0rpXHSMJwKK2Vn5usOUPjBmxHlvgy9n9uTQKq/82BOEA/uxaAB/1hRC5iSW+dYjJEE7KaxTEtv+gJxAgmwzKiTHEG9mw==;5:LJoqX9SEcBMu2DXVSzx8jiC/FMRgn52N+1sUJzy5XjqfIxksRQbYiF9hBwh6KbFaKCqZCheu1irdJiTb7faFLuaJ0m7y06JUQczUHx/PKJ2nWLAGvZ1zc6xBn35BH85+XU94hfBnpQJy/7voX+ZTQg4sTieSivHgc2F6KgT/yUU=;24:orG6fu+rowt5sEGqnis1zL65rQ9w4VwX5TfZQjoHByJNr6DY1Ad+EnOWlpR8Xed3RmR7nJShKxs1M8JMfXyJTd7dPQO3/S1hH1BO2NpwpUY= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;AM5PR0801MB1729;7:XYN2M3FSwGoXOF7nqXGy6uPreoDrq0gm3HH9Af5a65Mc5jqx4KDHg+Gh3QzJ+HYPjgTrfl8M/dxPb6zxcR48XvfpnlQmZKtuq0BqZLH37ldsWfcedttcfoTHztwLSVsuqph+XUF499eUzY/SCGXkUhZvnhc7baZ8DjLDiwnnSA6oNbgSGLSUksmLoGENgCqzWmO38tHoXzPiOA6mH3b3tw6FLMhZgkC/BwUu3d92rfnnUh3B8g0g9qGD/ll+xQEGEinz+JVPkiU35XdpguuHNl8264wWh2c17ivaU7SY/yZw+9RG+0VPozefxq/PzVCiy/yv12idA0EN/4iZTUh2TMzD2VtD93rMKyeWij/bwQo=;20:6nzrD/JQ3bySrC0UsbcIQrhq2DbsOVb9I6M0eqDBaT3XHLjAfIRm4lG2kREhxwqygUjJIhxi6NgtNgarz+xmL0ZsVQPYtHwb3/WoUzY8LubexXYcRxc41Vp55qSOXqPjJkOlz/apWm9/ktizci1SLfnZ4lyjy7rPqgOsC+YM1iM= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Nov 2016 12:32:06.8027 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0801MB1729 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3238 Lines: 106 On 11/08/2016 03:10 AM, Michael Ellerman wrote: > Hi Dmitry, > > Thanks for the patches. > > Dmitry Safonov writes: >> Impact: cleanup > > I'm not a fan of these "Impact" lines, especially when they're not > correct, ie. this is not a cleanup, a cleanup doesn't change logic. > >> Rename `rc' variable which doesn't seems to mean anything into >> kernel-known `ret'. > > 'rc' means "Return Code", it's fairly common. I see at least ~8500 > "int rc" declarations in the kernel. > > Please don't rename variables and change logic in one patch. Ok, right - just didn't saw `rc' that freq as `ret'. Will leave the name. >> Combine two function returns into one as it's >> also easier to read. >> >> Cc: Benjamin Herrenschmidt >> Cc: Paul Mackerras >> Cc: Michael Ellerman >> Cc: Andy Lutomirski >> Cc: Oleg Nesterov >> Cc: linuxppc-dev@lists.ozlabs.org >> Cc: linux-mm@kvack.org >> Signed-off-by: Dmitry Safonov >> --- >> arch/powerpc/kernel/vdso.c | 19 +++++++------------ >> 1 file changed, 7 insertions(+), 12 deletions(-) >> >> diff --git a/arch/powerpc/kernel/vdso.c b/arch/powerpc/kernel/vdso.c >> index 4111d30badfa..4ffb82a2d9e9 100644 >> --- a/arch/powerpc/kernel/vdso.c >> +++ b/arch/powerpc/kernel/vdso.c >> @@ -154,7 +154,7 @@ int arch_setup_additional_pages(struct linux_binprm *bprm, int uses_interp) >> struct page **vdso_pagelist; >> unsigned long vdso_pages; >> unsigned long vdso_base; >> - int rc; >> + int ret = 0; > > Please don't initialise return codes in the declaration, it prevents the > compiler from warning you if you forget to initialise it in a > particular path. > > AFAICS you never even use the default value either. Oh, right - I split this patch from converting install_special_mapping() to special vma version _install_special_mapping(), 6/8 patch in series. Will move initialization to that patch. >> if (!vdso_ready) >> return 0; >> @@ -203,8 +203,8 @@ int arch_setup_additional_pages(struct linux_binprm *bprm, int uses_interp) >> ((VDSO_ALIGNMENT - 1) & PAGE_MASK), >> 0, 0); >> if (IS_ERR_VALUE(vdso_base)) { >> - rc = vdso_base; >> - goto fail_mmapsem; >> + ret = vdso_base; >> + goto out_up_mmap_sem; >> } >> >> /* Add required alignment. */ >> @@ -227,21 +227,16 @@ int arch_setup_additional_pages(struct linux_binprm *bprm, int uses_interp) >> * It's fine to use that for setting breakpoints in the vDSO code >> * pages though. >> */ >> - rc = install_special_mapping(mm, vdso_base, vdso_pages << PAGE_SHIFT, >> + ret = install_special_mapping(mm, vdso_base, vdso_pages << PAGE_SHIFT, >> VM_READ|VM_EXEC| >> VM_MAYREAD|VM_MAYWRITE|VM_MAYEXEC, >> vdso_pagelist); >> - if (rc) { >> + if (ret) >> current->mm->context.vdso_base = 0; >> - goto fail_mmapsem; >> - } >> - >> - up_write(&mm->mmap_sem); >> - return 0; >> >> - fail_mmapsem: >> +out_up_mmap_sem: >> up_write(&mm->mmap_sem); >> - return rc; >> + return ret; >> } > > > If you strip out the variable renames then I think that change would be > OK. > > cheers > -- Dmitry