Reduce initrd_size scope. It is already of signed type (ssize_t),
no need to cast to unsigned for the comparison.
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
hw/loongarch/boot.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/hw/loongarch/boot.c b/hw/loongarch/boot.c
index a516415822d..3dd48cb8aab 100644
--- a/hw/loongarch/boot.c
+++ b/hw/loongarch/boot.c
@@ -306,7 +306,7 @@ static ram_addr_t alloc_initrd_memory(struct loongarch_boot_info *info,
static int64_t load_kernel_info(struct loongarch_boot_info *info)
{
uint64_t kernel_entry, kernel_low, kernel_high, initrd_offset = 0;
- ssize_t kernel_size, initrd_size;
+ ssize_t kernel_size;
kernel_size = load_elf(info->kernel_filename, NULL,
cpu_loongarch_virt_to_phys, NULL,
@@ -328,7 +328,8 @@ static int64_t load_kernel_info(struct loongarch_boot_info *info)
}
if (info->initrd_filename) {
- initrd_size = get_image_size(info->initrd_filename);
+ ssize_t initrd_size = get_image_size(info->initrd_filename);
+
if (initrd_size > 0) {
initrd_offset = ROUND_UP(kernel_high + 4 * kernel_size, 64 * KiB);
initrd_offset = alloc_initrd_memory(info, initrd_offset,
@@ -337,7 +338,7 @@ static int64_t load_kernel_info(struct loongarch_boot_info *info)
initrd_offset, initrd_size);
}
- if (initrd_size == (target_ulong)-1) {
+ if (initrd_size == -1) {
error_report("could not load initial ram disk '%s'",
info->initrd_filename);
exit(1);
--
2.51.0
在 2025/10/10 上午4:19, Philippe Mathieu-Daudé 写道:
> Reduce initrd_size scope. It is already of signed type (ssize_t),
> no need to cast to unsigned for the comparison.
>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
> hw/loongarch/boot.c | 7 ++++---
> 1 file changed, 4 insertions(+), 3 deletions(-)
Signed-off-by: Song Gao <gaosong@loongson.cn>
Thanks.
Song Gao
> diff --git a/hw/loongarch/boot.c b/hw/loongarch/boot.c
> index a516415822d..3dd48cb8aab 100644
> --- a/hw/loongarch/boot.c
> +++ b/hw/loongarch/boot.c
> @@ -306,7 +306,7 @@ static ram_addr_t alloc_initrd_memory(struct loongarch_boot_info *info,
> static int64_t load_kernel_info(struct loongarch_boot_info *info)
> {
> uint64_t kernel_entry, kernel_low, kernel_high, initrd_offset = 0;
> - ssize_t kernel_size, initrd_size;
> + ssize_t kernel_size;
>
> kernel_size = load_elf(info->kernel_filename, NULL,
> cpu_loongarch_virt_to_phys, NULL,
> @@ -328,7 +328,8 @@ static int64_t load_kernel_info(struct loongarch_boot_info *info)
> }
>
> if (info->initrd_filename) {
> - initrd_size = get_image_size(info->initrd_filename);
> + ssize_t initrd_size = get_image_size(info->initrd_filename);
> +
> if (initrd_size > 0) {
> initrd_offset = ROUND_UP(kernel_high + 4 * kernel_size, 64 * KiB);
> initrd_offset = alloc_initrd_memory(info, initrd_offset,
> @@ -337,7 +338,7 @@ static int64_t load_kernel_info(struct loongarch_boot_info *info)
> initrd_offset, initrd_size);
> }
>
> - if (initrd_size == (target_ulong)-1) {
> + if (initrd_size == -1) {
> error_report("could not load initial ram disk '%s'",
> info->initrd_filename);
> exit(1);
On 10/9/25 13:19, Philippe Mathieu-Daudé wrote:
> Reduce initrd_size scope. It is already of signed type (ssize_t),
> no need to cast to unsigned for the comparison.
>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
> hw/loongarch/boot.c | 7 ++++---
> 1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/hw/loongarch/boot.c b/hw/loongarch/boot.c
> index a516415822d..3dd48cb8aab 100644
> --- a/hw/loongarch/boot.c
> +++ b/hw/loongarch/boot.c
> @@ -306,7 +306,7 @@ static ram_addr_t alloc_initrd_memory(struct loongarch_boot_info *info,
> static int64_t load_kernel_info(struct loongarch_boot_info *info)
> {
> uint64_t kernel_entry, kernel_low, kernel_high, initrd_offset = 0;
> - ssize_t kernel_size, initrd_size;
> + ssize_t kernel_size;
>
> kernel_size = load_elf(info->kernel_filename, NULL,
> cpu_loongarch_virt_to_phys, NULL,
> @@ -328,7 +328,8 @@ static int64_t load_kernel_info(struct loongarch_boot_info *info)
> }
>
> if (info->initrd_filename) {
> - initrd_size = get_image_size(info->initrd_filename);
> + ssize_t initrd_size = get_image_size(info->initrd_filename);
> +
> if (initrd_size > 0) {
> initrd_offset = ROUND_UP(kernel_high + 4 * kernel_size, 64 * KiB);
> initrd_offset = alloc_initrd_memory(info, initrd_offset,
> @@ -337,7 +338,7 @@ static int64_t load_kernel_info(struct loongarch_boot_info *info)
> initrd_offset, initrd_size);
> }
>
> - if (initrd_size == (target_ulong)-1) {
> + if (initrd_size == -1) {
> error_report("could not load initial ram disk '%s'",
> info->initrd_filename);
> exit(1);
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
r~
© 2016 - 2025 Red Hat, Inc.