From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751638AbdBWR2N (ORCPT ); Thu, 23 Feb 2017 12:28:13 -0500 Received: from mail-dm3nam03on0073.outbound.protection.outlook.com ([104.47.41.73]:21024 "EHLO NAM03-DM3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751041AbdBWR2J (ORCPT ); Thu, 23 Feb 2017 12:28:09 -0500 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Thomas.Lendacky@amd.com; Subject: Re: [RFC PATCH v4 13/28] efi: Update efi_mem_type() to return defined EFI mem types To: Matt Fleming References: <20170216154158.19244.66630.stgit@tlendack-t1.amdoffice.net> <20170216154457.19244.5369.stgit@tlendack-t1.amdoffice.net> <20170221120505.GQ28416@codeblueprint.co.uk> CC: , , , , , , , , , Rik van Riel , =?UTF-8?B?UmFkaW0gS3LEjW3DocWZ?= , Toshimitsu Kani , Arnd Bergmann , Jonathan Corbet , "Michael S. Tsirkin" , Joerg Roedel , Konrad Rzeszutek Wilk , Paolo Bonzini , Brijesh Singh , Ingo Molnar , Alexander Potapenko , Andy Lutomirski , "H. Peter Anvin" , Borislav Petkov , Andrey Ryabinin , Thomas Gleixner , Larry Woodman , Dmitry Vyukov From: Tom Lendacky Message-ID: <41d5df05-14be-ff33-a7e2-6b2f51e2605a@amd.com> Date: Thu, 23 Feb 2017 11:27:55 -0600 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.7.1 MIME-Version: 1.0 In-Reply-To: <20170221120505.GQ28416@codeblueprint.co.uk> Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [165.204.77.1] X-ClientProxiedBy: DM5PR13CA0043.namprd13.prod.outlook.com (10.168.240.157) To BN6PR12MB1138.namprd12.prod.outlook.com (10.168.226.140) X-MS-Office365-Filtering-Correlation-Id: deb3ceb8-cd48-4e6e-020c-08d45c11502b X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(48565401081);SRVR:BN6PR12MB1138; X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1138;3:/snri82HIbvz+zTGKh6mybmCrbOUAzTmNCwtcJ4WyQtgc0WNNAaK/d63dKNoUr4pUxKdyCfbaqCVXSNJ9KQQGn88OkVvndGJr7DN7Vr70PnBWMFvkn2QGrvgc2KqoVzFxkaQuTiMNuS/FBK2MwbhM4pY2xwGosPYoplaB8tRY1MobqxjVgucg4ZJaZelFdw45KQ1eqsKcDIpXn712foej+ZMrQ07ng40iITXfJkFNoto/Ml/MajdqRgyh778sc1Q9BPIBBZw1AeX1+R50Y097es+kn6uHzg4ybVWXtghncQ=;25:ky6mt5ZCpKfgWpaEy51gomQtep7qW+Bio+iSD0VapOz3FK1d2eW9fBDeSLZJLNNVw4xnNZzWi9oWso0Mhjd5lRu9F7POJSn/X/vm7ww7IU+834RCn5fRLx2PydIjXgc6HQzZWoUNDwQkU0DRG2H4YGlxEyVL0IgQSXpnR0ieNkPJTgL1L/sLF3emYFmzNg2N9nmx9yY1VppI8xg32jI3q2LbphbGsEk3t/5EpDdiGhJfP7b5RYsdDvWU1yKJ2FUqDFW3x//GnOvMMxWThUyYD57+yUGPky0/Iygqno7XPX9OnbsjqpJEN5qLHsPyrkCH6a5RgXJmt/TRHXiLpnhEKCoGdPYPsJ/CdsmVd6uh/nF3WeCivP2p2KENs9CJWQ1vNGC/HfZIGR5qTMIoyMGzPtGySwCYsx1LHYTj0w66m19Q0nwV+4LwluVRlTVuB8Ow2dDaSyXb76nC5DKLR/P4Ww== X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1138;31:e+wnZw8V3FaMDzKtQEQfaO0Ht7hd3jbfXB13jNUz2WERrRnEvHu3W293ZSTSWwrV9t5A3U8PKnvZ3lbHsr65TCARJeAJ053RfA5gM4j7zfbTdTAJBjUGabm2E2Klh70guhMwrGbYOx/6BfBRT8ckpfLTBln+kiL5Jyhe3KP94oUTnEjhH5TeoYpZNHZk2N2Eh+4vsr9suAyEy5qdnWXQhQHkZJPc/JYcjdX15whB+wy0N0nEG7RZhyR0cPZ8+Qbg;20:9xlEfCMUltuh3WST2y1fj3RUYngBWDA9MTpOXMwZCNf/3Hm2WR6Pyk32MOEklZ2TVZsrz/QF/ixFKRVgmX/zKH35CssHqKEP6+W6pQ5vhVzvHyH6gro7M8OTnl20aq9qC5TapgXd9d6eePIl/xuOEDElcS8oQ5jpDno79MZQPdUUXZ34urwJG6Id1gUkYCwbs4jSxB5KfY7OKrNJ9qgXhNNXxO6S9DHrz3KnBMYyY4hjL2rRqOS7SIBozyFJe8QWvWOqABhFPz6XwRlAJsVTzM1mEQ4S15hI9trmGQnv4ZHV+zt71Cr9ebSEiflV2nEn/ROzoJWJqbOtNFrNEXBtxVOoL6uwKaaA2W0ZdyzaTReWxNuRVaa2VltB50GTM321oNsQ6iFBmkgrC+zdlY9ee3qEgW9tlO9WCEM9dTQkK+PYXBowHKBkjyqJ7knPnvl5mSo/C1qs4pN7L6iif/iJerqD6xuYrfjojoX7hsQALmKi632TUKDkAlZdsFm+Fsmw X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(767451399110); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040375)(601004)(2401047)(8121501046)(5005006)(10201501046)(3002001)(6055026)(6041248)(20161123562025)(20161123555025)(20161123564025)(20161123560025)(20161123558025)(6072148);SRVR:BN6PR12MB1138;BCL:0;PCL:0;RULEID:;SRVR:BN6PR12MB1138; X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1138;4:/gi4JSg+TywXeBmF1Bf2j8h9QOTumg4pPCy2PzemhuM+aHy7ff/Tf4FGjhaKidAe8kBnz7DWgzi3RLMp8zF0VnBSXjLTub01sP7+qhVRvMfVBUd2Cv0/3goE66/o86SBNhHWR2VSgMGmyrM0IGUhDuHyhEYDe3jImtNhLe5gflzojtSbJT3kS0kHwR/GZvp6itnuO/SeeDM2OHMmkXZ5Mv5HcS/C55kC2mAwv/E+C1skGCzHZUTvrrrLsbJdXjrqf8TR1Jt+38Tn615sRK9e7mbxbcxW6el9Rel/Z+ALasnJw9KO0+gXvf/jvUCp4q+1iH+K7eRhvBPdCWNVaJFeNZwOU1LDH2i0qnukYCowp83oqSshmBN3UyWW8uTyMbdCaNXxzft2H3X6i2Ezi19UITljSqdOtkxiooVIYMCdxEGiZ57nkt+bYTbger8XcKCks+bmHEEVJqztL3Gj/XOVGdx6FLROApM3smyo7HMpQ7xm/E8u+Y+iBUQ7AaTPsgewcvgfzL6PAT4n2oVekk9aiXjXt0zVXBip684utjs4AROZ5tMpgzk+2tzVwzGlMp2hV9k+NCHPsmvAPI18NlTqAEySWhRss6WpqWNvNVRypd5LqJy6Qb4UDjHEUArpW92mvDrqIjWyaCwQVzx2Dz9JDS9PztSSnas+lEU8tgWU7/s= X-Forefront-PRVS: 02272225C5 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(6049001)(7916002)(39410400002)(39840400002)(39450400003)(39860400002)(39850400002)(189002)(377454003)(24454002)(199003)(110136004)(38730400002)(23746002)(50986999)(54906002)(76176999)(47776003)(54356999)(42186005)(105586002)(97736004)(106356001)(101416001)(31686004)(6116002)(53546006)(50466002)(36756003)(33646002)(189998001)(68736007)(3846002)(8676002)(2950100002)(4326007)(229853002)(25786008)(90366009)(65806001)(65956001)(77096006)(6486002)(2906002)(6916009)(66066001)(92566002)(230700001)(81166006)(81156014)(64126003)(5660300001)(7416002)(83506001)(7736002)(53936002)(86362001)(6246003)(31696002)(65826007)(4001350100001)(305945005)(15650500001)(217873001);DIR:OUT;SFP:1101;SCL:1;SRVR:BN6PR12MB1138;H:[10.236.64.179];FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1;BN6PR12MB1138;23:sF0rF1kZgRodsjStY+63kN6MCQ5PASw8k3KZA?= =?Windows-1252?Q?zlXQZoB9MlW3TtJYsdr9bCBnIMhZfRHzI1FTwXtz9gXpoBBQiGwWcEE7?= =?Windows-1252?Q?6k8hx3jkzaXoOMV6y/fWjcenKH2fTAZf5gmRZeNV3OFjB5jbDMVokUQj?= =?Windows-1252?Q?2CgpPKOwWuWIdr/LpJihGl3p4S5g//w+FjPbM9bdFKQgEt8tUbi3Za96?= =?Windows-1252?Q?gPmYvtFr1czQwUhp3WH1KJszQeBqQtyZ9jQvcC5RXOJYm5ySwal9VZSy?= =?Windows-1252?Q?aattDLNZkwjK3pHQN0Dmzyl4szSGzDM0JNdXjQYWp3TcDpUbk09qkdm2?= =?Windows-1252?Q?fRTHvSHJaMCaafSDmBHdVjld//ngCj6ZcAlBT8g95rAG0a+SMvEpka81?= =?Windows-1252?Q?lW4GLEe8DqQIjZa8i4yB/ypteblC3xWuK2AfgN0ih9YDMJnQ1MraAHzv?= =?Windows-1252?Q?JwBHgRKeFuG5dAo22GgqORvARNZr8aiSvLw0+yYw8mHcxRlkvH7nYFWc?= =?Windows-1252?Q?0Qe0DuUTfMagxCsYRg8f+0sb3qw9kDySQhpn0S2ZX/hOSEuyMXpuFT24?= =?Windows-1252?Q?Y7/ISEuMnRywZPrEyJ9bzlc/qn3caexpDsadT1/l3KycZgTpesly2on4?= =?Windows-1252?Q?B7nn1mM/zpAyQlRSYmplpjYYMJ44r1yBrGJFmx03E9B0Cxk9n+Cz+fQz?= =?Windows-1252?Q?13+/6m2nvXsl69Dn5JOAJ6CwEs3RtwyFomVb78R7b7UoiQ5eBKjwrHG4?= =?Windows-1252?Q?sBmrUqtukE64SUbeYGFCjz8z+ZO2Zx/EE+Med7xXoGRT7SvvQ4SBFKxd?= =?Windows-1252?Q?O3ue19WL/aShxubiQKPrPiOnBhtwCIJ9iUlZRjGuyYrJuOx9AaZInh6Y?= =?Windows-1252?Q?WSQHm/qUVtWf+SJaMfOkCqek2IyY8W0rjJHU0Tzzo5SLia8ko/7WsY4c?= =?Windows-1252?Q?2N9FBHHO4Me/qR2JkUUMGRED0ivFg41RgrukbcCpEs37yW64OwN7lHY9?= =?Windows-1252?Q?VH5LbSYQoXqLoJIco88Rm15WsXjR5OpTwmRu9Daw8psmA1qDlRvL9Qyf?= =?Windows-1252?Q?AwSAt/m3VUCO61B2CzsvBuhdwOhSCkyPCm34p0J9JgyUWfiHuP74Cmjp?= =?Windows-1252?Q?SE+3bhKJC6h41qlUORVHgLZknPKlm4Zfp6ZxiBuOp5G/YrTSDXW6kk7x?= =?Windows-1252?Q?kibxonJ7GVatWdXvRB9OjpGQhcEygB77ZjNT2IHcC9wX8g2QGykMzThJ?= =?Windows-1252?Q?w/WVw/zcPJhpQQ2svAVUxWfVIlUn9eVafwllPfrY/CUfq6pGSLxfkCpl?= =?Windows-1252?Q?1JTxRSuQdomEYeegsP4inpEKQ9vlDNHUxJ46UoHkv/YgSt6bkcQBg+G2?= =?Windows-1252?Q?MWfgeR9t+nTSFeceGYfTQtpy/jR1h+Q3EZJ8xiP3fDQ3GqlOcCuz7oCH?= =?Windows-1252?Q?Vd8o59oX1Yt7Jz0Ea8fUlT3uvILmxw6vskZc2OV9maY4i8K2tZK2JP4Z?= =?Windows-1252?Q?zd2Nj0GlH1DE19HPYEpsuYhpb+n2ZOl3S6J+En1CHC3k5aIwlKBbDOpS?= =?Windows-1252?Q?fbf6ltPgLVuSYEegIhsRv+4jvoJylMoSZSyRjTXADWHhuIvuj3VEovPG?= =?Windows-1252?Q?+vxRycOPWy0WinXtse+8ckPSA3h0s25gXoyOK3qSUK/0XSFtKPKEuDGX?= =?Windows-1252?Q?iE/mBR/THYrPx3RoxRQYPZUZvTnIAQ=3D?= X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1138;6:ahvB5s7059QgAS1KxTnb6XpOmDf/MAFwz7z848oGAebRfWQk3MPh44EER6d1cOotmU4Yu8OwHKgUOrKG3eD+HsN9xKVmPdd0dQiY+h5C+UZxQwjwf2PNFL+rCzfvxzHU/evkx/rB00wpklD06ui+uIXHXtI5onmhvokWFScnCnn1nWK0oU+C3+Anhoyvnt0mLHXLtsSujFZiOGp202nwxhgldqL4PUhXfg1T6XuT8E0A9jLxXp4gFgw4OQQ7N3GSCFuHOw5G3vdnBz2iEIyaSCGdWjn9z3N8jEEY4NgU53WdKORrUhcY1sJKahkaAiBNrYlfqws2KmZil2m4/9EG2djTOERgoqCQjAMP6htJuN7eLROyxFC+jmsNeGw48yBx69MPP16IkwbU/3fPoLLeewDv4xtu3xTwBV5WigbSRTQ=;5:9nji+dAGDjsKkiRrHsOUeHajPZZEI0CnG48F0p1gwDApQtmTE7i3POLcbqdFtNg0n933HxGLzr+lefwkEX8xmOceQfFstdcgrYVTfcA5TuNVduDNHQoO8GsdWzefb8LNDbN1pqdOu7ibgiXEhBCkZA==;24:E0V3ypTqEOZGikXhtr2YpCo42M34Eq2R1VSM9abiKHvFTTneZ7HWy2eNIggKKHG5lModic+695iCUGKunVgOQyVR6IREMDfKLFhyiOprJlg= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1138;7:H3MqOzy2YF/cOEDG1Ty4O+4JHa8gEMfA2TbhMcXwrpFKnsVTPASJbIDn6HuKbBrd0zmXz7m6+oIBLuORaoRhKiO/WGHINGPecWnc6ebjgCnqe9qQI48cdKq9ChbC4wH1z52yKZKgH2omlClll65RqK3vyzTIgzzt1CC2b4yAAJfFYoNCPwcQq8G0m0gOcigyh31mGF60acqdjQGGOkXJPxRk0p7TBK8sG27DUUULaSdbWEcPaeHVMXqxu2zdev6PoBmTPsheGdXOzMffDIoqbZwb+vfPYOh25jd6ZMnCiMB0LulY5eiFXkmWED3SJyz1Bw51RGQv2VlXOwWHq/8fDQ==;20:kTwBGom2m6tG4FyP9/UvwdLhzVhIUxx0LK6r558WhFbAw88BxTmbq5GxPB27DonqLg2+ys/P+6U3amWKrPn9veqUYfLkiJWUugJc7VsBNgdEnDUb1NCGOUfb16u6lYaA0W0U8uHwVd671ErCa30Ye5Tzk5qsYJHgsL9nTXEUkGONLETE/5HiKvZtyUNrut2LGOPWHHZx15VbFVire/4ZzHBjiaM6fcNxb0PIj/qbqk9hp0K2wKsP2MsGZp8jCNi1 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Feb 2017 17:27:57.6832 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR12MB1138 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2/21/2017 6:05 AM, Matt Fleming wrote: > On Thu, 16 Feb, at 09:44:57AM, Tom Lendacky wrote: >> Update the efi_mem_type() to return EFI_RESERVED_TYPE instead of a >> hardcoded 0. >> >> Signed-off-by: Tom Lendacky >> --- >> arch/x86/platform/efi/efi.c | 4 ++-- >> 1 file changed, 2 insertions(+), 2 deletions(-) >> >> diff --git a/arch/x86/platform/efi/efi.c b/arch/x86/platform/efi/efi.c >> index a15cf81..6407103 100644 >> --- a/arch/x86/platform/efi/efi.c >> +++ b/arch/x86/platform/efi/efi.c >> @@ -1037,7 +1037,7 @@ u32 efi_mem_type(unsigned long phys_addr) >> efi_memory_desc_t *md; >> >> if (!efi_enabled(EFI_MEMMAP)) >> - return 0; >> + return EFI_RESERVED_TYPE; >> >> for_each_efi_memory_desc(md) { >> if ((md->phys_addr <= phys_addr) && >> @@ -1045,7 +1045,7 @@ u32 efi_mem_type(unsigned long phys_addr) >> (md->num_pages << EFI_PAGE_SHIFT)))) >> return md->type; >> } >> - return 0; >> + return EFI_RESERVED_TYPE; >> } > > I see what you're getting at here, but arguably the return value in > these cases never should have been zero to begin with (your change > just makes that more obvious). > > Returning EFI_RESERVED_TYPE implies an EFI memmap entry exists for > this address, which is misleading because it doesn't in the hunks > you've modified above. > > Instead, could you look at returning a negative error value in the > usual way we do in the Linux kernel, and update the function prototype > to match? I don't think any callers actually require the return type > to be u32. I can do that, I'll change the return type to an int. For the !efi_enabled I can return -ENOTSUPP and for when an entry isn't found I can return -EINVAL. Sound good? The ia64 arch is the only other arch that defines the function. It has just a single return 0 that I'll change to -EINVAL. Thanks, Tom >