It wouldn't be a good situation, however, for all kernel messages to become set in stone because people are relying on the CRC32 of the format string, so that even spelling mistakes and typos can never be corrected. If you think that line number is something unpredictable, perhaps show "foo.c:N" for the Nth occurrence of printk() in file foo.c. Then it would be fairly robust against code jiggling; only a real change to the code's functionality would cause the number to change.