This patch provides a PAM module that loads a user's authentication token as a ZFS key for a user-specific dataset on login. It also includes a patch to libzfs to allow a key to be provided directly in a key location, without the need to use a file.
This is intended to be used to allow users to have an encrypted ZFS home directory that is usually unmounted, but which has its keys loaded when the user logs in.