LKML Archive on lore.kernel.org
 help / Atom feed
* disabling psp in bios causes errors in dmesg
@ 2018-08-10  7:03 Thomas Backlund
  2018-08-10 14:11 ` Tom Lendacky
  0 siblings, 1 reply; 4+ messages in thread
From: Thomas Backlund @ 2018-08-10  7:03 UTC (permalink / raw)
  To: linux-crypto; +Cc: Linux Kernel Mailing List, thomas.lendacky, gary.hook

Hi,

this is tested on kernel 4.17.14

hw:

MSI X399 GAMING PRO CARBON AC (MS-7B09) bios 1.A0

AMD Ryzen Threadripper 1950X


Disabling psp in bios gets this in the logs:


[  246.748978] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" 
disables this message.
[  246.748978] systemd-udevd   D    0   724    716 0x80000124
[  246.748980] Call Trace:
[  246.748986]  ? __schedule+0x234/0x840
[  246.748988]  schedule+0x28/0x80
[  246.748993]  __sev_do_cmd_locked+0x1f0/0x270 [ccp]
[  246.748996]  ? wait_woken+0x80/0x80
[  246.748997]  ? 0xffffffffc0683000
[  246.749001]  __sev_platform_init_locked+0x2f/0x80 [ccp]
[  246.749001]  ? mutex_lock+0xe/0x30
[  246.749004]  sev_platform_init+0x1d/0x30 [ccp]
[  246.749007]  psp_pci_init+0x40/0xe0 [ccp]
[  246.749008]  ? 0xffffffffc0683000
[  246.749011]  sp_mod_init+0x16/0x1000 [ccp]
[  246.749012]  do_one_initcall+0x46/0x1c3
[  246.749014]  ? _cond_resched+0x15/0x30
[  246.749017]  ? kmem_cache_alloc_trace+0x3a/0x170
[  246.749019]  do_init_module+0x5a/0x210
[  246.749020]  load_module+0x215b/0x2530
[  246.749021]  ? kmem_cache_alloc_node_trace+0x45/0x190
[  246.749024]  ? vmap_page_range_noflush+0x24d/0x320
[  246.749026]  ? __do_sys_init_module+0x136/0x180
[  246.749026]  ? _cond_resched+0x15/0x30
[  246.749027]  __do_sys_init_module+0x136/0x180
[  246.749029]  do_syscall_64+0x55/0x100
[  246.749031]  entry_SYSCALL_64_after_hwframe+0x44/0xa9
[  246.749032] RIP: 0033:0x7ffb1a09018a
[  246.749033] RSP: 002b:00007ffe196680c8 EFLAGS: 00000246 ORIG_RAX: 
00000000000000af
[  246.749034] RAX: ffffffffffffffda RBX: 00005562bb20d080 RCX: 
00007ffb1a09018a
[  246.749034] RDX: 00007ffb1994e6f8 RSI: 0000000000029e50 RDI: 
00005562bba5e710
[  246.749035] RBP: 00007ffb1994e6f8 R08: 0000000000000004 R09: 
0000000000000000
[  246.749035] R10: 0000000000000005 R11: 0000000000000246 R12: 
00005562bba5e710
[  246.749036] R13: 0000000000020000 R14: 00005562bb1fde70 R15: 
00005562bb20d080


Should it not detect that its disabled and bail out ?

--

Thomas



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: disabling psp in bios causes errors in dmesg
  2018-08-10  7:03 disabling psp in bios causes errors in dmesg Thomas Backlund
@ 2018-08-10 14:11 ` Tom Lendacky
  2018-08-21 16:47   ` Tom Lendacky
  0 siblings, 1 reply; 4+ messages in thread
From: Tom Lendacky @ 2018-08-10 14:11 UTC (permalink / raw)
  To: Thomas Backlund, linux-crypto
  Cc: Linux Kernel Mailing List, gary.hook, Brijesh Singh

On 8/10/2018 2:03 AM, Thomas Backlund wrote:
> Hi,
> 
> this is tested on kernel 4.17.14
> 
> hw:
> 
> MSI X399 GAMING PRO CARBON AC (MS-7B09) bios 1.A0
> 
> AMD Ryzen Threadripper 1950X
> 
> 
> Disabling psp in bios gets this in the logs:

Hmm, I'm not familiar with that BIOS option so I'm not exactly sure what
it is doing under the covers.  Having said that, it would seem that a
register read is indicating that SEV is supported when it is not on this
platform.  Maybe the register read is returning all 1s, (i.e. 0xffffffff).

You can work around this by blacklisting the ccp driver module for now.
In the mean time, we'll try to understand what is occurring here and
provide a fix if we can.

Thanks,
Tom

> 
> 
> [  246.748978] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables
> this message.
> [  246.748978] systemd-udevd   D    0   724    716 0x80000124
> [  246.748980] Call Trace:
> [  246.748986]  ? __schedule+0x234/0x840
> [  246.748988]  schedule+0x28/0x80
> [  246.748993]  __sev_do_cmd_locked+0x1f0/0x270 [ccp]
> [  246.748996]  ? wait_woken+0x80/0x80
> [  246.748997]  ? 0xffffffffc0683000
> [  246.749001]  __sev_platform_init_locked+0x2f/0x80 [ccp]
> [  246.749001]  ? mutex_lock+0xe/0x30
> [  246.749004]  sev_platform_init+0x1d/0x30 [ccp]
> [  246.749007]  psp_pci_init+0x40/0xe0 [ccp]
> [  246.749008]  ? 0xffffffffc0683000
> [  246.749011]  sp_mod_init+0x16/0x1000 [ccp]
> [  246.749012]  do_one_initcall+0x46/0x1c3
> [  246.749014]  ? _cond_resched+0x15/0x30
> [  246.749017]  ? kmem_cache_alloc_trace+0x3a/0x170
> [  246.749019]  do_init_module+0x5a/0x210
> [  246.749020]  load_module+0x215b/0x2530
> [  246.749021]  ? kmem_cache_alloc_node_trace+0x45/0x190
> [  246.749024]  ? vmap_page_range_noflush+0x24d/0x320
> [  246.749026]  ? __do_sys_init_module+0x136/0x180
> [  246.749026]  ? _cond_resched+0x15/0x30
> [  246.749027]  __do_sys_init_module+0x136/0x180
> [  246.749029]  do_syscall_64+0x55/0x100
> [  246.749031]  entry_SYSCALL_64_after_hwframe+0x44/0xa9
> [  246.749032] RIP: 0033:0x7ffb1a09018a
> [  246.749033] RSP: 002b:00007ffe196680c8 EFLAGS: 00000246 ORIG_RAX:
> 00000000000000af
> [  246.749034] RAX: ffffffffffffffda RBX: 00005562bb20d080 RCX:
> 00007ffb1a09018a
> [  246.749034] RDX: 00007ffb1994e6f8 RSI: 0000000000029e50 RDI:
> 00005562bba5e710
> [  246.749035] RBP: 00007ffb1994e6f8 R08: 0000000000000004 R09:
> 0000000000000000
> [  246.749035] R10: 0000000000000005 R11: 0000000000000246 R12:
> 00005562bba5e710
> [  246.749036] R13: 0000000000020000 R14: 00005562bb1fde70 R15:
> 00005562bb20d080
> 
> 
> Should it not detect that its disabled and bail out ?
> 
> -- 
> 
> Thomas
> 
> 

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: disabling psp in bios causes errors in dmesg
  2018-08-10 14:11 ` Tom Lendacky
@ 2018-08-21 16:47   ` Tom Lendacky
  2018-08-22  7:19     ` Thomas Backlund
  0 siblings, 1 reply; 4+ messages in thread
From: Tom Lendacky @ 2018-08-21 16:47 UTC (permalink / raw)
  To: Thomas Backlund, linux-crypto
  Cc: Linux Kernel Mailing List, gary.hook, Brijesh Singh

On 8/10/2018 9:11 AM, Tom Lendacky wrote:
> On 8/10/2018 2:03 AM, Thomas Backlund wrote:
>> Hi,
>>
>> this is tested on kernel 4.17.14
>>
>> hw:
>>
>> MSI X399 GAMING PRO CARBON AC (MS-7B09) bios 1.A0
>>
>> AMD Ryzen Threadripper 1950X
>>
>>
>> Disabling psp in bios gets this in the logs:
> 
> Hmm, I'm not familiar with that BIOS option so I'm not exactly sure what
> it is doing under the covers.  Having said that, it would seem that a
> register read is indicating that SEV is supported when it is not on this
> platform.  Maybe the register read is returning all 1s, (i.e. 0xffffffff).

The register read was returning all 1s.  The issue was reported to the
BIOS team and a fix is in process, but that may take some time to move
through all the vendors.  So in the meantime, see the next comment below.

> 
> You can work around this by blacklisting the ccp driver module for now.
> In the mean time, we'll try to understand what is occurring here and
> provide a fix if we can.

A patch has been submitted which adds a command timeout and should also
resolve this issue.  Please see:
  https://marc.info/?l=linux-crypto-vger&m=153436754612783&w=2

This patch is not yet accepted and needs adjusting when being applied to
an older kernel (4.16 - 4.18).  Once accepted, versions of the patch will
be submitted to stable.

Thanks,
Tom

> 
> Thanks,
> Tom
> 
>>
>>
>> [  246.748978] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables
>> this message.
>> [  246.748978] systemd-udevd   D    0   724    716 0x80000124
>> [  246.748980] Call Trace:
>> [  246.748986]  ? __schedule+0x234/0x840
>> [  246.748988]  schedule+0x28/0x80
>> [  246.748993]  __sev_do_cmd_locked+0x1f0/0x270 [ccp]
>> [  246.748996]  ? wait_woken+0x80/0x80
>> [  246.748997]  ? 0xffffffffc0683000
>> [  246.749001]  __sev_platform_init_locked+0x2f/0x80 [ccp]
>> [  246.749001]  ? mutex_lock+0xe/0x30
>> [  246.749004]  sev_platform_init+0x1d/0x30 [ccp]
>> [  246.749007]  psp_pci_init+0x40/0xe0 [ccp]
>> [  246.749008]  ? 0xffffffffc0683000
>> [  246.749011]  sp_mod_init+0x16/0x1000 [ccp]
>> [  246.749012]  do_one_initcall+0x46/0x1c3
>> [  246.749014]  ? _cond_resched+0x15/0x30
>> [  246.749017]  ? kmem_cache_alloc_trace+0x3a/0x170
>> [  246.749019]  do_init_module+0x5a/0x210
>> [  246.749020]  load_module+0x215b/0x2530
>> [  246.749021]  ? kmem_cache_alloc_node_trace+0x45/0x190
>> [  246.749024]  ? vmap_page_range_noflush+0x24d/0x320
>> [  246.749026]  ? __do_sys_init_module+0x136/0x180
>> [  246.749026]  ? _cond_resched+0x15/0x30
>> [  246.749027]  __do_sys_init_module+0x136/0x180
>> [  246.749029]  do_syscall_64+0x55/0x100
>> [  246.749031]  entry_SYSCALL_64_after_hwframe+0x44/0xa9
>> [  246.749032] RIP: 0033:0x7ffb1a09018a
>> [  246.749033] RSP: 002b:00007ffe196680c8 EFLAGS: 00000246 ORIG_RAX:
>> 00000000000000af
>> [  246.749034] RAX: ffffffffffffffda RBX: 00005562bb20d080 RCX:
>> 00007ffb1a09018a
>> [  246.749034] RDX: 00007ffb1994e6f8 RSI: 0000000000029e50 RDI:
>> 00005562bba5e710
>> [  246.749035] RBP: 00007ffb1994e6f8 R08: 0000000000000004 R09:
>> 0000000000000000
>> [  246.749035] R10: 0000000000000005 R11: 0000000000000246 R12:
>> 00005562bba5e710
>> [  246.749036] R13: 0000000000020000 R14: 00005562bb1fde70 R15:
>> 00005562bb20d080
>>
>>
>> Should it not detect that its disabled and bail out ?
>>
>> -- 
>>
>> Thomas
>>
>>

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: disabling psp in bios causes errors in dmesg
  2018-08-21 16:47   ` Tom Lendacky
@ 2018-08-22  7:19     ` Thomas Backlund
  0 siblings, 0 replies; 4+ messages in thread
From: Thomas Backlund @ 2018-08-22  7:19 UTC (permalink / raw)
  To: Tom Lendacky, linux-crypto
  Cc: Linux Kernel Mailing List, gary.hook, Brijesh Singh


Den 21.8.2018 kl. 19:47, skrev Tom Lendacky:
> On 8/10/2018 9:11 AM, Tom Lendacky wrote:
>> On 8/10/2018 2:03 AM, Thomas Backlund wrote:
>>> Hi,
>>>
>>> this is tested on kernel 4.17.14
>>>
>>> hw:
>>>
>>> MSI X399 GAMING PRO CARBON AC (MS-7B09) bios 1.A0
>>>
>>> AMD Ryzen Threadripper 1950X
>>>
>>>
>>> Disabling psp in bios gets this in the logs:
>> Hmm, I'm not familiar with that BIOS option so I'm not exactly sure what
>> it is doing under the covers.  Having said that, it would seem that a
>> register read is indicating that SEV is supported when it is not on this
>> platform.  Maybe the register read is returning all 1s, (i.e. 0xffffffff).
> The register read was returning all 1s.  The issue was reported to the
> BIOS team and a fix is in process, but that may take some time to move
> through all the vendors.  So in the meantime, see the next comment below.
>
>> You can work around this by blacklisting the ccp driver module for now.
>> In the mean time, we'll try to understand what is occurring here and
>> provide a fix if we can.
> A patch has been submitted which adds a command timeout and should also
> resolve this issue.  Please see:
>    https://marc.info/?l=linux-crypto-vger&m=153436754612783&w=2
>
> This patch is not yet accepted and needs adjusting when being applied to
> an older kernel (4.16 - 4.18).  Once accepted, versions of the patch will
> be submitted to stable.

I applied that patch to a 4.17.17 based kernel and it works as I now get 
the intended:

[   10.207024] ccp 0000:0c:00.2: sev command 0x1 timed out, disabling PSP
[   10.207027] ccp 0000:0c:00.2: SEV: failed to INIT error 0x0

And no more hung task during boot :)

So consider that a:

Tested-by: Thomas Backlund <tmb@mageia.org>

--
Thanks

Thomas

> Thanks,
> Tom
>
>> Thanks,
>> Tom
>>
>>>
>>> [  246.748978] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables
>>> this message.
>>> [  246.748978] systemd-udevd   D    0   724    716 0x80000124
>>> [  246.748980] Call Trace:
>>> [  246.748986]  ? __schedule+0x234/0x840
>>> [  246.748988]  schedule+0x28/0x80
>>> [  246.748993]  __sev_do_cmd_locked+0x1f0/0x270 [ccp]
>>> [  246.748996]  ? wait_woken+0x80/0x80
>>> [  246.748997]  ? 0xffffffffc0683000
>>> [  246.749001]  __sev_platform_init_locked+0x2f/0x80 [ccp]
>>> [  246.749001]  ? mutex_lock+0xe/0x30
>>> [  246.749004]  sev_platform_init+0x1d/0x30 [ccp]
>>> [  246.749007]  psp_pci_init+0x40/0xe0 [ccp]
>>> [  246.749008]  ? 0xffffffffc0683000
>>> [  246.749011]  sp_mod_init+0x16/0x1000 [ccp]
>>> [  246.749012]  do_one_initcall+0x46/0x1c3
>>> [  246.749014]  ? _cond_resched+0x15/0x30
>>> [  246.749017]  ? kmem_cache_alloc_trace+0x3a/0x170
>>> [  246.749019]  do_init_module+0x5a/0x210
>>> [  246.749020]  load_module+0x215b/0x2530
>>> [  246.749021]  ? kmem_cache_alloc_node_trace+0x45/0x190
>>> [  246.749024]  ? vmap_page_range_noflush+0x24d/0x320
>>> [  246.749026]  ? __do_sys_init_module+0x136/0x180
>>> [  246.749026]  ? _cond_resched+0x15/0x30
>>> [  246.749027]  __do_sys_init_module+0x136/0x180
>>> [  246.749029]  do_syscall_64+0x55/0x100
>>> [  246.749031]  entry_SYSCALL_64_after_hwframe+0x44/0xa9
>>> [  246.749032] RIP: 0033:0x7ffb1a09018a
>>> [  246.749033] RSP: 002b:00007ffe196680c8 EFLAGS: 00000246 ORIG_RAX:
>>> 00000000000000af
>>> [  246.749034] RAX: ffffffffffffffda RBX: 00005562bb20d080 RCX:
>>> 00007ffb1a09018a
>>> [  246.749034] RDX: 00007ffb1994e6f8 RSI: 0000000000029e50 RDI:
>>> 00005562bba5e710
>>> [  246.749035] RBP: 00007ffb1994e6f8 R08: 0000000000000004 R09:
>>> 0000000000000000
>>> [  246.749035] R10: 0000000000000005 R11: 0000000000000246 R12:
>>> 00005562bba5e710
>>> [  246.749036] R13: 0000000000020000 R14: 00005562bb1fde70 R15:
>>> 00005562bb20d080
>>>
>>>
>>> Should it not detect that its disabled and bail out ?
>>>
>>> -- 
>>>
>>> Thomas
>>>
>>>


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, back to index

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-08-10  7:03 disabling psp in bios causes errors in dmesg Thomas Backlund
2018-08-10 14:11 ` Tom Lendacky
2018-08-21 16:47   ` Tom Lendacky
2018-08-22  7:19     ` Thomas Backlund

LKML Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/lkml/0 lkml/git/0.git
	git clone --mirror https://lore.kernel.org/lkml/1 lkml/git/1.git
	git clone --mirror https://lore.kernel.org/lkml/2 lkml/git/2.git
	git clone --mirror https://lore.kernel.org/lkml/3 lkml/git/3.git
	git clone --mirror https://lore.kernel.org/lkml/4 lkml/git/4.git
	git clone --mirror https://lore.kernel.org/lkml/5 lkml/git/5.git
	git clone --mirror https://lore.kernel.org/lkml/6 lkml/git/6.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 lkml lkml/ https://lore.kernel.org/lkml \
		linux-kernel@vger.kernel.org linux-kernel@archiver.kernel.org
	public-inbox-index lkml


Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-kernel


AGPL code for this site: git clone https://public-inbox.org/ public-inbox