ACPICA: Explicitly cast 1 to u32
ACPICA commit 4091360d6526c8d4f1e6bccb6b1c3123bda9ac33 The runtime errors caused when acpica tools are compiled with -fsanitize=shift imply that these 1s are stored in integers. This cast insures that 1 is stored in unsigned integers. Link: https://github.com/acpica/acpica/commit/4091360d Signed-off-by: Erik Schmauss <erik.schmauss@intel.com> Signed-off-by: Bob Moore <robert.moore@intel.com> Signed-off-by: Lv Zheng <lv.zheng@intel.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
parent
5e2d9e919f
commit
deb85f6c8a
|
@ -104,13 +104,19 @@ acpi_status acpi_ut_allocate_owner_id(acpi_owner_id *owner_id)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!(acpi_gbl_owner_id_mask[j] & (1 << k))) {
|
/*
|
||||||
|
* Note: the u32 cast ensures that 1 is stored as a unsigned
|
||||||
|
* integer. Omitting the cast may result in 1 being stored as an
|
||||||
|
* int. Some compilers or runtime error detection may flag this as
|
||||||
|
* an error.
|
||||||
|
*/
|
||||||
|
if (!(acpi_gbl_owner_id_mask[j] & ((u32)1 << k))) {
|
||||||
/*
|
/*
|
||||||
* Found a free ID. The actual ID is the bit index plus one,
|
* Found a free ID. The actual ID is the bit index plus one,
|
||||||
* making zero an invalid Owner ID. Save this as the last ID
|
* making zero an invalid Owner ID. Save this as the last ID
|
||||||
* allocated and update the global ID mask.
|
* allocated and update the global ID mask.
|
||||||
*/
|
*/
|
||||||
acpi_gbl_owner_id_mask[j] |= (1 << k);
|
acpi_gbl_owner_id_mask[j] |= ((u32)1 << k);
|
||||||
|
|
||||||
acpi_gbl_last_owner_id_index = (u8)j;
|
acpi_gbl_last_owner_id_index = (u8)j;
|
||||||
acpi_gbl_next_owner_id_offset = (u8)(k + 1);
|
acpi_gbl_next_owner_id_offset = (u8)(k + 1);
|
||||||
|
@ -201,7 +207,7 @@ void acpi_ut_release_owner_id(acpi_owner_id *owner_id_ptr)
|
||||||
/* Decode ID to index/offset pair */
|
/* Decode ID to index/offset pair */
|
||||||
|
|
||||||
index = ACPI_DIV_32(owner_id);
|
index = ACPI_DIV_32(owner_id);
|
||||||
bit = 1 << ACPI_MOD_32(owner_id);
|
bit = (u32)1 << ACPI_MOD_32(owner_id);
|
||||||
|
|
||||||
/* Free the owner ID only if it is valid */
|
/* Free the owner ID only if it is valid */
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue