Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755202AbbLPWvI (ORCPT ); Wed, 16 Dec 2015 17:51:08 -0500 Received: from mga11.intel.com ([192.55.52.93]:46622 "EHLO mga11.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751565AbbLPWvG (ORCPT ); Wed, 16 Dec 2015 17:51:06 -0500 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.20,438,1444719600"; d="scan'208";a="842778999" From: "Luck, Tony" To: Andy Lutomirski CC: Ingo Molnar , Borislav Petkov , "Andrew Morton" , Andy Lutomirski , "Williams, Dan J" , Robert , "linux-kernel@vger.kernel.org" , "linux-mm@kvack.org" , linux-nvdimm , X86 ML Subject: RE: [PATCHV3 1/3] x86, ras: Add new infrastructure for machine check fixup tables Thread-Topic: [PATCHV3 1/3] x86, ras: Add new infrastructure for machine check fixup tables Thread-Index: AQHROCsGD+3Udt/WdEC7358M5EgTLJ7ONtdA Date: Wed, 16 Dec 2015 22:51:04 +0000 Message-ID: <3908561D78D1C84285E8C5FCA982C28F39F87180@ORSMSX114.amr.corp.intel.com> References: <2e91c18f23be90b33c2cbfff6cce6b6f50592a96.1450283985.git.tony.luck@intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiN2FkNjg1MWItOGRhZi00YjllLTg4OWUtNmI1ZmVkZmRkMDJlIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX0lDIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE1LjQuMTAuMTkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiXC83UHlVS0xOV1BEeTlkTTVFRGZ2Y1IrMVVXdU8rdGVMazNCQVwvTzBPMm9jPSJ9 x-ctpclassification: CTP_IC x-originating-ip: [10.22.254.140] Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by mail.home.local id tBGMpEtZ011922 Content-Length: 912 Lines: 26 > Looks generally good. > > Reviewed-by: Andy Lutomirski You say that to part 1/3 ... what happens when you get to part 3/3 and you read my attempts at writing x86 assembly code? >> +#ifdef CONFIG_MCE_KERNEL_RECOVERY >> +int fixup_mcexception(struct pt_regs *regs) >> +{ >> + const struct exception_table_entry *fixup; >> + unsigned long new_ip; >> + >> + fixup = search_mcexception_tables(regs->ip); >> + if (fixup) { >> + new_ip = ex_fixup_addr(fixup); >> + >> + regs->ip = new_ip; > > You could very easily save a line of code here :) Two lines (the declaration of the variable can go away as well). Will include if we need a V4 when everyone else gets to commenting. -Tony ????{.n?+???????+%?????ݶ??w??{.n?+????{??G?????{ay?ʇڙ?,j??f???h?????????z_??(?階?ݢj"???m??????G????????????&???~???iO???z??v?^?m???? ????????I?