mirror of
https://github.com/torvalds/linux.git
synced 2024-11-18 10:01:43 +00:00
s390: proper type casts for csum_partial invocations
Keep sparse and other static code checkers from emitting warnings like: arch/s390/kernel/ipl.c:1549:14: warning: incorrect type in assignment (different base types) arch/s390/kernel/ipl.c:1549:14: expected unsigned int [unsigned] csum arch/s390/kernel/ipl.c:1549:14: got restricted __wsum All usages in s390 code are ok. Therefore add proper casts. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
This commit is contained in:
parent
dd69554660
commit
90b3baa232
@ -1546,7 +1546,8 @@ static void dump_reipl_run(struct shutdown_trigger *trigger)
|
|||||||
unsigned long ipib = (unsigned long) reipl_block_actual;
|
unsigned long ipib = (unsigned long) reipl_block_actual;
|
||||||
unsigned int csum;
|
unsigned int csum;
|
||||||
|
|
||||||
csum = csum_partial(reipl_block_actual, reipl_block_actual->hdr.len, 0);
|
csum = (__force unsigned int)
|
||||||
|
csum_partial(reipl_block_actual, reipl_block_actual->hdr.len, 0);
|
||||||
mem_assign_absolute(S390_lowcore.ipib, ipib);
|
mem_assign_absolute(S390_lowcore.ipib, ipib);
|
||||||
mem_assign_absolute(S390_lowcore.ipib_checksum, csum);
|
mem_assign_absolute(S390_lowcore.ipib_checksum, csum);
|
||||||
dump_run(trigger);
|
dump_run(trigger);
|
||||||
|
@ -26,7 +26,7 @@ static struct os_info os_info __page_aligned_data;
|
|||||||
u32 os_info_csum(struct os_info *os_info)
|
u32 os_info_csum(struct os_info *os_info)
|
||||||
{
|
{
|
||||||
int size = sizeof(*os_info) - offsetof(struct os_info, version_major);
|
int size = sizeof(*os_info) - offsetof(struct os_info, version_major);
|
||||||
return csum_partial(&os_info->version_major, size, 0);
|
return (__force u32)csum_partial(&os_info->version_major, size, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -46,7 +46,7 @@ void os_info_entry_add(int nr, void *ptr, u64 size)
|
|||||||
{
|
{
|
||||||
os_info.entry[nr].addr = (u64)(unsigned long)ptr;
|
os_info.entry[nr].addr = (u64)(unsigned long)ptr;
|
||||||
os_info.entry[nr].size = size;
|
os_info.entry[nr].size = size;
|
||||||
os_info.entry[nr].csum = csum_partial(ptr, size, 0);
|
os_info.entry[nr].csum = (__force u32)csum_partial(ptr, size, 0);
|
||||||
os_info.csum = os_info_csum(&os_info);
|
os_info.csum = os_info_csum(&os_info);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -93,7 +93,7 @@ static void os_info_old_alloc(int nr, int align)
|
|||||||
msg = "copy failed";
|
msg = "copy failed";
|
||||||
goto fail_free;
|
goto fail_free;
|
||||||
}
|
}
|
||||||
csum = csum_partial(buf_align, size, 0);
|
csum = (__force u32)csum_partial(buf_align, size, 0);
|
||||||
if (csum != os_info_old->entry[nr].csum) {
|
if (csum != os_info_old->entry[nr].csum) {
|
||||||
msg = "checksum failed";
|
msg = "checksum failed";
|
||||||
goto fail_free;
|
goto fail_free;
|
||||||
|
@ -272,7 +272,7 @@ static int __init zcore_reipl_init(void)
|
|||||||
rc = memcpy_hsa_kernel(ipl_block, ipib_info.ipib, PAGE_SIZE);
|
rc = memcpy_hsa_kernel(ipl_block, ipib_info.ipib, PAGE_SIZE);
|
||||||
else
|
else
|
||||||
rc = memcpy_real(ipl_block, (void *) ipib_info.ipib, PAGE_SIZE);
|
rc = memcpy_real(ipl_block, (void *) ipib_info.ipib, PAGE_SIZE);
|
||||||
if (rc || csum_partial(ipl_block, ipl_block->hdr.len, 0) !=
|
if (rc || (__force u32)csum_partial(ipl_block, ipl_block->hdr.len, 0) !=
|
||||||
ipib_info.checksum) {
|
ipib_info.checksum) {
|
||||||
TRACE("Checksum does not match\n");
|
TRACE("Checksum does not match\n");
|
||||||
free_page((unsigned long) ipl_block);
|
free_page((unsigned long) ipl_block);
|
||||||
|
Loading…
Reference in New Issue
Block a user