If an incorrect password is provided for a systemd-homed based user, kcheckpass sends ConvPutAuthAbort. Currently, ConvPutAuthAbort is handled like ConvPutReadyForAuthentication. This causes the problem of repeating authentication indefinitely. So, treating ConvPutAuthAbort as an authentication failure solves the problem.
To reproduce the problem:
- Create systemd-homed based user.
- Make sure PAM configure supports systemd-homed.
- Try unlock in lockscreen.(not SDDM login screen)
You can easily reproduce this with arch linux. If you enter an incorrect password, notification says login is blocked by too many login attempts.