The min/max call needed to have explicit types on some architectures (e.g. mn10300). Use clamp_t instead to avoid the warning: kernel/sys.c: In function 'override_release': kernel/sys.c:1287:10: warning: comparison of distinct pointer types lacks a cast [enabled by default]
Unified · Split
| @@ -1284,7 +1284,7 @@ static int override_release(char __user *release, size_t len) · 1283 unmodified lines | |||
| 1284 | rest++; | 1284 | rest++; |
| 1285 | } | 1285 | } |
| 1286 | v = ((LINUX_VERSION_CODE >> 8) & 0xff) + 40; | 1286 | v = ((LINUX_VERSION_CODE >> 8) & 0xff) + 40; |
| 1287 | copy = min(sizeof(buf), max_t(size_t, 1, len)); | 1287 | copy = clamp_t(size_t, len, 1, sizeof(buf)); |
| 1288 | copy = scnprintf(buf, copy, "2.6.%u%s", v, rest); | 1288 | copy = scnprintf(buf, copy, "2.6.%u%s", v, rest); |
| 1289 | ret = copy_to_user(release, buf, copy + 1); | 1289 | ret = copy_to_user(release, buf, copy + 1); |
| 1290 | } | 1290 | } |