diff options
| author | Thorsten Blum <thorsten.blum@linux.dev> | 2026-05-14 18:56:03 +0200 |
|---|---|---|
| committer | Andrew Morton <akpm@linux-foundation.org> | 2026-05-28 21:24:58 -0700 |
| commit | 685568777c5a18fbc40bd0b64527fd9444c255be (patch) | |
| tree | f61575a8c1612191df1aec2a610caae152e3c446 /lib | |
| parent | 2e73ea35a5dbe7e258b7fd396bcb100fa154f029 (diff) | |
| download | linux-next-history-685568777c5a18fbc40bd0b64527fd9444c255be.tar.gz | |
string: use min in sized_strscpy
Use min() and drop the limit variable to simplify sized_strscpy().
Link: https://lore.kernel.org/20260514165601.527883-3-thorsten.blum@linux.dev
Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev>
Cc: Andy Shevchenko <andy@kernel.org>
Cc: Kees Cook <kees@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/string.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/lib/string.c b/lib/string.c index b632c71df1a50..1f9297e9776a9 100644 --- a/lib/string.c +++ b/lib/string.c @@ -21,6 +21,7 @@ #include <linux/errno.h> #include <linux/limits.h> #include <linux/linkage.h> +#include <linux/minmax.h> #include <linux/stddef.h> #include <linux/string.h> #include <linux/types.h> @@ -125,11 +126,8 @@ ssize_t sized_strscpy(char *dest, const char *src, size_t count) * If src is unaligned, don't cross a page boundary, * since we don't know if the next page is mapped. */ - if ((long)src & (sizeof(long) - 1)) { - size_t limit = PAGE_SIZE - ((long)src & (PAGE_SIZE - 1)); - if (limit < max) - max = limit; - } + if ((long)src & (sizeof(long) - 1)) + max = min(PAGE_SIZE - ((long)src & (PAGE_SIZE - 1)), max); #else /* If src or dest is unaligned, don't do word-at-a-time. */ if (((long) dest | (long) src) & (sizeof(long) - 1)) |
