From aa7d3432caf02b6c8b60476fb54197c28f3b5e03 Mon Sep 17 00:00:00 2001 From: Ayan Kumar Halder Date: Tue, 24 Jan 2023 16:53:13 +0100 Subject: [PATCH] ns16550: fix the use of simple_strtoul() for parsing u64 One should be using simple_strtoull() ( instead of simple_strtoul() ) to assign value to 'u64' variable. The reason being u64 can be represented by 'unsigned long long' on all the platforms (ie Arm32, Arm64 and x86). Suggested-by: Jan Beulich Signed-off-by: Ayan Kumar Halder Reviewed-by: Jan Beulich --- xen/drivers/char/ns16550.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/xen/drivers/char/ns16550.c b/xen/drivers/char/ns16550.c index 01a05c9aa8..7e22e687fb 100644 --- a/xen/drivers/char/ns16550.c +++ b/xen/drivers/char/ns16550.c @@ -1532,7 +1532,7 @@ static bool __init parse_positional(struct ns16550 *uart, char **str) else #endif { - uart->io_base = simple_strtoul(conf, &conf, 0); + uart->io_base = simple_strtoull(conf, &conf, 0); } } @@ -1603,7 +1603,7 @@ static bool __init parse_namevalue_pairs(char *str, struct ns16550 *uart) "Can't use io_base with dev=pci or dev=amt options\n"); break; } - uart->io_base = simple_strtoul(param_value, NULL, 0); + uart->io_base = simple_strtoull(param_value, NULL, 0); break; case irq: -- 2.39.5