Messages in this thread | | | Date | Wed, 24 Mar 2010 13:21:18 -0700 | From | Randy Dunlap <> | Subject | Re: 2.6.33 GP fault only when built with tracing |
| |
On 03/23/10 18:20, Mathieu Desnoyers wrote: > > While we wait for the sun to move to other time zones, can you check if the > following patch fixes your problem ? >
Hi Mathieu, Yes, this works. Thanks.
I'll test Li's patch now...
> > module: fix __module_ref_addr() > > __module_ref_addr() should use per_cpu_ptr() to obfuscate the pointer > (RELOC_HIDE is needed for per cpu pointers). > > This non-standard per-cpu pointer use has been introduced by commit > 720eba31f47aeade8ec130ca7f4353223c49170f > > Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> > CC: Eric Dumazet <dada1@cosmosbay.com> > CC: Rusty Russell <rusty@rustcorp.com.au> > --- > include/linux/module.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > Index: linux-2.6-lttng/include/linux/module.h > =================================================================== > --- linux-2.6-lttng.orig/include/linux/module.h 2010-03-23 18:11:14.000000000 -0400 > +++ linux-2.6-lttng/include/linux/module.h 2010-03-23 18:14:07.000000000 -0400 > @@ -467,7 +467,7 @@ void symbol_put_addr(void *addr); > static inline local_t *__module_ref_addr(struct module *mod, int cpu) > { > #ifdef CONFIG_SMP > - return (local_t *) (mod->refptr + per_cpu_offset(cpu)); > + return (local_t *) per_cpu_ptr(mod->refptr, cpu); > #else > return &mod->ref; > #endif
-- ~Randy
| |