I guess we could create a test version of udev that would only add that extra byte for small file sizes, or not for 4k files (you can see in the trace that the kernel reports valid size for the "config" attribute and actually most attributes). That would be mainly for debugging though. Even if the read size was wrong (and is causing the issue, this is just a guess at this stage), the kernel would need to prevent reading past the 4k boundary.