Comment 21 for bug 151327

Hi all, I found a problem with xenified kernel source in arch/i386/mm/hypervisor.c and arch/x86_64/kernel/smp-xen.c : xen_l1_entry_update and flush_tlb_page are not exported to kernel symbol table. I exported the symbols and the module loads (well causing some trouble on my machine ...).
Sorry i'm not very familiar with debian bulid system to give the right things but here is the diff I applied to debian/build/custom-source-xen in linux kernel source :

diff -urN custom-source-xen/arch/i386/mm/hypervisor.c custom-source-xen.modified/arch/i386/mm/hypervisor.c
--- custom-source-xen/arch/i386/mm/hypervisor.c 2008-02-08 17:27:50.000000000 +0000
+++ custom-source-xen.modified/arch/i386/mm/hypervisor.c 2008-02-08 13:18:35.000000000 +0000
@@ -51,6 +51,7 @@
        u.val = __pte_val(val);
        BUG_ON(HYPERVISOR_mmu_update(&u, 1, NULL, DOMID_SELF) < 0);
 }
+EXPORT_SYMBOL(xen_l1_entry_update);

 void xen_l2_entry_update(pmd_t *ptr, pmd_t val)
 {
 diff -urN custom-source-xen/arch/x86_64/kernel/smp-xen.c custom-source-xen.modified/arch/x86_64/kernel/smp-xen.c
--- custom-source-xen/arch/x86_64/kernel/smp-xen.c 2008-02-08 17:27:50.000000000 +0000
+++ custom-source-xen.modified/arch/x86_64/kernel/smp-xen.c 2008-02-08 16:43:43.000000000 +0000
@@ -293,10 +293,16 @@
 { return; }
 void flush_tlb_current_task(void)
 { xen_tlb_flush_mask(&current->mm->cpu_vm_mask); }
+EXPORT_SYMBOL(flush_tlb_current_task);
+
 void flush_tlb_mm (struct mm_struct * mm)
 { xen_tlb_flush_mask(&mm->cpu_vm_mask); }
+EXPORT_SYMBOL(flush_tlb_mm);
+
 void flush_tlb_page(struct vm_area_struct * vma, unsigned long va)
 { xen_invlpg_mask(&vma->vm_mm->cpu_vm_mask, va); }
+EXPORT_SYMBOL(flush_tlb_page);
+
 void flush_tlb_all(void)
 { xen_tlb_flush_all(); }
 #endif /* Xen */

Regards