Instead, just fall back on the new '%p' behavior which hashes the pointer. Otherwise, '%pK' - that was intended to mark a pointer as restricted - just ends up leaking pointers that a normal '%p' wouldn't leak. Which just make the whole thing pointless. I suspect we should actually get rid of '%pK' entirely, and make it just work as '%p' regardless, but this is the minimal obvious fix. People who actually use 'kptr_restrict' should weigh in on which behavior they want.
Unified · Split
| @@ -1931,6 +1931,8 @@ char *pointer(const char *fmt, char *buf, char *end, void *ptr, · 1930 unmodified lines | |||
| 1931 | return buf; | 1931 | return buf; |
| 1932 | } | 1932 | } |
| 1933 | case 'K': | 1933 | case 'K': |
| 1934 | if (!kptr_restrict) | ||
| 1935 | break; | ||
| 1934 | return restricted_pointer(buf, end, ptr, spec); | 1936 | return restricted_pointer(buf, end, ptr, spec); |
| 1935 | case 'N': | 1937 | case 'N': |
| 1936 | return netdev_bits(buf, end, ptr, fmt); | 1938 | return netdev_bits(buf, end, ptr, fmt); |