lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <af2b2e0246c970d59e67b746eacc9b9a129cfde0.camel@kernel.org>
Date:   Wed, 26 Apr 2023 21:03:19 +0300
From:   Jarkko Sakkinen <jarkko@...nel.org>
To:     Krzysztof Kozlowski <krzysztof.kozlowski@...aro.org>,
        Pengfei Xu <pengfei.xu@...el.com>, l.sanfilippo@...bus.com
Cc:     linux-kernel@...r.kernel.org, jgg@...pe.ca, heng.su@...el.com,
        peterhuewe@....de, dhowells@...hat.com, lkp@...el.com
Subject: Re: [Syzkaller & bisect] There is WARNING in tpm_chip_unregister in
 upstream patch "tpm: st33zp24: Mark ACPI and OF related data as maybe
 unused"

On Wed, 2023-04-26 at 15:12 +0200, Krzysztof Kozlowski wrote:
> On 26/04/2023 11:10, Pengfei Xu wrote:
> > Hi Jarkko and Krzysztof Kozlowski,
> > 
> > Greeting!
> > 
> > Platform: x86 platforms
> > 
> > There is WARNING in tpm_chip_unregister in upstream patch "tpm: st33zp24: Mark
> > ACPI and OF related data as maybe unused":
> > https://lore.kernel.org/lkml/20230424144130.1084795-1-jarkko@kernel.org/
> > -> https://lore.kernel.org/lkml/20230319141354.22907-1-krzysztof.kozlowski@linaro.org/
> > 
> > We tested Intel internal kernel and found that, the above patch caused below
> > WARNING and then kernel BUG dmesg info. After reverted above commit on top
> > of Intel internal kernel, this issue was gone.
> > I checked that internal commit:"c3985d8b9c22 tpm: st33zp24: Mark ACPI and OF
> > related data as maybe unused" was same as above link patch.
> > This issue could be reproduced in 155s in VM.
> > 
> > All detailed info: https://github.com/xupengfe/syzkaller_logs/tree/main/230426_132902_tpm_chip_unregister_warning
> > Syzkaller reproduced code: https://github.com/xupengfe/syzkaller_logs/blob/main/230426_132902_tpm_chip_unregister_warning/repro.c
> > Syzkaller syscall reproduced steps: https://github.com/xupengfe/syzkaller_logs/blob/main/230426_132902_tpm_chip_unregister_warning/repro.prog
> > Syzkaller analysis report: https://github.com/xupengfe/syzkaller_logs/blob/main/230426_132902_tpm_chip_unregister_warning/repro.report
> > Kconfig: https://github.com/xupengfe/syzkaller_logs/blob/main/230426_132902_tpm_chip_unregister_warning/kconfig_origin
> > Bisect info: https://github.com/xupengfe/syzkaller_logs/blob/main/230426_132902_tpm_chip_unregister_warning/bisect_info.log
> > 
> > "
> > [   24.638052] memfd_create() without MFD_EXEC nor MFD_NOEXEC_SEAL, pid=329 'systemd'
> > [   28.731375] cgroup: Unknown subsys name 'net'
> > [   28.741433] cgroup: Unknown subsys name 'rlimit'
> > [   35.900833] tpm tpm0: Operation Canceled
> > [   35.901377] ------------[ cut here ]------------
> > [   35.901648] refcount_t: addition on 0; use-after-free.
> > [   35.901986] WARNING: CPU: 0 PID: 4095 at lib/refcount.c:25 refcount_warn_saturate+0xe6/0x1c0
> 
> Thanks for the report. I am quite surprised that this commit was pointed
> as possible cause. The patch does not touch anything related to reported
> issue... At least I do not see it. Could be some tooling problem in your
> reproduction steps?

I see a critical bug in this commit.

Because only tpm_tis_core calls tpm_chip_startup(), in effect none of this
code is ever executd for e.g. tpm_crb and tpm_vtpm_proxy and some other
drivers that are not based on TIS/FIFO specification.

Lino, can you submit a fix re-enabling non-tpm_tis drivers?

BR, Jarkko

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ