Break the loop if `cur_block_nr` is a null block number because this
means that the end of chunk is reached. In this case we will try to
boot the default entry.
Fixes: ba831b25262a ("s390-ccw: read stage2 boot loader data to find menu")
Reviewed-by: Collin Walling <walling@linux.ibm.com>
Signed-off-by: Marc Hartmayer <mhartmay@linux.ibm.com>
---
pc-bios/s390-ccw/bootmap.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pc-bios/s390-ccw/bootmap.c b/pc-bios/s390-ccw/bootmap.c
index 0d29dceaa3cc..08f16c5595a3 100644
--- a/pc-bios/s390-ccw/bootmap.c
+++ b/pc-bios/s390-ccw/bootmap.c
@@ -192,7 +192,7 @@ static int eckd_get_boot_menu_index(block_number_t s1b_block_nr)
for (i = 0; i < STAGE2_BLK_CNT_MAX; i++) {
cur_block_nr = eckd_block_num(&s1b->seek[i].chs);
- if (!cur_block_nr) {
+ if (!cur_block_nr || is_null_block_number(cur_block_nr)) {
break;
}
--
2.25.4
On 24/09/2020 10.59, Marc Hartmayer wrote:
> Break the loop if `cur_block_nr` is a null block number because this
> means that the end of chunk is reached. In this case we will try to
> boot the default entry.
>
> Fixes: ba831b25262a ("s390-ccw: read stage2 boot loader data to find menu")
> Reviewed-by: Collin Walling <walling@linux.ibm.com>
> Signed-off-by: Marc Hartmayer <mhartmay@linux.ibm.com>
> ---
> pc-bios/s390-ccw/bootmap.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/pc-bios/s390-ccw/bootmap.c b/pc-bios/s390-ccw/bootmap.c
> index 0d29dceaa3cc..08f16c5595a3 100644
> --- a/pc-bios/s390-ccw/bootmap.c
> +++ b/pc-bios/s390-ccw/bootmap.c
> @@ -192,7 +192,7 @@ static int eckd_get_boot_menu_index(block_number_t s1b_block_nr)
> for (i = 0; i < STAGE2_BLK_CNT_MAX; i++) {
> cur_block_nr = eckd_block_num(&s1b->seek[i].chs);
>
> - if (!cur_block_nr) {
> + if (!cur_block_nr || is_null_block_number(cur_block_nr)) {
> break;
> }
Reviewed-by: Thomas Huth <thuth@redhat.com>
I'll queue the two patches on my s390-ccw bios branch. Just let me know
if you'd like to have the "< ... - 3" changed into "<= ... - 4" in the
first patch, I can tweak it directly if you like.
Thomas
On Thu, Sep 24, 2020 at 01:49 PM +0200, Thomas Huth <thuth@redhat.com> wrote:
> On 24/09/2020 10.59, Marc Hartmayer wrote:
>> Break the loop if `cur_block_nr` is a null block number because this
>> means that the end of chunk is reached. In this case we will try to
>> boot the default entry.
>>
>> Fixes: ba831b25262a ("s390-ccw: read stage2 boot loader data to find menu")
>> Reviewed-by: Collin Walling <walling@linux.ibm.com>
>> Signed-off-by: Marc Hartmayer <mhartmay@linux.ibm.com>
>> ---
>> pc-bios/s390-ccw/bootmap.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/pc-bios/s390-ccw/bootmap.c b/pc-bios/s390-ccw/bootmap.c
>> index 0d29dceaa3cc..08f16c5595a3 100644
>> --- a/pc-bios/s390-ccw/bootmap.c
>> +++ b/pc-bios/s390-ccw/bootmap.c
>> @@ -192,7 +192,7 @@ static int eckd_get_boot_menu_index(block_number_t s1b_block_nr)
>> for (i = 0; i < STAGE2_BLK_CNT_MAX; i++) {
>> cur_block_nr = eckd_block_num(&s1b->seek[i].chs);
>>
>> - if (!cur_block_nr) {
>> + if (!cur_block_nr || is_null_block_number(cur_block_nr)) {
>> break;
>> }
>
> Reviewed-by: Thomas Huth <thuth@redhat.com>
>
> I'll queue the two patches on my s390-ccw bios branch. Just let me know
> if you'd like to have the "< ... - 3" changed into "<= ... - 4" in the
> first patch, I can tweak it directly if you like.
Yes, please change it to <= … - 4. Thanks!
>
> Thomas
>
--
Kind regards / Beste Grüße
Marc Hartmayer
IBM Deutschland Research & Development GmbH
Vorsitzender des Aufsichtsrats: Gregor Pillen
Geschäftsführung: Dirk Wittkopp
Sitz der Gesellschaft: Böblingen
Registergericht: Amtsgericht Stuttgart, HRB 243294
© 2016 - 2026 Red Hat, Inc.