Revision 9a9657568bfd89a258db643352e38b5decfd059a authored by Eric Anholt on 20 October 2016, 23:48:12 UTC, committed by popcornmix on 08 January 2017, 11:42:05 UTC
The loop is scanning until the original max_ip (size of the BO), but we want to not examine any code after the PROG_END's delay slots. There was a block trying to do that, except that we had some early continue statements if the signal wasn't a PROG_END or a BRANCH. The failure mode would be that a valid shader is rejected because some undefined memory after the PROG_END slots is parsed as a branch and the rest of its setup is illegal. I haven't seen this in the wild, but valgrind was complaining when about this up in the userland simulator mode. Signed-off-by: Eric Anholt <eric@anholt.net> (cherry picked from commit 457e67a728696c4f8e6423c64e93def50530db9a)
1 parent 2229784
cma.h
#ifndef __MM_CMA_H__
#define __MM_CMA_H__
struct cma {
unsigned long base_pfn;
unsigned long count;
unsigned long *bitmap;
unsigned int order_per_bit; /* Order of pages represented by one bit */
struct mutex lock;
#ifdef CONFIG_CMA_DEBUGFS
struct hlist_head mem_head;
spinlock_t mem_head_lock;
#endif
};
extern struct cma cma_areas[MAX_CMA_AREAS];
extern unsigned cma_area_count;
static inline unsigned long cma_bitmap_maxno(struct cma *cma)
{
return cma->count >> cma->order_per_bit;
}
#endif
Computing file changes ...