I was disappointed to read that their solution didn't involve switching to TAI. The kernel should use seconds since epoch and leap seconds should be a user space issue, just like timezones.
This method lets you isolate the changes to this level of the stack; everything up top can make the convenient, if slightly incorrect assumptions about time.