On Thu, Nov 01, 2012 at 07:42:43PM -0200, Marcelo Tosatti wrote: > On Thu, Nov 01, 2012 at 06:41:46PM +0400, Glauber Costa wrote: > > On 11/01/2012 02:47 AM, Marcelo Tosatti wrote: > > > +#ifdef CONFIG_PARAVIRT_CLOCK > > > + > > > +static notrace const struct pvclock_vsyscall_time_info *get_pvti(int cpu) > > > +{ > > > + const aligned_pvti_t *pvti_base; > > > + int idx = cpu / (PAGE_SIZE/PVTI_SIZE); > > > + int offset = cpu % (PAGE_SIZE/PVTI_SIZE); > > > + > > > + BUG_ON(PVCLOCK_FIXMAP_BEGIN + idx > PVCLOCK_FIXMAP_END); > > > + > > > + pvti_base = (aligned_pvti_t *)__fix_to_virt(PVCLOCK_FIXMAP_BEGIN+idx); > > > + > > > + return &pvti_base[offset].info; > > > +} > > > + > > Does BUG_ON() really do what you believe it does while in userspace > > context? We're not running with the kernel descriptors, so this will > > probably just kill the process without any explanation > > A coredump is generated which can be used to trace back to ud2a instruction > at the vdso code. All comments have been addressed. Let me know if there is anything else on v3 that you'd like to see done differently. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html