[smatch] sched_fair: check after dereference

From: Dan Carpenter
Date: Mon Dec 20 2010 - 01:11:29 EST


Hi Paul,

In linux-next e33078baa4 "sched: Fix update_cfs_load() synchronization"
introduced a dereference before the check for NULL. I don't know the
code well enough to say if it's a bug or if the check can be removed.

kernel/sched_fair.c +728 update_cfs_load(6)
warn: variable dereferenced before check 'cfs_rq'

722 static void update_cfs_load(struct cfs_rq *cfs_rq, int global_update)
723 {
724 u64 period = sysctl_sched_shares_window;
725 u64 now, delta;
726 unsigned long load = cfs_rq->load.weight;
^^^^^^^^^^^^^^^^^^^
727
728 if (!cfs_rq)
^^^^^^
729 return;

Can you take a look?

regards,
dan carpenter

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/