fw_cfg: fix sparse warnings around FW_CFG_FILE_DIR read
Use struct fw_cfg_files to read the directory size, fixing the sparse warnings: drivers/firmware/qemu_fw_cfg.c:485:17: warning: cast to restricted __be32 Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
f295c8dba7
commit
3d47a34ba6
|
@ -496,19 +496,20 @@ err_register:
|
||||||
static int fw_cfg_register_dir_entries(void)
|
static int fw_cfg_register_dir_entries(void)
|
||||||
{
|
{
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
|
__be32 files_count;
|
||||||
u32 count, i;
|
u32 count, i;
|
||||||
struct fw_cfg_file *dir;
|
struct fw_cfg_file *dir;
|
||||||
size_t dir_size;
|
size_t dir_size;
|
||||||
|
|
||||||
fw_cfg_read_blob(FW_CFG_FILE_DIR, &count, 0, sizeof(count));
|
fw_cfg_read_blob(FW_CFG_FILE_DIR, &files_count, 0, sizeof(files_count));
|
||||||
count = be32_to_cpu(count);
|
count = be32_to_cpu(files_count);
|
||||||
dir_size = count * sizeof(struct fw_cfg_file);
|
dir_size = count * sizeof(struct fw_cfg_file);
|
||||||
|
|
||||||
dir = kmalloc(dir_size, GFP_KERNEL);
|
dir = kmalloc(dir_size, GFP_KERNEL);
|
||||||
if (!dir)
|
if (!dir)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
|
||||||
fw_cfg_read_blob(FW_CFG_FILE_DIR, dir, sizeof(count), dir_size);
|
fw_cfg_read_blob(FW_CFG_FILE_DIR, dir, sizeof(files_count), dir_size);
|
||||||
|
|
||||||
for (i = 0; i < count; i++) {
|
for (i = 0; i < count; i++) {
|
||||||
ret = fw_cfg_register_file(&dir[i]);
|
ret = fw_cfg_register_file(&dir[i]);
|
||||||
|
|
Loading…
Reference in New Issue