Ping?

On Mon, Aug 16, 2021 at 12:09:51AM -0300, Crystal Kolipe wrote:
> Hi,
> 
> The patch below fixes an off-by-one in /arch/amd64/stand/libsa/cmd_i386.c.
> 
> The affected code path is handling the machine boot command in the 
> bootloader. Currently, trying to boot from MBR partition 'a', with a command 
> such as machine boot hd0a, will in fact boot from whichever partition is 
> flagged as active, rather than forcing a boot from partition 'a'.
> 
> The bug was introduced in revision 1.20 of the original i386 architecture 
> file over 20 years ago on 19980224.
> 
> untrusted comment: verify with signify key for exoticsilicon.com
> RWRn5d3Yx35u0w51USyxAkjCzjLo99UNE67gXzvuaTGbD9cMlTKdDTOAOe7JA6LV/VLWqmomwo7D9m399vKnra2KyrUn/EYcUgo=
> --- arch/amd64/stand/libsa/cmd_i386.c.dist    Fri May 10 18:20:43 2019
> +++ arch/amd64/stand/libsa/cmd_i386.c Sun Aug 15 23:44:45 2021
> @@ -107,7 +107,7 @@
>       dev += (cmd.argv[1][2] - '0');
>       part = (cmd.argv[1][3] - 'a');
>  
> -     if (part > 0)
> +     if (part >= 0)
>               printf("[%x,%d]\n", dev, part);
>       else
>               printf("[%x]\n", dev);
> @@ -119,7 +119,7 @@
>               goto bad;
>  
>       /* Frob boot flag in buffer from HD */
> -     if ((dev & 0x80) && (part > 0)){
> +     if ((dev & 0x80) && (part >= 0)){
>               int i, j;
>  
>               for (i = 0, j = DOSPARTOFF; i < 4; i++, j += 16)
> --- arch/i386/stand/libsa/cmd_i386.c.dist     Fri Jun 10 15:36:06 2016
> +++ arch/i386/stand/libsa/cmd_i386.c  Sun Aug 15 23:44:23 2021
> @@ -119,7 +119,7 @@
>       dev += (cmd.argv[1][2] - '0');
>       part = (cmd.argv[1][3] - 'a');
>  
> -     if (part > 0)
> +     if (part >= 0)
>               printf("[%x,%d]\n", dev, part);
>       else
>               printf("[%x]\n", dev);
> @@ -131,7 +131,7 @@
>               goto bad;
>  
>       /* Frob boot flag in buffer from HD */
> -     if ((dev & 0x80) && (part > 0)){
> +     if ((dev & 0x80) && (part >= 0)){
>               int i, j;
>  
>               for (i = 0, j = DOSPARTOFF; i < 4; i++, j += 16)
> 

Reply via email to