svn commit: r323905 - in head/sys/boot/efi: include loader
Toomas Soome
tsoome at FreeBSD.org
Fri Sep 22 07:29:28 UTC 2017
Author: tsoome
Date: Fri Sep 22 07:29:26 2017
New Revision: 323905
URL: https://svnweb.freebsd.org/changeset/base/323905
Log:
libefi: pdinfo_t pd_unit and pd_open should be unsigned
The device index, partition index and reference counter are all positive
numbers. However, since our internal partition number may be negative
to indicate GPT table, the compare expression need to take care when comparing
pdinfo_t and partition data.
Modified:
head/sys/boot/efi/include/efilib.h
head/sys/boot/efi/loader/main.c
Modified: head/sys/boot/efi/include/efilib.h
==============================================================================
--- head/sys/boot/efi/include/efilib.h Fri Sep 22 06:33:01 2017 (r323904)
+++ head/sys/boot/efi/include/efilib.h Fri Sep 22 07:29:26 2017 (r323905)
@@ -56,8 +56,8 @@ typedef struct pdinfo
EFI_HANDLE pd_alias;
EFI_DEVICE_PATH *pd_devpath;
EFI_BLOCK_IO *pd_blkio;
- int pd_unit; /* unit number */
- int pd_open; /* reference counter */
+ uint32_t pd_unit; /* unit number */
+ uint32_t pd_open; /* reference counter */
void *pd_bcache; /* buffer cache data */
} pdinfo_t;
Modified: head/sys/boot/efi/loader/main.c
==============================================================================
--- head/sys/boot/efi/loader/main.c Fri Sep 22 06:33:01 2017 (r323904)
+++ head/sys/boot/efi/loader/main.c Fri Sep 22 07:29:26 2017 (r323905)
@@ -901,7 +901,7 @@ command_chain(int argc, char *argv[])
/*
* d_partition should be 255
*/
- if (pd->pd_unit == d_dev->d_slice) {
+ if (pd->pd_unit == (uint32_t)d_dev->d_slice) {
loaded_image->DeviceHandle =
pd->pd_handle;
break;
More information about the svn-src-all
mailing list