qemu-ppc
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-ppc] [Qemu-devel] [PULL 09/29] target/ppc: introduce get_cpu_v


From: Laurent Vivier
Subject: Re: [Qemu-ppc] [Qemu-devel] [PULL 09/29] target/ppc: introduce get_cpu_vsr{l, h}() and set_cpu_vsr{l, h}() helpers for VSR register access
Date: Fri, 7 Jun 2019 11:19:13 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.8.0

On 06/06/2019 22:21, Mark Cave-Ayland wrote:
> On 06/06/2019 20:24, Laurent Vivier wrote:
> 
>> On 05/06/2019 09:43, Laurent Vivier wrote:
>>> On 05/06/2019 08:32, Mark Cave-Ayland wrote:
>>>> On 04/06/2019 22:23, Laurent Vivier wrote:
>>>>
>>>>> This patch breaks something in the libcrypto.
>>>>>
>>>>> I've been able to reproduce the problem with Fedora 29:
>>>>>
>>>>> dnf install 'dnf-command(download)'
>>>>> dnf download --source coreutils-single
>>>>> rpm --verify coreutils-8.30-7.fc29.src.rpm
>>>>> error: coreutils-8.30-7.fc29.src.rpm: Header V3 RSA/SHA256 Signature, key 
>>>>> ID 429476b4: BAD
>>>>> error: coreutils-8.30-7.fc29.src.rpm: Header SHA256 digest: BAD (Expected 
>>>>> fa042669e74ac435bd5defaa8c2e4efe779a0329c24f2b6377591c53b38aa280 != 
>>>>> d6e22527412fafc4aa12882432d0d157e5427097710eeb2d5fce8fbc52a47be6)
>>>>> error: coreutils-8.30-7.fc29.src.rpm: not an rpm package (or package 
>>>>> manifest)
>>>>>
>>>>> See https://bugzilla.redhat.com/show_bug.cgi?id=1715017
>>>>>
>>>>> I've tested with origin/master (47fbad45d47af8af784bb12a5719489edcd89b4c) 
>>>>> and all the 
>>>>> merged fixes for this patch don't fix this problem.
>>>>>
>>>>> We should be able to reproduce it on Debian Sid too: it breaks ssh (this 
>>>>> is one of the rare binaries using libcrypto on debian).
>>>>>
>>>>> I've been able to reproduce it with qemu linux-user if I enable 
>>>>> PPC_FEATURE2_VEC_CRYPTO in linux-user/elfload.c
>>>>> (git clone -b linux-user-ppc64-hwcap address@hidden:vivier/qemu.git).
>>>>>
>>>>> To ease debugging, you can install a Fedora 29 chroot with something like:
>>>>>
>>>>> curl -o container.tar.xz 
>>>>> http://download-ib01.fedoraproject.org/pub/fedora-secondary/releases/29/Container/ppc64le/images/Fedora-Container-Base-29-1.2.ppc64le.tar.xz
>>>>> tar Jxvf container.tar.xz '*/layer.tar'
>>>>> mkdir -p chroot/ppc64le/29
>>>>> cd chroot/ppc64le/29
>>>>> tar xf $OLDPWD/*/layer.tar
>>>>> cd -
>>>>> cp ~/qemu/ppc64le-linux-user/qemu-ppc64le chroot/ppc64le/29/
>>>>> [use "configure --target-list=ppc64le-linux-user --static 
>>>>> --disable-tools" and don't forget to run scripts/qemu-binfmt-conf.sh]
>>>>
>>>> One of Anton's VSX patches hasn't landed in master yet and is still queued 
>>>> in
>>>> ppc-for-4.1: "target/ppc: Fix lxvw4x, lxvh8x and lxvb16x".
>>>>
>>>> Can you try David's ppc-for-4.1 branch first and let me know if that 
>>>> solves the
>>>> issue? If not, I'll take a look at it later in the week when I have a bit 
>>>> more time.
>>>
>>> Thank you Mark.
>>>
>>> Anton's patch fixes the problem.
>>
>> But there are two problems remaining with Fedora 29:
>>
>> - in libssl (openssl-libs-1.1.1-3.fc29.ppc64le):
>>
>>   $ curl -o /dev/null https://www.google.com
>>   ...
>>   curl: (35) error:1408F119:SSL routines:ssl3_get_record:decryption failed 
>> or bad record mac
>>
>> - in the kernel (4.18.16-300.fc29.ppc64le):
>>
>> [   39.742120] crypto_register_alg 'aes' = 0
>> [   39.919286] crypto_register_alg 'cbc(aes)' = 0
>> [   40.053942] crypto_register_alg 'ctr(aes)' = 0
>> [   40.372764] alg: skcipher: Test 1 failed (invalid result) on encryption 
>> for p8_aes_xts
>> [   40.373458] 00000000: 91 7c f6 9e bd 68 b2 ec 9b 9f e9 a3 ea dd a6 92
>> [   40.373568] 00000010: 98 10 35 57 5e dc 36 1e 9a f7 bc ba 39 f2 5c eb
>> [   40.374139] crypto_register_alg 'xts(aes)' = 0
>> [   40.389241] alg: hash: Test 2 failed for p8_ghash
>> [   40.389422] 00000000: 5f 89 ab f7 20 57 20 57 20 57 20 57 20 57 20 57
>>
>> My qemu is on top of 
>>
>> 0d74f3b427 Merge remote-tracking branch 
>> 'remotes/vivier2/tags/trivial-branch-pull-request' into staging
>> + "target/ppc: Fix lxvw4x, lxvh8x and lxvb16x"
> 
> Hmmm and this is definitely a regression introduced by the same patch as 
> given in the
> subject?

I bisected and regression comes with:

commit 571fbe6ccd7a159789e5d473e2837d45764197ec
Author: Richard Henderson <address@hidden>
Date:   Sat May 18 12:14:29 2019 -0700

    target/ppc: Use vector variable shifts for VSL, VSR, VSRA

    The gvec expanders take care of masking the shift amount
    against the element width.

    Signed-off-by: Richard Henderson <address@hidden>
    Message-Id: <address@hidden>
    Signed-off-by: David Gibson <address@hidden>

Thanks,
Laurent



reply via email to

[Prev in Thread] Current Thread [Next in Thread]