[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [Patch v2] common/initcall: Extern linker symbols with correct types.
On 22/10/2013 17:34, "Andrew Cooper" <andrew.cooper3@xxxxxxxxxx> wrote: > On 18/10/13 15:06, Andrew Cooper wrote: >> Coverity IDs 1054956, 1054957 >> >> Coverity pointed out that we applying array operations based on an expression >> which yielded singleton pointers. The problem is actually that the externs >> were typed incorrectly. >> >> Correct the extern declaration to prevent straying into undefined behaviour, >> and relying on the lenience of GCC to work. >> >> Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> >> CC: Keir Fraser <keir@xxxxxxx> >> CC: Jan Beulich <JBeulich@xxxxxxxx> > > Ping? Acked-by: Keir Fraser <keir@xxxxxxx> >> >> --- >> >> Changes in v2: apply const correctness as well. >> --- >> xen/common/kernel.c | 11 ++++++----- >> 1 file changed, 6 insertions(+), 5 deletions(-) >> >> diff --git a/xen/common/kernel.c b/xen/common/kernel.c >> index b8707d9..4ca50c4 100644 >> --- a/xen/common/kernel.c >> +++ b/xen/common/kernel.c >> @@ -196,19 +196,20 @@ void add_taint(unsigned flag) >> tainted |= flag; >> } >> >> -extern initcall_t __initcall_start, __presmp_initcall_end, __initcall_end; >> +extern const initcall_t __initcall_start[], __presmp_initcall_end[], >> + __initcall_end[]; >> >> void __init do_presmp_initcalls(void) >> { >> - initcall_t *call; >> - for ( call = &__initcall_start; call < &__presmp_initcall_end; call++ ) >> + const initcall_t *call; >> + for ( call = __initcall_start; call < __presmp_initcall_end; call++ ) >> (*call)(); >> } >> >> void __init do_initcalls(void) >> { >> - initcall_t *call; >> - for ( call = &__presmp_initcall_end; call < &__initcall_end; call++ ) >> + const initcall_t *call; >> + for ( call = __presmp_initcall_end; call < __initcall_end; call++ ) >> (*call)(); >> } >> > _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |