@@ -839,7 +839,7 @@ int amdgpu_info_ioctl(struct drm_device *dev, void *data, struct drm_file *filp)
839839 memcpy (& dev_info -> cu_ao_bitmap [0 ], & adev -> gfx .cu_info .ao_cu_bitmap [0 ],
840840 sizeof (adev -> gfx .cu_info .ao_cu_bitmap ));
841841 memcpy (& dev_info -> cu_bitmap [0 ], & adev -> gfx .cu_info .bitmap [0 ],
842- sizeof (adev -> gfx . cu_info . bitmap ));
842+ sizeof (dev_info -> cu_bitmap ));
843843 dev_info -> vram_type = adev -> gmc .vram_type ;
844844 dev_info -> vram_bit_width = adev -> gmc .vram_width ;
845845 dev_info -> vce_harvest_config = adev -> vce .harvest_config ;
@@ -940,12 +940,17 @@ int amdgpu_info_ioctl(struct drm_device *dev, void *data, struct drm_file *filp)
940940 struct atom_context * atom_context ;
941941
942942 atom_context = adev -> mode_info .atom_context ;
943- memcpy (vbios_info .name , atom_context -> name , sizeof (atom_context -> name ));
944- memcpy (vbios_info .vbios_pn , atom_context -> vbios_pn , sizeof (atom_context -> vbios_pn ));
945- vbios_info .version = atom_context -> version ;
946- memcpy (vbios_info .vbios_ver_str , atom_context -> vbios_ver_str ,
947- sizeof (atom_context -> vbios_ver_str ));
948- memcpy (vbios_info .date , atom_context -> date , sizeof (atom_context -> date ));
943+ if (atom_context ) {
944+ memcpy (vbios_info .name , atom_context -> name ,
945+ sizeof (atom_context -> name ));
946+ memcpy (vbios_info .vbios_pn , atom_context -> vbios_pn ,
947+ sizeof (atom_context -> vbios_pn ));
948+ vbios_info .version = atom_context -> version ;
949+ memcpy (vbios_info .vbios_ver_str , atom_context -> vbios_ver_str ,
950+ sizeof (atom_context -> vbios_ver_str ));
951+ memcpy (vbios_info .date , atom_context -> date ,
952+ sizeof (atom_context -> date ));
953+ }
949954
950955 return copy_to_user (out , & vbios_info ,
951956 min ((size_t )size , sizeof (vbios_info ))) ? - EFAULT : 0 ;
0 commit comments