svn commit: r248113 - head/sys/kern

Bruce Evans brde at optusnet.com.au
Sun Mar 10 03:54:30 UTC 2013


On Sat, 9 Mar 2013, Davide Italiano wrote:

> Log:
>  Fixup r248032:
>  Change size requested to malloc(9) now that callwheel buckets are
>  callout_list and not callout_tailq anymore. This change was already
>  there but it seems it got lost after code churn in r248032.
>
>  Reported by:	alc, kib

This still has the bad style that helped cause the bug.

> Modified: head/sys/kern/kern_timeout.c
> ==============================================================================
> --- head/sys/kern/kern_timeout.c	Sat Mar  9 20:01:35 2013	(r248112)
> +++ head/sys/kern/kern_timeout.c	Sat Mar  9 20:03:10 2013	(r248113)
> @@ -294,7 +294,7 @@ callout_cpu_init(struct callout_cpu *cc)
>
> 	mtx_init(&cc->cc_lock, "callout", NULL, MTX_SPIN | MTX_RECURSE);
> 	SLIST_INIT(&cc->cc_callfree);
> -	cc->cc_callwheel = malloc(sizeof(struct callout_tailq) * callwheelsize,
> +	cc->cc_callwheel = malloc(sizeof(struct callout_list) * callwheelsize,
> 	    M_CALLOUT, M_WAITOK);
> 	for (i = 0; i < callwheelsize; i++)
> 		LIST_INIT(&cc->cc_callwheel[i]);
>

sizeof(*cc->cc_callwheel) is less verbose and works irrespective of the type
of *cc->cc_callwheel.

In kern, not quite half the malloc()'s have this style bug.  Also, at
least in kern:
- most style bugs in the form of using the MALLOC() obfuscation have been
   fixed
- most style bugs in the form of casting the result of malloc() to support
   C++ have been fixed.  The remaining ones are usually accompanied by the
   style bug of putting a space after the cast.

Bruce


More information about the svn-src-all mailing list