]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
Merge branch 'akpm-current/current'
authorStephen Rothwell <sfr@canb.auug.org.au>
Thu, 9 Apr 2015 08:53:01 +0000 (18:53 +1000)
committerStephen Rothwell <sfr@canb.auug.org.au>
Thu, 9 Apr 2015 08:53:01 +0000 (18:53 +1000)
Conflicts:
Documentation/printk-formats.txt
arch/arm64/Kconfig
arch/parisc/include/asm/Kbuild
arch/s390/mm/mmap.c
drivers/rtc/class.c
drivers/rtc/rtc-mc13xxx.c
fs/ext2/file.c
fs/ext4/file.c
fs/fat/inode.c

72 files changed:
1  2 
CREDITS
Documentation/CodingStyle
Documentation/filesystems/Locking
Documentation/kernel-parameters.txt
Documentation/printk-formats.txt
MAINTAINERS
arch/arm/Kconfig
arch/arm/include/asm/Kbuild
arch/arm/include/asm/elf.h
arch/arm64/Kconfig
arch/arm64/include/asm/kvm_mmu.h
arch/arm64/include/asm/page.h
arch/arm64/include/asm/pgtable-hwdef.h
arch/arm64/mm/mmu.c
arch/cris/arch-v32/kernel/setup.c
arch/ia64/Kconfig
arch/mips/Kconfig
arch/mips/include/asm/elf.h
arch/parisc/include/asm/Kbuild
arch/powerpc/Kconfig
arch/s390/Kconfig
arch/s390/include/asm/elf.h
arch/s390/mm/mmap.c
arch/tile/Kconfig
arch/x86/Kconfig
arch/x86/include/asm/elf.h
arch/x86/include/asm/paravirt.h
arch/x86/kernel/signal.c
arch/x86/mm/pgtable.c
arch/x86/xen/mmu.c
drivers/base/memory.c
drivers/gpu/drm/i915/intel_drv.h
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
drivers/parisc/ccio-dma.c
drivers/parisc/sba_iommu.c
drivers/rtc/class.c
drivers/rtc/interface.c
drivers/rtc/rtc-mc13xxx.c
drivers/rtc/rtc-s5m.c
fs/affs/file.c
fs/cifs/connect.c
fs/cifs/file.c
fs/dax.c
fs/ext2/file.c
fs/ext2/inode.c
fs/ext4/ext4.h
fs/ext4/file.c
fs/ext4/fsync.c
fs/ext4/inode.c
fs/ext4/namei.c
fs/fat/file.c
fs/fat/inode.c
fs/hfsplus/inode.c
fs/hugetlbfs/inode.c
fs/locks.c
fs/nfsd/Kconfig
fs/nilfs2/inode.c
fs/ocfs2/aops.c
fs/splice.c
include/linux/fs.h
include/linux/io.h
include/linux/rtc.h
init/Kconfig
init/main.c
kernel/cgroup.c
kernel/cpuset.c
kernel/sysctl.c
kernel/watchdog.c
lib/Kconfig.debug
mm/filemap.c
mm/shmem.c
sound/soc/codecs/pcm512x.c

diff --cc CREDITS
Simple merge
index e55accfca276182170fddc67d929e7f5500a18cd,4d4f06d47e0620325016bbda0af537995a8bfead..f4b78eafd92a2e76e439f168fff97e1d41374b59
@@@ -659,9 -656,22 +659,22 @@@ bite you if somebody e.g. turns FOO int
  must enclose the expression in parentheses. Beware of similar issues with
  macros using parameters.
  
 -#define CONSTANT 0x4000
 -#define CONSTEXP (CONSTANT | 3)
 +      #define CONSTANT 0x4000
 +      #define CONSTEXP (CONSTANT | 3)
  
+ 5) namespace collisions when defining local variables in macros resembling
+ functions:
+ #define FOO(x)                                \
+ ({                                    \
+       typeof(x) ret;                  \
+       ret = calc_ret(x);              \
+       (ret);                          \
+ )}
+ ret is a common name for a local variable - __foo_ret is less likely
+ to collide with an existing variable.
  The cpp manual deals with macros exhaustively. The gcc internals manual also
  covers RTL which is used frequently with assembly language in the kernel.
  
Simple merge
Simple merge
index 87f10424bb284c9aab65614e1974eb5a48a1570a,c287a9cec42cd20bda4b9cdcedb9bfd8913d983a..8d4969048aebeca18a1272f2b62389d8b0bce790
@@@ -204,9 -228,11 +228,11 @@@ UUID/GUID addresses
        lower ('l') or upper case ('L') hex characters - and big endian order
        in lower ('b') or upper case ('B') hex characters.
  
 -      Where no additional specifiers are used the default little endian
 +      Where no additional specifiers are used the default big endian
        order with lower case hex characters will be printed.
  
+       Passed by reference.
  dentry names:
        %pd{,2,3,4}
        %pD{,2,3,4}
@@@ -231,32 -267,20 +267,31 @@@ struct va_format
        Do not use this feature without some mechanism to verify the
        correctness of the format string and va_list arguments.
  
- u64 SHOULD be printed with %llu/%llx:
+       Passed by reference.
  
-       printk("%llu", u64_var);
+ struct clk:
  
- s64 SHOULD be printed with %lld/%llx:
+       %pC     pll1
+       %pCn    pll1
+       %pCr    1560000000
  
-       printk("%lld", s64_var);
+       For printing struct clk structures. '%pC' and '%pCn' print the name
+       (Common Clock Framework) or address (legacy clock framework) of the
+       structure; '%pCr' prints the current clock rate.
+       Passed by reference.
  
- If <type> is dependent on a config option for its size (e.g., sector_t,
- blkcnt_t) or is architecture-dependent for its size (e.g., tcflag_t), use a
- format specifier of its largest possible type and explicitly cast to it.
- Example:
 +bitmap and its derivatives such as cpumask and nodemask:
 +
 +      %*pb    0779
 +      %*pbl   0,3-6,8-10
 +
 +      For printing bitmap and its derivatives such as cpumask and nodemask,
 +      %*pb output the bitmap with field width as the number of bits and %*pbl
 +      output the bitmap as range list with field width as the number of bits.
 +
-       printk("test: sector number/total blocks: %llu/%llu\n",
-               (unsigned long long)sector, (unsigned long long)blockcount);
- Reminder: sizeof() result is of type size_t.
++      Passed by reference.
 +
  
  Thank you for your cooperation and attention.
  
diff --cc MAINTAINERS
Simple merge
Simple merge
Simple merge
index e2f4781630f6137565f509f9c31c4ea73262b5a3,c1ff8ab12914ce6f934b3a65149e594d50fe76a6..d2315ffd8f12658b5e45bfa5831538fc4e4ad1e4
@@@ -127,18 -125,7 +127,14 @@@ int dump_task_regs(struct task_struct *
  extern void elf_set_personality(const struct elf32_hdr *);
  #define SET_PERSONALITY(ex)   elf_set_personality(&(ex))
  
- struct mm_struct;
- extern unsigned long arch_randomize_brk(struct mm_struct *mm);
- #define arch_randomize_brk arch_randomize_brk
  #ifdef CONFIG_MMU
 +#ifdef CONFIG_VDSO
 +#define ARCH_DLINFO                                           \
 +do {                                                          \
 +      NEW_AUX_ENT(AT_SYSINFO_EHDR,                            \
 +                  (elf_addr_t)current->mm->context.vdso);     \
 +} while (0)
 +#endif
  #define ARCH_HAS_SETUP_ADDITIONAL_PAGES 1
  struct linux_binprm;
  int arch_setup_additional_pages(struct linux_binprm *, int);
index 13fc72c056bdac7fc0af29fa7db8284dc3d91649,34f487d5d84e4dbdc5253b2fd7b9f1a248d31646..4269dba63cf165d3590c16700896dc44726a898f
@@@ -1,9 -1,7 +1,9 @@@
  config ARM64
        def_bool y
-       select ARCH_BINFMT_ELF_RANDOMIZE_PIE
 +      select ACPI_GENERIC_GSI if ACPI
 +      select ACPI_REDUCED_HARDWARE_ONLY if ACPI
        select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
+       select ARCH_HAS_ELF_RANDOMIZE
        select ARCH_HAS_GCOV_PROFILE_ALL
        select ARCH_HAS_SG_CHAIN
        select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
Simple merge
index 3d02b1869eb8dc01f4d432f65262973a35abf05d,8fc8fa280e92a4ed468807211f05b5662c7ce292..7d9c7e4a424bddd87dfdbd34e2be0d05b2078f58
   * image. Both require pgd, pud (4 levels only) and pmd tables to (section)
   * map the kernel. With the 64K page configuration, swapper and idmap need to
   * map to pte level. The swapper also maps the FDT (see __create_page_tables
 - * for more information).
 + * for more information). Note that the number of ID map translation levels
 + * could be increased on the fly if system RAM is out of reach for the default
 + * VA range, so 3 pages are reserved in all cases.
   */
  #ifdef CONFIG_ARM64_64K_PAGES
- #define SWAPPER_PGTABLE_LEVELS        (CONFIG_ARM64_PGTABLE_LEVELS)
+ #define SWAPPER_PGTABLE_LEVELS        (CONFIG_PGTABLE_LEVELS)
  #else
- #define SWAPPER_PGTABLE_LEVELS        (CONFIG_ARM64_PGTABLE_LEVELS - 1)
+ #define SWAPPER_PGTABLE_LEVELS        (CONFIG_PGTABLE_LEVELS - 1)
  #endif
  
  #define SWAPPER_DIR_SIZE      (SWAPPER_PGTABLE_LEVELS * PAGE_SIZE)
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
index a5f037535aab7185161c363cf33d1e8174d24327,12b341d04f88d09be325e318967f537153602d86..7a4bcc36303d08ac5831c1d344ce1039d41f3fc7
@@@ -20,7 -20,7 +20,8 @@@ generic-y += param.
  generic-y += percpu.h
  generic-y += poll.h
  generic-y += preempt.h
 +generic-y += scatterlist.h
+ generic-y += seccomp.h
  generic-y += segment.h
  generic-y += topology.h
  generic-y += trace_clock.h
Simple merge
Simple merge
Simple merge
index b68af0564a423cf757d9b3c5f2522520c7c306b1,bb3367c5cb0b41472fb93fc9c8b1d06891feea40..6e552af08c76a61027c023f7305133ee1b4efe02
@@@ -179,17 -177,34 +177,6 @@@ arch_get_unmapped_area_topdown(struct f
        return addr;
  }
  
- unsigned long randomize_et_dyn(void)
 -#ifndef CONFIG_64BIT
 -
 -/*
 - * This function, called very early during the creation of a new
 - * process VM image, sets up which VM layout function to use:
 - */
 -void arch_pick_mmap_layout(struct mm_struct *mm)
--{
-       unsigned long base;
 -      unsigned long random_factor = 0UL;
--
-       base = STACK_TOP / 3 * 2;
-       if (!is_32bit_task())
-               /* Align to 4GB */
-               base &= ~((1UL << 32) - 1);
-       return base + mmap_rnd();
 -      if (current->flags & PF_RANDOMIZE)
 -              random_factor = arch_mmap_rnd();
 -
 -      /*
 -       * Fall back to the standard layout if the personality
 -       * bit is set, or if the expected stack growth is unlimited:
 -       */
 -      if (mmap_is_legacy()) {
 -              mm->mmap_base = mmap_base_legacy(random_factor);
 -              mm->get_unmapped_area = arch_get_unmapped_area;
 -      } else {
 -              mm->mmap_base = mmap_base(random_factor);
 -              mm->get_unmapped_area = arch_get_unmapped_area_topdown;
 -      }
--}
 -
 -#else
--
  int s390_mmap_check(unsigned long addr, unsigned long len, unsigned long flags)
  {
        if (is_compat_task() || (TASK_SIZE >= (1UL << 53)))
Simple merge
Simple merge
Simple merge
Simple merge
index 3e581865c8e2a048bbc307a9d3fc4e04ad14b4d7,0726c39a613d35cc9f6395948d416e5cfabc477a..d185bdd95a4bf285219117e3f95a005afc710600
@@@ -680,9 -679,9 +680,9 @@@ handle_signal(struct ksignal *ksig, str
                 * Ensure the signal handler starts with the new fpu state.
                 */
                if (used_math())
 -                      drop_init_fpu(current);
 +                      fpu_reset_state(current);
        }
-       signal_setup_done(failed, ksig, test_thread_flag(TIF_SINGLESTEP));
+       signal_setup_done(failed, ksig, stepping);
  }
  
  #ifdef CONFIG_X86_32
Simple merge
Simple merge
Simple merge
index 6036e3b73b7b9dd7a20cef915643dcb707e055be,ba243db3584008ae9d7c4b39e0bbaa1bbab96583..26ab9237dda80fdfa76f8f5c9265962b6c2245fe
  #include <drm/drm_fb_helper.h>
  #include <drm/drm_dp_mst_helper.h>
  #include <drm/drm_rect.h>
 +#include <drm/drm_atomic.h>
  
- #define DIV_ROUND_CLOSEST_ULL(ll, d)  \
- ({ unsigned long long _tmp = (ll)+(d)/2; do_div(_tmp, d); _tmp; })
  /**
   * _wait_for - magic (register) wait macro
   *
Simple merge
Simple merge
index c29ba7e1430482c1ffe6c6ec92e1bd5cc7b06743,d46549ce8fd96c9585ca560fbbf00a6834349998..0d17a8c31c5b0fa6ae13c1f311f3a099c4e714c0
@@@ -55,7 -55,9 +55,9 @@@ static int rtc_suspend(struct device *d
        struct timespec64       delta, delta_delta;
        int err;
  
 -      if (has_persistent_clock())
+       rtc->valid_alarm = !rtc_read_alarm(rtc, &rtc->alarm);
 +      if (timekeeping_rtc_skipsuspend())
                return 0;
  
        if (strcmp(dev_name(&rtc->dev), CONFIG_RTC_HCTOSYS_DEVICE) != 0)
@@@ -102,7 -104,28 +104,28 @@@ static int rtc_resume(struct device *de
        struct timespec64       sleep_time;
        int err;
  
 -      if (has_persistent_clock())
+       /*
+        * Ensure that the platform hasn't overwritten a pending alarm while
+        * suspended
+        */
+       if (rtc->valid_alarm) {
+               long now, scheduled;
+               rtc_read_time(rtc, &tm);
+               rtc_tm_to_time(&rtc->alarm.time, &scheduled);
+               rtc_tm_to_time(&tm, &now);
+               /* Clear the alarm registers if it went off during suspend */
+               if (scheduled <= now) {
+                       rtc_time_to_tm(0, &rtc->alarm.time);
+                       rtc->alarm.enabled = 0;
+               }
+               if (rtc->ops && rtc->ops->set_alarm)
+                       rtc->ops->set_alarm(rtc->dev.parent, &rtc->alarm);
+       }
 +      if (timekeeping_rtc_skipresume())
                return 0;
  
        rtc_hctosys_ret = -ENODEV;
Simple merge
index 32df1d812367c58acf3ebcd8445597fc8bdac014,c8e78a560de759b6a6d8054c381d1179f82a6569..a65868065743efc9ad37068ca594922e9c31171f
@@@ -214,10 -215,12 +214,10 @@@ static int mc13xxx_rtc_set_alarm(struc
        if (unlikely(ret))
                goto out;
  
 -      ret = rtc_tm_to_time(&alarm->time, &s1970);
 -      if (unlikely(ret))
 -              goto out;
 +      s1970 = rtc_tm_to_time64(&alarm->time);
  
-       dev_dbg(dev, "%s: o%2.s %lld\n", __func__, alarm->enabled ? "n" : "ff",
 -      dev_dbg(dev, "%s: %s %lu\n", __func__, alarm->enabled ? "on" : "off",
 -                      s1970);
++      dev_dbg(dev, "%s: %s %lld\n", __func__, alarm->enabled ? "on" : "off",
 +                      (long long)s1970);
  
        ret = mc13xxx_rtc_irq_enable_unlocked(dev, alarm->enabled,
                        MC13XXX_IRQ_TODA);
Simple merge
diff --cc fs/affs/file.c
Simple merge
Simple merge
diff --cc fs/cifs/file.c
Simple merge
diff --cc fs/dax.c
Simple merge
diff --cc fs/ext2/file.c
Simple merge
diff --cc fs/ext2/inode.c
Simple merge
diff --cc fs/ext4/ext4.h
Simple merge
diff --cc fs/ext4/file.c
Simple merge
diff --cc fs/ext4/fsync.c
Simple merge
diff --cc fs/ext4/inode.c
Simple merge
diff --cc fs/ext4/namei.c
Simple merge
diff --cc fs/fat/file.c
Simple merge
diff --cc fs/fat/inode.c
index 41b729933638a128225422013417775fb0858c26,0cbb1a07a27a346cbe96bbb922bdb4713a98a00d..e69c84acad757ebd8cfa562f0dcfbf4376d6407d
   */
  
  #include <linux/module.h>
- #include <linux/init.h>
- #include <linux/time.h>
- #include <linux/slab.h>
- #include <linux/seq_file.h>
  #include <linux/pagemap.h>
  #include <linux/mpage.h>
- #include <linux/buffer_head.h>
- #include <linux/mount.h>
 -#include <linux/aio.h>
  #include <linux/vfs.h>
+ #include <linux/seq_file.h>
  #include <linux/parser.h>
  #include <linux/uio.h>
- #include <linux/writeback.h>
- #include <linux/log2.h>
- #include <linux/hash.h>
  #include <linux/blkdev.h>
  #include <asm/unaligned.h>
  #include "fat.h"
Simple merge
Simple merge
diff --cc fs/locks.c
Simple merge
diff --cc fs/nfsd/Kconfig
Simple merge
Simple merge
diff --cc fs/ocfs2/aops.c
index 28b5ad81bbec7b4686b3e6475570fe7393a3820a,87b50fe205e34896dd558b9fa41f2fb21276dbaf..376d4ce149127a7cc8543b40e2480e771ba726b7
@@@ -734,13 -852,12 +853,11 @@@ static ssize_t ocfs2_direct_IO_write(st
                }
  
                ocfs2_inode_unlock(inode, 1);
-               brelse(di_bh);
-               di_bh = NULL;
        }
  
 -      written = __blockdev_direct_IO(WRITE, iocb, inode, inode->i_sb->s_bdev,
 -                      iter, offset,
 -                      ocfs2_direct_IO_get_blocks,
 -                      ocfs2_dio_end_io, NULL, 0);
 +      written = __blockdev_direct_IO(iocb, inode, inode->i_sb->s_bdev, iter,
 +                                     offset, ocfs2_direct_IO_get_blocks,
 +                                     ocfs2_dio_end_io, NULL, 0);
        if (unlikely(written < 0)) {
                loff_t i_size = i_size_read(inode);
  
diff --cc fs/splice.c
Simple merge
Simple merge
Simple merge
Simple merge
diff --cc init/Kconfig
Simple merge
diff --cc init/main.c
Simple merge
diff --cc kernel/cgroup.c
Simple merge
diff --cc kernel/cpuset.c
Simple merge
diff --cc kernel/sysctl.c
Simple merge
Simple merge
Simple merge
diff --cc mm/filemap.c
Simple merge
diff --cc mm/shmem.c
Simple merge
Simple merge