[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>





 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.