Re: [smatch] sched_fair: check after dereference
From: Paul Turner
Date: Fri Dec 24 2010 - 04:18:41 EST
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@xxxxxxxxx> 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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/