RE: [PATCH v7 3/3] x86, mce: Add __mcsafe_copy()
From: Luck, Tony
Date: Wed Jan 06 2016 - 11:57:29 EST
>> 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:
It seems that Kconfig's "select" statement doesn't auto-select other things
that are dependencies of the symbol you choose.
CONFIG_MCE_KERNEL_RECOVERY really is dependent on
CONFIG_X86_MCE ... having the code for the __mcsafe_copy()
linked into the kernel won't do you any good without a machine
check handler that jumps to the fixup code.
So I think you have to select X86_MCE as well (or Kconfig needs
to be taught to do it automatically ... but I have a nagging feeling
that this is known behavior).