tree: git://people.freedesktop.org/~agd5f/linux.git amd-staging-drm-next head: 53d5f1e4a6d91457678a24b03d0a66edafb800ea commit: 711c989d235ffd044fb04b971049e204b33fde3f [1/4] drm/scheduler: add a list of run queues to the entity New smatch warnings: drivers/gpu/drm/scheduler/gpu_scheduler.c:195 drm_sched_entity_init() error: potential null dereference 'entity->rq_list'. (kcalloc returns null) Old smatch warnings: include/asm-generic/atomic-instrumented.h:365 cmpxchg_size() error: uninitialized symbol '__ret'. vim +195 drivers/gpu/drm/scheduler/gpu_scheduler.c 160 161 /** 162 * drm_sched_entity_init - Init a context entity used by scheduler when 163 * submit to HW ring. 164 * 165 * @entity: scheduler entity to init 166 * @rq_list: the list of run queue on which jobs from this 167 * entity can be submitted 168 * @num_rq_list: number of run queue in rq_list 169 * @guilty: atomic_t set to 1 when a job on this queue 170 * is found to be guilty causing a timeout 171 * 172 * Note: the rq_list should have atleast one element to schedule 173 * the entity 174 * 175 * Returns 0 on success or a negative error code on failure. 176 */ 177 int drm_sched_entity_init(struct drm_sched_entity *entity, 178 struct drm_sched_rq **rq_list, 179 unsigned int num_rq_list, 180 atomic_t *guilty) 181 { 182 int i; 183 184 if (!(entity && rq_list && num_rq_list > 0 && rq_list[0])) 185 return -EINVAL; 186 187 memset(entity, 0, sizeof(struct drm_sched_entity)); 188 INIT_LIST_HEAD(&entity->list); 189 entity->rq = rq_list[0]; 190 entity->guilty = guilty; 191 entity->num_rq_list = num_rq_list; 192 entity->rq_list = kcalloc(num_rq_list, sizeof(struct drm_sched_rq *), 193 GFP_KERNEL); 194 for (i = 0; i < num_rq_list; ++i) > 195 entity->rq_list[i] = rq_list[i]; 196 entity->last_scheduled = NULL; 197 198 spin_lock_init(&entity->rq_lock); 199 spsc_queue_init(&entity->job_queue); 200 201 atomic_set(&entity->fence_seq, 0); 202 entity->fence_context = dma_fence_context_alloc(2); 203 204 return 0; 205 } 206 EXPORT_SYMBOL(drm_sched_entity_init); 207 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel