Am I missing something or does an evil application/bug that writes an entry that is sufficiently long get to write outside the buffer? I can't see any check in the write code that prevents this happening.
IMHO assumptions about the niceness and bug freeness of user space in the kernel are an unambiguously bad idea.