On Wed, Oct 6, 2010 at 8:59 AM, Robert Richter <robert.richter@xxxxxxx> wrote: > On 06.10.10 10:53:11, Paul Mundt wrote: >> On Wed, Oct 06, 2010 at 04:49:21PM +0200, Robert Richter wrote: >> > On 06.10.10 15:33:09, Robert Richter wrote: >> > > On 04.10.10 16:44:22, Matt Fleming wrote: >> > > > -void __exit oprofile_arch_exit(void) >> > > > +int __init oprofile_arch_init(struct oprofile_operations *ops) >> > > > +{ >> > > >> > > We should do here a: >> > > >> > > memset(ops, 0, sizeof(*ops)); >> > >> > Matt, >> > >> > an alternative would be to move this to oprofile_perf_init() and >> > modify ops->backtrace afterwards, but then we will lose the function's >> > tail call. Not sure that is better. Paul, what do you think? >> > >> I'm a bit confused as to why we just don't do: >> >> --- >> >> diff --git a/drivers/oprofile/oprof.c b/drivers/oprofile/oprof.c >> index b336cd9..76d97a5 100644 >> --- a/drivers/oprofile/oprof.c >> +++ b/drivers/oprofile/oprof.c >> @@ -252,6 +252,8 @@ static int __init oprofile_init(void) >> { >> int err; >> >> + memset(&oprofile_ops, 0, sizeof(struct oprofile_operations)); >> + > > Yes, this looks much better. Thanks Paul. oprofile_ops is allocated in bss and so is already zeroed. No need to do it explicitly. g. -- To unsubscribe from this list: send the line "unsubscribe linux-arch" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html