[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] x86/ucode: Exit early from early_update_cache() if loading not available
- To: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
- From: Jan Beulich <jbeulich@xxxxxxxx>
- Date: Thu, 1 Jun 2023 16:51:17 +0200
- Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none
- Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=eryvMzI/DJ8unn5X+bS0BiBjuwp23BFLNcWOOSyQKL4=; b=BnXg7OtFyf+mgvC88O93DVDjoIAy3UG5XsWOGhUZINSPvoD+smXuy/1U3jvpPtPct/rbcSUQ6HQ3uB5CVKkMjPt5OXJV1bIAkG5mlmPp7ftHE9cNuyqDr19foG4mO+Tfy9TLzbsonfU7/buxnyfxH/aUgQl1cq3H5bsDaVFmJkdY3CO6F4L7J3kh8xEm5/7nr1ojKn5ZrGp1OCfAPpDkLDUpECiWeJ4glGOWTnIO2tTorjS5tkEVfPUDgnCfoU31znvLk4j+iGZzIno3YcVRWuCaEfJPCBZdNDkNoFRbi+VBH2vJERo1XzoTI306RFea5Rttq7/pnyL6e0vYkPuVyg==
- Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CFA/RqTyi2jYw56JJ2wurf7M537mfGA4JUQuSvkohvk1s2B3SbVqWkCrOWyEVtlphBAynucchNhNW3jCvfgfYYzKuw15yKE1/d/jKrN4xBoBMhT3TLtUe9VNoCZnlTg79l/4mBLoIlEFWEJF8AAXyJssWzuUm8/nQ9+fZSdBviUVf+icZze7d23NOwdwxX4RJRurb4m3vs1n15/EkWyaMYXZifP+7P2nCieSwPg3FBNKfl4N7gClnBNQMu25msOnCd7hEqSXPnTYtq+D5Z5ME7QmV3LnzUyLwbmr8GNcpbW/zX6GLYkWjXWo5eeVbH94y7rjqZnP68XAH0ST22GJFg==
- Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com;
- Cc: Roger Pau Monné <roger.pau@xxxxxxxxxx>, Wei Liu <wl@xxxxxxx>, Alejandro Vallejo <alejandro.vallejo@xxxxxxxxx>, Xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxxx>
- Delivery-date: Thu, 01 Jun 2023 14:51:25 +0000
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
On 01.06.2023 16:38, Andrew Cooper wrote:
> If for any reason early_microcode_init() concludes that no microcode loading
> is available, early_update_cache() will fall over a NULL function pointer:
>
> (XEN) Xen call trace:
> (XEN) [<ffff82d04037372e>] R show_code+0x91/0x18f
> (XEN) [<ffff82d040373a49>] F show_execution_state+0x2d/0x1fc
> (XEN) [<ffff82d040374210>] F fatal_trap+0x87/0x19a
> (XEN) [<ffff82d040647f2c>] F init_idt_traps+0/0x1bd
> (XEN) [<ffff82d04063854f>] F early_page_fault+0x8f/0x94
> (XEN) [<0000000000000000>] F 0000000000000000
> (XEN) [<ffff82d040628c46>] F
> arch/x86/cpu/microcode/core.c#early_update_cache+0x11/0x74
> (XEN) [<ffff82d040628e5c>] F microcode_init_cache+0x5a/0x5c
> (XEN) [<ffff82d04064388f>] F __start_xen+0x1e11/0x27ee
> (XEN) [<ffff82d040206184>] F __high_start+0x94/0xa0
>
> which is actually parse_blob()'s use of ucode_ops.collect_cpu_info.
>
> Skip trying to cache anything if microcode loading is unavailable.
>
> Fixes: dc380df12acf ("x86/ucode: load microcode earlier on boot CPU")
> Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx>
|