In order to reduce the hassle of updating TPM firmware, we'd like to preserve the encrypted stateful file system across the firmware update. This will allow to hold on to critical state, such as enterprise enrollment.
Can I play a devil's advocate for a moment: it seems to me this requires a massive effort with questional benefit, aren't we moving all designs to Cr50 which has not problem updating without disrupting stateful.
I believe this is to address systems we've already shipped with hardware TPMs, which we'll be supporting for multiple more years. We may need to update TPM firmware on those devices.
(Yes, this is easier for future devices with Cr50.)
Besides the support for lossless update on TPM 1.2 devices (which we still have several years of support ahead of us), the same series of changes will also provide a foundation for improving the overall mount-encrypted workflow and division of responsibilities and data structures with install attributes - see issue 776771 and issue 758552. Which in turn is also needed for implementing a better post-upgrade cleanup for TPM 1.2: see https://crbug.com/778332#c19.
All that combined provides sufficient justification (imo, as always) for doing this change. Also, most of the additional complexity in Tlcl req'd for that is compiled in only for the host-side version of the library to avoid bloating the firmware code.
Comment 1 by sarthakkukreti@chromium.org
, Feb 2 2018