Merge tag 'v3.7' into stable/for-linus-3.8
authorKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Tue, 15 Jan 2013 20:58:25 +0000 (15:58 -0500)
committerKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Tue, 15 Jan 2013 20:58:25 +0000 (15:58 -0500)
Linux 3.7

* tag 'v3.7': (833 commits)
  Linux 3.7
  Input: matrix-keymap - provide proper module license
  Revert "revert "Revert "mm: remove __GFP_NO_KSWAPD""" and associated damage
  ipv4: ip_check_defrag must not modify skb before unsharing
  Revert "mm: avoid waking kswapd for THP allocations when compaction is deferred or contended"
  inet_diag: validate port comparison byte code to prevent unsafe reads
  inet_diag: avoid unsafe and nonsensical prefix matches in inet_diag_bc_run()
  inet_diag: validate byte code to prevent oops in inet_diag_bc_run()
  inet_diag: fix oops for IPv4 AF_INET6 TCP SYN-RECV state
  mm: vmscan: fix inappropriate zone congestion clearing
  vfs: fix O_DIRECT read past end of block device
  net: gro: fix possible panic in skb_gro_receive()
  tcp: bug fix Fast Open client retransmission
  tmpfs: fix shared mempolicy leak
  mm: vmscan: do not keep kswapd looping forever due to individual uncompactable zones
  mm: compaction: validate pfn range passed to isolate_freepages_block
  mmc: sh-mmcif: avoid oops on spurious interrupts (second try)
  Revert misapplied "mmc: sh-mmcif: avoid oops on spurious interrupts"
  mmc: sdhci-s3c: fix missing clock for gpio card-detect
  lib/Makefile: Fix oid_registry build dependency
  ...

Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Conflicts:
arch/arm/xen/enlighten.c
drivers/xen/Makefile

[We need to have the v3.7 base as the 'for-3.8' was based off v3.7-rc3
and there are some patches in v3.7-rc6 that we to have in our branch]

1  2 
arch/arm/xen/enlighten.c
arch/x86/xen/mmu.c
drivers/xen/Makefile
drivers/xen/privcmd.c

index f28fc1ac87600d4cb25d323b2a6e7aabf19e8849,f57609275449e704892101a514ecc40ee3021a3c..41a6a27128a240da753521ee17b84a80b774c21a
@@@ -247,3 -148,32 +247,15 @@@ static int __init xen_init_events(void
        return 0;
  }
  postcore_initcall(xen_init_events);
 -/* XXX: only until balloon is properly working */
 -int alloc_xenballooned_pages(int nr_pages, struct page **pages, bool highmem)
 -{
 -      *pages = alloc_pages(highmem ? GFP_HIGHUSER : GFP_KERNEL,
 -                      get_order(nr_pages));
 -      if (*pages == NULL)
 -              return -ENOMEM;
 -      return 0;
 -}
 -EXPORT_SYMBOL_GPL(alloc_xenballooned_pages);
 -
 -void free_xenballooned_pages(int nr_pages, struct page **pages)
 -{
 -      kfree(*pages);
 -      *pages = NULL;
 -}
 -EXPORT_SYMBOL_GPL(free_xenballooned_pages);
 -EXPORT_SYMBOL_GPL(privcmd_call);
+ /* In the hypervisor.S file. */
+ EXPORT_SYMBOL_GPL(HYPERVISOR_event_channel_op);
+ EXPORT_SYMBOL_GPL(HYPERVISOR_grant_table_op);
+ EXPORT_SYMBOL_GPL(HYPERVISOR_xen_version);
+ EXPORT_SYMBOL_GPL(HYPERVISOR_console_io);
+ EXPORT_SYMBOL_GPL(HYPERVISOR_sched_op);
+ EXPORT_SYMBOL_GPL(HYPERVISOR_hvm_op);
+ EXPORT_SYMBOL_GPL(HYPERVISOR_memory_op);
+ EXPORT_SYMBOL_GPL(HYPERVISOR_physdev_op);
++EXPORT_SYMBOL_GPL(privcmd_call);
Simple merge
index 3ee2b91ca4e0e193c7990655d5497f427131ba92,74354708c6c4e7dd9040ead14affbfa88924ca74..fb213cf81a7bc79a94bea376ab7e540cfddaec95
@@@ -1,8 -1,9 +1,9 @@@
  ifneq ($(CONFIG_ARM),y)
 -obj-y += manage.o balloon.o
 +obj-y += manage.o
  obj-$(CONFIG_HOTPLUG_CPU)             += cpu_hotplug.o
  endif
 -obj-y += grant-table.o features.o events.o
+ obj-$(CONFIG_X86)                     += fallback.o
 +obj-y += grant-table.o features.o events.o balloon.o
  obj-y += xenbus/
  
  nostackp := $(call cc-option, -fno-stack-protector)
index f6316127f53fab83faedf9f0b273f92a48168c43,71f5c459b088aa5e21066b77adbcb5f34f7b9843..421375a9196a2ff0ece00eaed06caff5e51cdeb1
@@@ -406,15 -367,9 +405,16 @@@ static long privcmd_ioctl_mmap_batch(vo
            ((m.addr + (nr_pages << PAGE_SHIFT)) != vma->vm_end) ||
            !privcmd_enforce_singleshot_mapping(vma)) {
                up_write(&mm->mmap_sem);
+               ret = -EINVAL;
                goto out;
        }
 +      if (xen_feature(XENFEAT_auto_translated_physmap)) {
 +              ret = alloc_empty_pages(vma, m.num);
 +              if (ret < 0) {
 +                      up_write(&mm->mmap_sem);
 +                      goto out;
 +              }
 +      }
  
        state.domain        = m.dom;
        state.vma           = vma;