2021-09-28 13:13:06

by Jerome Forissier

[permalink] [raw]
Subject: optee: regression with kernel v5.14 (virtualization)

Hi,

I met an issue when testing OP-TEE with the latest released kernel
(v5.14). The kernel won't boot when virtualization is enabled. More
precisely, the boot hangs as the optee driver is probed. The last line
on the console is:

[xxx] optee: probing for conduit method.

The issue can easily be reproduced in the QEMU OP-TEE environment as
documented in [1]:

$ repo init -u https://github.com/OP-TEE/manifest.git -m qemu_v8.xml
$ repo sync -j10
$ cd linux
$ git fetch github --unshallow
$ git checkout v5.14
$ cd ../build
$ make -j2 toolchains
$ make -j10 XEN_BOOT=y run

[Note, if you switch between XEN_BOOT=y and the default build, you need
to "make arm-tf-clean"]

git bisect points at commit b5c10dd04b74 ("optee: Clear stale cache
entries during initialization") and reverting this commit on top of
v5.14 does resolve the issue.

Any idea what's wrong?

[1]
https://optee.readthedocs.io/en/latest/building/devices/qemu.html#qemu-v8

Thanks,
--
Jerome


2021-09-28 13:19:57

by Volodymyr Babchuk

[permalink] [raw]
Subject: Re: optee: regression with kernel v5.14 (virtualization)

Hi Jerome,

On Tue, 28 Sept 2021 at 16:08, Jerome Forissier <[email protected]> wrote:
>
> Hi,
>
> I met an issue when testing OP-TEE with the latest released kernel
> (v5.14). The kernel won't boot when virtualization is enabled. More
> precisely, the boot hangs as the optee driver is probed. The last line
> on the console is:
>
> [xxx] optee: probing for conduit method.
>
> The issue can easily be reproduced in the QEMU OP-TEE environment as
> documented in [1]:
>
> $ repo init -u https://github.com/OP-TEE/manifest.git -m qemu_v8.xml
> $ repo sync -j10
> $ cd linux
> $ git fetch github --unshallow
> $ git checkout v5.14
> $ cd ../build
> $ make -j2 toolchains
> $ make -j10 XEN_BOOT=y run
>
> [Note, if you switch between XEN_BOOT=y and the default build, you need
> to "make arm-tf-clean"]
>
> git bisect points at commit b5c10dd04b74 ("optee: Clear stale cache
> entries during initialization") and reverting this commit on top of
> v5.14 does resolve the issue.
>
> Any idea what's wrong?

Yes, there was a small mistake in the mediator. My colleague already
pushed the patch. It is at staging now:

http://xenbits.xen.org/gitweb/?p=xen.git;a=commit;h=1c3ed9c908732d19660fbe83580674d585464d4c

And will be backported to Xen 4.13+


--
WBR Volodymyr Babchuk aka lorc [+380976646013]
mailto: [email protected]

2021-09-28 13:38:33

by Jerome Forissier

[permalink] [raw]
Subject: Re: optee: regression with kernel v5.14 (virtualization)



On 9/28/21 3:15 PM, Volodymyr Babchuk wrote:
> Hi Jerome,
>
> On Tue, 28 Sept 2021 at 16:08, Jerome Forissier <[email protected]> wrote:
>>
>> Hi,
>>
>> I met an issue when testing OP-TEE with the latest released kernel
>> (v5.14). The kernel won't boot when virtualization is enabled. More
>> precisely, the boot hangs as the optee driver is probed. The last line
>> on the console is:
>>
>> [xxx] optee: probing for conduit method.
>>
>> The issue can easily be reproduced in the QEMU OP-TEE environment as
>> documented in [1]:
>>
>> $ repo init -u https://github.com/OP-TEE/manifest.git -m qemu_v8.xml
>> $ repo sync -j10
>> $ cd linux
>> $ git fetch github --unshallow
>> $ git checkout v5.14
>> $ cd ../build
>> $ make -j2 toolchains
>> $ make -j10 XEN_BOOT=y run
>>
>> [Note, if you switch between XEN_BOOT=y and the default build, you need
>> to "make arm-tf-clean"]
>>
>> git bisect points at commit b5c10dd04b74 ("optee: Clear stale cache
>> entries during initialization") and reverting this commit on top of
>> v5.14 does resolve the issue.
>>
>> Any idea what's wrong?
>
> Yes, there was a small mistake in the mediator. My colleague already
> pushed the patch. It is at staging now:
>
> http://xenbits.xen.org/gitweb/?p=xen.git;a=commit;h=1c3ed9c908732d19660fbe83580674d585464d4c
>
> And will be backported to Xen 4.13+

Awesome :) Thanks Vlad!

--
Jerome