Merge git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86
authorLinus Torvalds <torvalds@woody.linux-foundation.org>
Fri, 15 Feb 2008 05:23:19 +0000 (21:23 -0800)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Fri, 15 Feb 2008 05:23:19 +0000 (21:23 -0800)
* git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86:
  x86: cpa, fix out of date comment
  KVM is not seen under X86 config with latest git (32 bit compile)
  x86: cpa: ensure page alignment
  x86: include proper prototypes for rodata_test
  x86: fix gart_iommu_init()
  x86: EFI set_memory_x()/set_memory_uc() fixes
  x86: make dump_pagetable() static
  x86: fix "BUG: sleeping function called from invalid context" in print_vma_addr()

1  2 
mm/memory.c

diff --combined mm/memory.c
index e7a6dcacefc1d86f24bee62dfdf6ca134b2a25a4,55b97ef6de11f6cbb11bcb3ecd9ca34b8b140246..ce3c9e4492d803b011f50ea8641e477056116ddd
@@@ -2711,6 -2711,13 +2711,13 @@@ void print_vma_addr(char *prefix, unsig
        struct mm_struct *mm = current->mm;
        struct vm_area_struct *vma;
  
+       /*
+        * Do not print if we are in atomic
+        * contexts (in exception stacks, etc.):
+        */
+       if (preempt_count())
+               return;
        down_read(&mm->mmap_sem);
        vma = find_vma(mm, ip);
        if (vma && vma->vm_file) {
                if (buf) {
                        char *p, *s;
  
 -                      p = d_path(f->f_dentry, f->f_vfsmnt, buf, PAGE_SIZE);
 +                      p = d_path(&f->f_path, buf, PAGE_SIZE);
                        if (IS_ERR(p))
                                p = "?";
                        s = strrchr(p, '/');