Messages in this thread | | | From | Paul Turner <> | Date | Fri, 24 Dec 2010 04:17:59 -0500 | Subject | Re: [smatch] sched_fair: check after dereference |
| |
Sorry for delayed response -- was travelling, currently home for holidays on terrible (satellite) internet.
On Mon, Dec 20, 2010 at 1:10 AM, Dan Carpenter <error27@gmail.com> wrote: > 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. >
This should be stale. Now that we issue versus the queuing cfs_rq as opposed to the group cfs_rq the passed pointer should always be valid.
If you want to send a patch I'll ack it, otherwise I can send one out in the morning.
Thanks!
- Paul
> 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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |