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 g...@github.com: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"

Thanks,
Laurent

Reply via email to