s390/zcore: Rename ipl_block to mitigate name collision
With git commit 1e941d39493f1820475d80729a03cd7ab8c3c86d "s390: move ipl block to .boot.preserved.data section" the earl_ipl_block got renamed to ipl_block and became publicly available via boot_data.h. This might cause problems with zcore, which has it's own ipl_block variable. Thus rename the ipl_block in zcore to prevent name collision and highlight that it's only used locally. Signed-off-by: Philipp Rudo <prudo@linux.ibm.com> Fixes: 1e941d39493f ("s390: move ipl block to .boot.preserved.data section") Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
This commit is contained in:
parent
f678068652
commit
f3df44e7c9
@ -51,7 +51,7 @@ static struct dentry *zcore_dir;
|
||||
static struct dentry *zcore_memmap_file;
|
||||
static struct dentry *zcore_reipl_file;
|
||||
static struct dentry *zcore_hsa_file;
|
||||
static struct ipl_parameter_block *ipl_block;
|
||||
static struct ipl_parameter_block *zcore_ipl_block;
|
||||
|
||||
static char hsa_buf[PAGE_SIZE] __aligned(PAGE_SIZE);
|
||||
|
||||
@ -182,8 +182,8 @@ static const struct file_operations zcore_memmap_fops = {
|
||||
static ssize_t zcore_reipl_write(struct file *filp, const char __user *buf,
|
||||
size_t count, loff_t *ppos)
|
||||
{
|
||||
if (ipl_block) {
|
||||
diag308(DIAG308_SET, ipl_block);
|
||||
if (zcore_ipl_block) {
|
||||
diag308(DIAG308_SET, zcore_ipl_block);
|
||||
diag308(DIAG308_LOAD_CLEAR, NULL);
|
||||
}
|
||||
return count;
|
||||
@ -265,18 +265,20 @@ static int __init zcore_reipl_init(void)
|
||||
return rc;
|
||||
if (ipib_info.ipib == 0)
|
||||
return 0;
|
||||
ipl_block = (void *) __get_free_page(GFP_KERNEL);
|
||||
if (!ipl_block)
|
||||
zcore_ipl_block = (void *) __get_free_page(GFP_KERNEL);
|
||||
if (!zcore_ipl_block)
|
||||
return -ENOMEM;
|
||||
if (ipib_info.ipib < sclp.hsa_size)
|
||||
rc = memcpy_hsa_kernel(ipl_block, ipib_info.ipib, PAGE_SIZE);
|
||||
rc = memcpy_hsa_kernel(zcore_ipl_block, ipib_info.ipib,
|
||||
PAGE_SIZE);
|
||||
else
|
||||
rc = memcpy_real(ipl_block, (void *) ipib_info.ipib, PAGE_SIZE);
|
||||
if (rc || (__force u32)csum_partial(ipl_block, ipl_block->hdr.len, 0) !=
|
||||
rc = memcpy_real(zcore_ipl_block, (void *) ipib_info.ipib,
|
||||
PAGE_SIZE);
|
||||
if (rc || (__force u32)csum_partial(zcore_ipl_block, zcore_ipl_block->hdr.len, 0) !=
|
||||
ipib_info.checksum) {
|
||||
TRACE("Checksum does not match\n");
|
||||
free_page((unsigned long) ipl_block);
|
||||
ipl_block = NULL;
|
||||
free_page((unsigned long) zcore_ipl_block);
|
||||
zcore_ipl_block = NULL;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user