From: Guenter Roeck <linux@roeck-us.net>
To: Jerry.Hoemann@hpe.com
Cc: Arnd Bergmann <arnd@arndb.de>,
Wim Van Sebroeck <wim@linux-watchdog.org>,
linux-watchdog@vger.kernel.org,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
rwright@hpe.com, maurice.a.saldivar@hpe.com,
Ingo Molnar <mingo@kernel.org>,
marcus.folkesson@gmail.com, Josh Poimboeuf <jpoimboe@redhat.com>,
stable <stable@vger.kernel.org>
Subject: Re: [PATCH v5 2/9] watchdog/hpwdt: Remove legacy NMI sourcing.
Date: Thu, 1 Mar 2018 20:42:55 -0800 [thread overview]
Message-ID: <f61a92c4-f923-77d7-22a8-11481baca79b@roeck-us.net> (raw)
In-Reply-To: <20180228194558.GB28906@anatevka.americas.hpqcorp.net>
On 02/28/2018 11:45 AM, Jerry Hoemann wrote:
> On Mon, Feb 26, 2018 at 05:29:55PM -0800, Guenter Roeck wrote:
>> On 02/26/2018 05:02 PM, Jerry Hoemann wrote:
>>> On Mon, Feb 26, 2018 at 06:32:30AM -0800, Guenter Roeck wrote:
>>>> On 02/26/2018 06:11 AM, Arnd Bergmann wrote:
>>>>> On Mon, Feb 26, 2018 at 4:22 AM, Jerry Hoemann <jerry.hoemann@hpe.com> wrote:
>>>>>> Gen8 and prior Proliant systems supported the "CRU" interface
>>>>>> to firmware. This interfaces allows linux to "call back" into firmware
>>>>>> to source the cause of an NMI. This feature isn't fully utilized
>>>>>> as the actual source of the NMI isn't printed, the driver only
>>>>>> indicates that the source couldn't be determined when the call
>>>>>> fails.
>>>>>>
>>>>>> With the advent of Gen9, iCRU replaces the CRU. The call back
>>>>>> feature is no longer available in firmware. To be compatible and
>>>>>> not attempt to call back into firmware on system not supporting CRU,
>>>>>> the SMBIOS table is consulted to determine if it is safe to
>>>>>> make the call back or not.
>>>>>>
>>>>>> This results in about half of the driver code being devoted
>>>>>> to either making CRU calls or determing if it is safe to make
>>>>>> CRU calls. As noted, the driver isn't really using the results of
>>>>>> the CRU calls.
>>>>>>
>>>>>> Furthermore, as a consequence of the Spectre security issue, the
>>>>>> BIOS/EFI calls are being wrapped into Spectre-disabling section.
>>>>>> Removing the call back in hpwdt_pretimeout assists in this effort.
>>>>>>
>>>>>> As the CRU sourcing of the NMI isn't required for handling the
>>>>>> NMI and there are security concerns with making the call back, remove
>>>>>> the legacy (pre Gen9) NMI sourcing and the DMI code to determine if
>>>>>> the system had the CRU interface.
>>>>>>
>>>>>> Signed-off-by: Jerry Hoemann <jerry.hoemann@hpe.com>
>>>>>
>>>>> This avoids a warning in mainline kernels, so that's great:
>>>>>
>>>>> drivers/watchdog/hpwdt.o: warning: objtool: .text+0x24: indirect call
>>>>> found in RETPOLINE build
>>>>>
>>>>> I wonder what we do about stable kernels. Are both this patch and the patch
>>>>> that added the objtool warning message candidates for backports to
>>>>> stable kernels?
>>>>>
>>>>
>>>> Makes sense to me, but it is really a bit more than a bug fix, so I'll
>>>> leave it up to Jerry/HPE to make the call in respect to hpwdt.
>>>>
>>>
>>> Generally speaking, HPE customers who run linux do so through a distro
>>> vendor and pick up patches from them. But I'm sure there are some
>>> customers who do things differently.
>>>
>>> The distro vendor's have their own repos and we'll work with them
>>> to back port patches to their code base. So, I typically don't do a lot
>>> of kernel.org stable branch work.
>>>
>>> Looks like objtool has been enhanced to find Spectre vulnerable code.
>>> Are the other kernel patches related to Spectre being back ported
>>> to stable release lines? If yes, it probably make sense to do
>>> the hpwdt change as well.
>>>
>>
>> Spectre has been backported to v4.4 and later. I don't know about earlier kernels.
>>
>>> Is just the patch removing the firmware call back wanted/needed? Or the
>>> whole driver rewrite? (The older baseline don't have all the watchdog
>>> features that the patch set uses.)
>>>
>>
>> We would only want to backport this patch. The rest is really out of scope.
>>
>>> Which stable baseline(s) would need to be patched? Priority?
>>>
>>> Who does it? (i.e. do you want me to submit patches to the stable baseline?)
>>>
>> We would tag the patch for stable (and submit it into v4.16-rc). Greg would
>> take care of the rest unless there are conflicts, in which case we get a note
>> telling us that a backport is needed.
>>
>
> Guenter,
>
> Are you waiting for anything more from me on this patch, or are we
> good for now until the back ports to v.15 etc.,?
>
We are good. I'll need to ask Wim to send a pull request to Linus.
Guenter
next prev parent reply other threads:[~2018-03-02 4:43 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-02-26 3:22 [PATCH v5 0/9] watchdog/hpwdt: Update driver to use watchdog core Jerry Hoemann
2018-02-26 3:22 ` [PATCH v5 1/9] watchdog/hpwdt: Update Module info and copyright Jerry Hoemann
2018-02-26 3:22 ` [PATCH v5 2/9] watchdog/hpwdt: Remove legacy NMI sourcing Jerry Hoemann
2018-02-26 14:11 ` Arnd Bergmann
2018-02-26 14:32 ` Guenter Roeck
2018-02-27 1:02 ` Jerry Hoemann
2018-02-27 1:29 ` Guenter Roeck
2018-02-28 19:45 ` Jerry Hoemann
2018-03-02 4:42 ` Guenter Roeck [this message]
2018-02-26 3:22 ` [PATCH v5 3/9] watchdog/hpwdt: Update nmi_panic message Jerry Hoemann
2018-02-26 3:22 ` [PATCH v5 4/9] watchdog/hpwdt: Modify to use watchdog core Jerry Hoemann
2018-02-26 3:22 ` [PATCH v5 5/9] watchdog/hpwdt: condition early return of NMI handler on iLO5 Jerry Hoemann
2018-02-26 3:22 ` [PATCH v5 6/9] watchdog/hpwdt: remove allow_kdump module parameter Jerry Hoemann
2018-02-26 3:22 ` [PATCH v5 7/9] watchdog/hpwdt: Programable Pretimeout NMI Jerry Hoemann
2018-02-26 3:22 ` [PATCH v5 8/9] watchdog/hpwdt: Add dynamic debug Jerry Hoemann
2018-02-26 3:22 ` [PATCH v5 9/9] watchdog/hpwdt: Update driver version Jerry Hoemann
2018-03-02 4:42 ` [PATCH v5 0/9] watchdog/hpwdt: Update driver to use watchdog core Guenter Roeck
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=f61a92c4-f923-77d7-22a8-11481baca79b@roeck-us.net \
--to=linux@roeck-us.net \
--cc=Jerry.Hoemann@hpe.com \
--cc=arnd@arndb.de \
--cc=jpoimboe@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-watchdog@vger.kernel.org \
--cc=marcus.folkesson@gmail.com \
--cc=maurice.a.saldivar@hpe.com \
--cc=mingo@kernel.org \
--cc=rwright@hpe.com \
--cc=stable@vger.kernel.org \
--cc=wim@linux-watchdog.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: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).