[PATCH 1/4] drm/ttm: add multihop infrastrucutre (v2)

Ville Syrjälä ville.syrjala at linux.intel.com
Mon Nov 9 16:18:25 UTC 2020


On Mon, Nov 09, 2020 at 04:57:29PM +0100, Christian König wrote:
> Am 09.11.20 um 16:16 schrieb Ville Syrjälä:
> > On Wed, Nov 11, 2020 at 06:13:02PM +0100, Christian König wrote:
> >> Am 09.11.20 um 01:54 schrieb Dave Airlie:
> >>> @@ -1432,15 +1479,18 @@ int ttm_bo_swapout(struct ttm_operation_ctx *ctx)
> >>>    	if (bo->mem.mem_type != TTM_PL_SYSTEM) {
> >>>    		struct ttm_operation_ctx ctx = { false, false };
> >>>    		struct ttm_resource evict_mem;
> >>> +		struct ttm_place hop = {};
> >> Please always use memset() if you want to zero initialize something in
> >> the kernel, we had enough trouble with that.
> > What trouble is that? I've not heard of anything, and we use
> > ={} quite extensively in drm land.
> 
> ={} initializes only named fields, not padding.

Has that actually happened?

> 
> The result is that for example when doing a hash or CRC of a structure 
> you can come up with different results depending on the architecture 
> and/or structure layout.
> 
> Another problem are information leaks from the kernel to userspace 
> because of this.
> 
> Because of this Mesa for example strongly discourages using ={} for 
> zeroing a structure.
> 
> Regards,
> Christian.

-- 
Ville Syrjälä
Intel


More information about the dri-devel mailing list