From: Dan Williams <dan.j.williams@intel.com> To: "Luck, Tony" <tony.luck@intel.com> Cc: Ingo Molnar <mingo@kernel.org>, Borislav Petkov <bp@alien8.de>, Andrew Morton <akpm@linux-foundation.org>, Andy Lutomirski <luto@kernel.org>, "Elliott, Robert (Persistent Memory)" <elliott@hpe.com>, "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>, Linux MM <linux-mm@kvack.org>, linux-nvdimm <linux-nvdimm@ml01.01.org>, X86 ML <x86@kernel.org> Subject: Re: [PATCH v7 3/3] x86, mce: Add __mcsafe_copy() Date: Wed, 6 Jan 2016 08:37:21 -0800 [thread overview] Message-ID: <CAPcyv4g1dGC2YMN+JZPKhzbCm8PQJ7nJqV4JGjJ3w1PAf12v+Q@mail.gmail.com> (raw) In-Reply-To: <CAPcyv4iijhdXnD-4PuHkzbhhPra8eCRZ=df3XTE=z-efbQmVww@mail.gmail.com> On Tue, Jan 5, 2016 at 11:11 PM, Dan Williams <dan.j.williams@intel.com> wrote: > On Tue, Jan 5, 2016 at 11:06 PM, Luck, Tony <tony.luck@intel.com> wrote: >> You were heading towards: >> >> ld: undefined __mcsafe_copy > > True, we'd also need a dummy mcsafe_copy() definition to compile it > out in the disabled case. > >> since that is also inside the #ifdef. >> >> Weren't you going to "select" this? >> > > I do select it, but by randconfig I still need to handle the > CONFIG_X86_MCE=n case. > >> I'm seriously wondering whether the ifdef still makes sense. Now I don't have an extra exception table and routines to sort/search/fixup, it doesn't seem as useful as it was a few iterations ago. > > Either way is ok with me. That said, the extra definitions to allow > it compile out when not enabled don't seem too onerous. This works for me, because all we need is the definitions. As long as we don't attempt to link to mcsafe_copy() we get the benefit of compiling this out when de-selected: diff --git a/arch/x86/include/asm/string_64.h b/arch/x86/include/asm/string_64.h index 16a8f0e56e4a..5b24039463a4 100644 --- a/arch/x86/include/asm/string_64.h +++ b/arch/x86/include/asm/string_64.h @@ -78,7 +78,6 @@ int strcmp(const char *cs, const char *ct); #define memset(s, c, n) __memset(s, c, n) #endif -#ifdef CONFIG_MCE_KERNEL_RECOVERY struct mcsafe_ret { u64 trapnr; u64 remain; @@ -86,7 +85,6 @@ struct mcsafe_ret { struct mcsafe_ret __mcsafe_copy(void *dst, const void __user *src, size_t cnt); extern void __mcsafe_copy_end(void); -#endif #endif /* __KERNEL__ */
WARNING: multiple messages have this Message-ID (diff)
From: Dan Williams <dan.j.williams@intel.com> To: "Luck, Tony" <tony.luck@intel.com> Cc: Ingo Molnar <mingo@kernel.org>, Borislav Petkov <bp@alien8.de>, Andrew Morton <akpm@linux-foundation.org>, Andy Lutomirski <luto@kernel.org>, "Elliott, Robert (Persistent Memory)" <elliott@hpe.com>, "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>, Linux MM <linux-mm@kvack.org>, linux-nvdimm <linux-nvdimm@ml01.01.org>, X86 ML <x86@kernel.org> Subject: Re: [PATCH v7 3/3] x86, mce: Add __mcsafe_copy() Date: Wed, 6 Jan 2016 08:37:21 -0800 [thread overview] Message-ID: <CAPcyv4g1dGC2YMN+JZPKhzbCm8PQJ7nJqV4JGjJ3w1PAf12v+Q@mail.gmail.com> (raw) In-Reply-To: <CAPcyv4iijhdXnD-4PuHkzbhhPra8eCRZ=df3XTE=z-efbQmVww@mail.gmail.com> On Tue, Jan 5, 2016 at 11:11 PM, Dan Williams <dan.j.williams@intel.com> wrote: > On Tue, Jan 5, 2016 at 11:06 PM, Luck, Tony <tony.luck@intel.com> wrote: >> You were heading towards: >> >> ld: undefined __mcsafe_copy > > True, we'd also need a dummy mcsafe_copy() definition to compile it > out in the disabled case. > >> since that is also inside the #ifdef. >> >> Weren't you going to "select" this? >> > > I do select it, but by randconfig I still need to handle the > CONFIG_X86_MCE=n case. > >> I'm seriously wondering whether the ifdef still makes sense. Now I don't have an extra exception table and routines to sort/search/fixup, it doesn't seem as useful as it was a few iterations ago. > > Either way is ok with me. That said, the extra definitions to allow > it compile out when not enabled don't seem too onerous. This works for me, because all we need is the definitions. As long as we don't attempt to link to mcsafe_copy() we get the benefit of compiling this out when de-selected: diff --git a/arch/x86/include/asm/string_64.h b/arch/x86/include/asm/string_64.h index 16a8f0e56e4a..5b24039463a4 100644 --- a/arch/x86/include/asm/string_64.h +++ b/arch/x86/include/asm/string_64.h @@ -78,7 +78,6 @@ int strcmp(const char *cs, const char *ct); #define memset(s, c, n) __memset(s, c, n) #endif -#ifdef CONFIG_MCE_KERNEL_RECOVERY struct mcsafe_ret { u64 trapnr; u64 remain; @@ -86,7 +85,6 @@ struct mcsafe_ret { struct mcsafe_ret __mcsafe_copy(void *dst, const void __user *src, size_t cnt); extern void __mcsafe_copy_end(void); -#endif #endif /* __KERNEL__ */ -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2016-01-06 16:37 UTC|newest] Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top 2016-01-05 0:05 [PATCH v7 0/3] Machine check recovery when kernel accesses poison Tony Luck 2016-01-05 0:05 ` Tony Luck 2015-12-30 17:59 ` [PATCH v7 1/3] x86: Add classes to exception tables Tony Luck 2015-12-30 17:59 ` Tony Luck 2016-01-06 12:33 ` Borislav Petkov 2016-01-06 17:35 ` Luck, Tony 2016-01-06 17:35 ` Luck, Tony 2016-01-06 17:48 ` Linus Torvalds 2016-01-06 17:48 ` Linus Torvalds 2016-01-06 17:54 ` Andy Lutomirski 2016-01-06 17:54 ` Andy Lutomirski 2016-01-06 17:59 ` Borislav Petkov 2016-01-06 18:07 ` Andy Lutomirski 2016-01-06 18:07 ` Andy Lutomirski 2016-01-06 19:42 ` Borislav Petkov 2016-01-07 12:11 ` Borislav Petkov 2016-01-07 18:22 ` Luck, Tony 2016-01-07 18:22 ` Luck, Tony 2016-01-08 1:45 ` Luck, Tony 2016-01-08 1:45 ` Luck, Tony 2016-01-08 10:37 ` Borislav Petkov 2016-01-08 16:29 ` Luck, Tony 2016-01-08 17:20 ` Borislav Petkov 2016-01-08 22:29 ` Brian Gerst 2016-01-08 22:29 ` Brian Gerst 2016-01-08 5:30 ` Luck, Tony 2016-01-08 5:30 ` Luck, Tony 2016-01-08 10:41 ` Borislav Petkov 2016-01-06 12:36 ` Borislav Petkov 2015-12-31 19:40 ` [PATCH v7 2/3] x86, mce: Check for faults tagged in EXTABLE_CLASS_FAULT exception table entries Tony Luck 2015-12-31 19:40 ` Tony Luck 2015-12-31 19:43 ` [PATCH v7 3/3] x86, mce: Add __mcsafe_copy() Tony Luck 2015-12-31 19:43 ` Tony Luck 2016-01-06 4:42 ` Dan Williams 2016-01-06 4:42 ` Dan Williams 2016-01-06 7:06 ` Luck, Tony 2016-01-06 7:06 ` Luck, Tony 2016-01-06 7:11 ` Dan Williams 2016-01-06 7:11 ` Dan Williams 2016-01-06 16:37 ` Dan Williams [this message] 2016-01-06 16:37 ` Dan Williams 2016-01-06 16:57 ` Luck, Tony 2016-01-06 16:57 ` Luck, Tony 2016-01-06 17:05 ` Dan Williams 2016-01-06 17:05 ` Dan Williams
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=CAPcyv4g1dGC2YMN+JZPKhzbCm8PQJ7nJqV4JGjJ3w1PAf12v+Q@mail.gmail.com \ --to=dan.j.williams@intel.com \ --cc=akpm@linux-foundation.org \ --cc=bp@alien8.de \ --cc=elliott@hpe.com \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-mm@kvack.org \ --cc=linux-nvdimm@ml01.01.org \ --cc=luto@kernel.org \ --cc=mingo@kernel.org \ --cc=tony.luck@intel.com \ --cc=x86@kernel.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.