For the record, I've been able to simplify this even more in my remove-sha1 branch: https://git.zx2c4.com/linux-dev/log/?h=remove-sha1 . We no longer need the packed struct and we handle that secret a bit better too. If this patchset moves onto a non-RFC v2, that'll be part of it.