1. 09 Jun, 2014 3 commits
    • Linus Torvalds's avatar
      Merge branch 'for-3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata · 6ea4fa70
      Linus Torvalds authored
      Pull libata updates from Tejun Heo:
       "Nothing too interesting - another ahci platform driver variant,
        additional controller support, minor fixes and cleanups"
      
      * 'for-3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata:
        ahci: Add Device ID for HighPoint RocketRaid 642L
        ata: ep93xx: use dmaengine_prep_slave_sg api instead of internal callback
        ahci: add PCI ID for Marvell 88SE91A0 SATA Controller
        sata_fsl: remove check for CONFIG_MPC8315_DS
        ahci: add support for Hisilicon sata
        libahci_platform: add host_flags parameter in ahci_platform_init_host()
        ata: ahci: append new hflag AHCI_HFLAG_NO_FBS
        ata: use CONFIG_PM_SLEEP instead of CONFIG_PM where applicable in host drivers
        ata: ahci_mvebu: new driver for Marvell Armada 380 AHCI interfaces
        Documentation: dt-bindings: reformat and order list of ahci-platform compatibles
        libata-sff: remove dead code
        ata: SATL compliance for Inquiry Product Revision
        pata_octeon_cf: use devm_kzalloc() to allocate cf_port
      6ea4fa70
    • Linus Torvalds's avatar
      Merge branch 'for-3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq · da85d191
      Linus Torvalds authored
      Pull workqueue updates from Tejun Heo:
       "Lai simplified worker destruction path and internal workqueue locking
        and there are some other minor changes.
      
        Except for the removal of some long-deprecated interfaces which
        haven't had any in-kernel user for quite a while, there shouldn't be
        any difference to workqueue users"
      
      * 'for-3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:
        kernel/workqueue.c: pr_warning/pr_warn & printk/pr_info
        workqueue: remove the confusing POOL_FREEZING
        workqueue: rename first_worker() to first_idle_worker()
        workqueue: remove unused work_clear_pending()
        workqueue: remove unused WORK_CPU_END
        workqueue: declare system_highpri_wq
        workqueue: use generic attach/detach routine for rescuers
        workqueue: separate pool-attaching code out from create_worker()
        workqueue: rename manager_mutex to attach_mutex
        workqueue: narrow the protection range of manager_mutex
        workqueue: convert worker_idr to worker_ida
        workqueue: separate iteration role from worker_idr
        workqueue: destroy worker directly in the idle timeout handler
        workqueue: async worker destruction
        workqueue: destroy_worker() should destroy idle workers only
        workqueue: use manager lock only to protect worker_idr
        workqueue: Remove deprecated system_nrt[_freezable]_wq
        workqueue: Remove deprecated flush[_delayed]_work_sync()
        kernel/workqueue.c: pr_warning/pr_warn & printk/pr_info
        workqueue: simplify wq_update_unbound_numa() by jumping to use_dfl_pwq if the target cpumask equals wq's
      da85d191
    • Linus Torvalds's avatar
      Merge branch 'for-3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu · 68a29ef2
      Linus Torvalds authored
      Pull percpu updates from Tejun Heo:
       "Nothing too exciting.  percpu_ref is going through some interface
        changes and getting new features with more changes in the pipeline but
        given its young age and few users, it's very low impact"
      
      * 'for-3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu:
        percpu-refcount: implement percpu_ref_tryget()
        percpu-refcount: rename percpu_ref_tryget() to percpu_ref_tryget_live()
        percpu: Replace __get_cpu_var with this_cpu_ptr
      68a29ef2
  2. 08 Jun, 2014 13 commits
    • Linus Torvalds's avatar
      Merge tag 'for-linus-3.16-merge-window' of... · 963649d7
      Linus Torvalds authored
      Merge tag 'for-linus-3.16-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs
      
      Pull 9p fixes from Eric Van Hensbergen:
       "Two bug fixes, one in xattr error path and the other in parsing
        major/minor numbers from devices"
      
      * tag 'for-linus-3.16-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs:
        9P: fix return value in v9fs_fid_xattr_set
        fs/9p: adjust sscanf parameters accordingly to the variable types
      963649d7
    • Rik van Riel's avatar
      numa,sched: fix load_to_imbalanced logic inversion · 1662867a
      Rik van Riel authored
      This function is supposed to return true if the new load imbalance is
      worse than the old one.  It didn't.  I can only hope brown paper bags
      are in style.
      
      Now things converge much better on both the 4 node and 8 node systems.
      
      I am not sure why this did not seem to impact specjbb performance on the
      4 node system, which is the system I have full-time access to.
      
      This bug was introduced recently, with commit e63da036 ("sched/numa:
      Allow task switch if load imbalance improves")
      Signed-off-by: default avatarRik van Riel <riel@redhat.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      1662867a
    • Linus Torvalds's avatar
      Don't trigger congestion wait on dirty-but-not-writeout pages · b738d764
      Linus Torvalds authored
      shrink_inactive_list() used to wait 0.1s to avoid congestion when all
      the pages that were isolated from the inactive list were dirty but not
      under active writeback.  That makes no real sense, and apparently causes
      major interactivity issues under some loads since 3.11.
      
      The ostensible reason for it was to wait for kswapd to start writing
      pages, but that seems questionable as well, since the congestion wait
      code seems to trigger for kswapd itself as well.  Also, the logic behind
      delaying anything when we haven't actually started writeback is not
      clear - it only delays actually starting that writeback.
      
      We'll still trigger the congestion waiting if
      
       (a) the process is kswapd, and we hit pages flagged for immediate
           reclaim
      
       (b) the process is not kswapd, and the zone backing dev writeback is
           actually congested.
      
      This probably needs to be revisited, but as it is this fixes a reported
      regression.
      Reported-by: default avatarFelipe Contreras <felipe.contreras@gmail.com>
      Pinpointed-by: default avatarHillf Danton <dhillf@gmail.com>
      Cc: Michal Hocko <mhocko@suse.cz>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Mel Gorman <mgorman@suse.de>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      b738d764
    • Linus Torvalds's avatar
      Merge tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 · f8409abd
      Linus Torvalds authored
      Pull ext4 updates from Ted Ts'o:
       "Clean ups and miscellaneous bug fixes, in particular for the new
        collapse_range and zero_range fallocate functions.  In addition,
        improve the scalability of adding and remove inodes from the orphan
        list"
      
      * tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (25 commits)
        ext4: handle symlink properly with inline_data
        ext4: fix wrong assert in ext4_mb_normalize_request()
        ext4: fix zeroing of page during writeback
        ext4: remove unused local variable "stored" from ext4_readdir(...)
        ext4: fix ZERO_RANGE test failure in data journalling
        ext4: reduce contention on s_orphan_lock
        ext4: use sbi in ext4_orphan_{add|del}()
        ext4: use EXT_MAX_BLOCKS in ext4_es_can_be_merged()
        ext4: add missing BUFFER_TRACE before ext4_journal_get_write_access
        ext4: remove unnecessary double parentheses
        ext4: do not destroy ext4_groupinfo_caches if ext4_mb_init() fails
        ext4: make local functions static
        ext4: fix block bitmap validation when bigalloc, ^flex_bg
        ext4: fix block bitmap initialization under sparse_super2
        ext4: find the group descriptors on a 1k-block bigalloc,meta_bg filesystem
        ext4: avoid unneeded lookup when xattr name is invalid
        ext4: fix data integrity sync in ordered mode
        ext4: remove obsoleted check
        ext4: add a new spinlock i_raw_lock to protect the ext4's raw inode
        ext4: fix locking for O_APPEND writes
        ...
      f8409abd
    • Linus Torvalds's avatar
      Merge tag 'llvmlinux-for-v3.16' of git://git.linuxfoundation.org/llvmlinux/kernel · b20dcab9
      Linus Torvalds authored
      Pull LLVM patches from Behan Webster:
       "Next set of patches to support compiling the kernel with clang.
        They've been soaking in linux-next since the last merge window.
      
        More still in the works for the next merge window..."
      
      * tag 'llvmlinux-for-v3.16' of git://git.linuxfoundation.org/llvmlinux/kernel:
        arm, unwind, LLVMLinux: Enable clang to be used for unwinding the stack
        ARM: LLVMLinux: Change "extern inline" to "static inline" in glue-cache.h
        all: LLVMLinux: Change DWARF flag to support gcc and clang
        net: netfilter: LLVMLinux: vlais-netfilter
        crypto: LLVMLinux: aligned-attribute.patch
      b20dcab9
    • Linus Torvalds's avatar
      Merge branch 'x86-vdso-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · ed81e780
      Linus Torvalds authored
      Pull x86 vdso build fix from Peter Anvin:
       "This fixes building the vdso code on older Linux systems, and probably
        some non-Linux systems"
      
      * 'x86-vdso-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86, vdso: Use <tools/le_byteshift.h> for littleendian access
      ed81e780
    • Linus Torvalds's avatar
      Merge branch 'next' (accumulated 3.16 merge window patches) into master · 3f17ea6d
      Linus Torvalds authored
      Now that 3.15 is released, this merges the 'next' branch into 'master',
      bringing us to the normal situation where my 'master' branch is the
      merge window.
      
      * accumulated work in next: (6809 commits)
        ufs: sb mutex merge + mutex_destroy
        powerpc: update comments for generic idle conversion
        cris: update comments for generic idle conversion
        idle: remove cpu_idle() forward declarations
        nbd: zero from and len fields in NBD_CMD_DISCONNECT.
        mm: convert some level-less printks to pr_*
        MAINTAINERS: adi-buildroot-devel is moderated
        MAINTAINERS: add linux-api for review of API/ABI changes
        mm/kmemleak-test.c: use pr_fmt for logging
        fs/dlm/debug_fs.c: replace seq_printf by seq_puts
        fs/dlm/lockspace.c: convert simple_str to kstr
        fs/dlm/config.c: convert simple_str to kstr
        mm: mark remap_file_pages() syscall as deprecated
        mm: memcontrol: remove unnecessary memcg argument from soft limit functions
        mm: memcontrol: clean up memcg zoneinfo lookup
        mm/memblock.c: call kmemleak directly from memblock_(alloc|free)
        mm/mempool.c: update the kmemleak stack trace for mempool allocations
        lib/radix-tree.c: update the kmemleak stack trace for radix tree allocations
        mm: introduce kmemleak_update_trace()
        mm/kmemleak.c: use %u to print ->checksum
        ...
      3f17ea6d
    • Linus Torvalds's avatar
      Linux 3.15 · 1860e379
      Linus Torvalds authored
      1860e379
    • Linus Torvalds's avatar
      Revert "x86/smpboot: Initialize secondary CPU only if master CPU will wait for it" · bb077d60
      Linus Torvalds authored
      This reverts commit 3e1a878b.
      
      It came in very late, and already has one reported failure: Sitsofe
      reports that the current tree fails to boot on his EeePC, and bisected
      it down to this.  Rather than waste time trying to figure out what's
      wrong, just revert it.
      Reported-by: default avatarSitsofe Wheeler <sitsofe@gmail.com>
      Cc: Igor Mammedov <imammedo@redhat.com>
      Cc: Toshi Kani <toshi.kani@hp.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Acked-by: default avatarIngo Molnar <mingo@kernel.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      bb077d60
    • Linus Torvalds's avatar
      Merge tag 'clk-for-linus-3.16' of git://git.linaro.org/people/mike.turquette/linux into next · 1a5700bc
      Linus Torvalds authored
      Pull clock framework updates from Mike Turquette:
       "The clock framework changes for 3.16 are pretty typical: mostly clock
        driver additions and fixes.  There are additions to the clock core
        code for some of the basic types (e.g. the common divider type has
        some fixes and featured added to it).
      
        One minor annoyance is a last-minute dependency that wasn't handled
        quite right.  Commit ba0fae3b ("clk: berlin: add core clock driver
        for BG2/BG2CD") in this pull request depends on
        include/dt-bindings/clock/berlin2.h, which is already in your tree via
        the arm-soc pull request.  Building for the berlin platform will break
        when the clk tree is built on it's own, but merged into your master
        branch everything should be fine"
      
      * tag 'clk-for-linus-3.16' of git://git.linaro.org/people/mike.turquette/linux: (75 commits)
        mmc: sunxi: Add driver for SD/MMC hosts found on Allwinner sunxi SoCs
        clk: export __clk_round_rate for providers
        clk: versatile: free icst on error return
        clk: qcom: Return error pointers for unimplemented clocks
        clk: qcom: Support msm8974pro global clock control hardware
        clk: qcom: Properly support display clocks on msm8974
        clk: qcom: Support display RCG clocks
        clk: qcom: Return highest rate when round_rate() exceeds plan
        clk: qcom: Fix mmcc-8974's PLL configurations
        clk: qcom: Fix clk_rcg2_is_enabled() check
        clk: berlin: add core clock driver for BG2Q
        clk: berlin: add core clock driver for BG2/BG2CD
        clk: berlin: add driver for BG2x complex divider cells
        clk: berlin: add driver for BG2x simple PLLs
        clk: berlin: add driver for BG2x audio/video PLL
        clk: st: Terminate of match table
        clk/exynos4: Fix compilation warning
        ARM: shmobile: r8a7779: Add clock index macros for DT sources
        clk: divider: Fix overflow in clk_divider_bestdiv
        clk: u300: Terminate of match table
        ...
      1a5700bc
    • Linus Torvalds's avatar
      Merge tag 'vfio-v3.16-rc1' of git://github.com/awilliam/linux-vfio into next · a68a7509
      Linus Torvalds authored
      Pull VFIO updates from Alex Williamson:
       "A handful of VFIO bug fixes for v3.16"
      
      * tag 'vfio-v3.16-rc1' of git://github.com/awilliam/linux-vfio:
        drivers/vfio/pci: Fix wrong MSI interrupt count
        drivers/vfio: Rework offsetofend()
        vfio/iommu_type1: Avoid overflow
        vfio/pci: Fix unchecked return value
        vfio/pci: Fix sizing of DPA and THP express capabilities
      a68a7509
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6 into next · 639b4ac6
      Linus Torvalds authored
      Pull crypto updates from Herbert Xu:
       "Here is the crypto update for 3.16:
      
         - Added test vectors for SHA/AES-CCM/DES-CBC/3DES-CBC.
         - Fixed a number of error-path memory leaks in tcrypt.
         - Fixed error-path memory leak in caam.
         - Removed unnecessary global mutex from mxs-dcp.
         - Added ahash walk interface that can actually be asynchronous.
         - Cleaned up caam error reporting.
         - Allow crypto_user get operation to be used by non-root users.
         - Add support for SSS module on Exynos.
         - Misc fixes"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6: (60 commits)
        crypto: testmgr - add aead cbc des, des3_ede tests
        crypto: testmgr - Fix DMA-API warning
        crypto: cesa - tfm->__crt_alg->cra_type directly
        crypto: sahara - tfm->__crt_alg->cra_name directly
        crypto: padlock - tfm->__crt_alg->cra_name directly
        crypto: n2 - tfm->__crt_alg->cra_name directly
        crypto: dcp - tfm->__crt_alg->cra_name directly
        crypto: cesa - tfm->__crt_alg->cra_name directly
        crypto: ccp - tfm->__crt_alg->cra_name directly
        crypto: geode - Don't use tfm->__crt_alg->cra_name directly
        crypto: geode - Weed out printk() from probe()
        crypto: geode - Consistently use AES_KEYSIZE_128
        crypto: geode - Kill AES_IV_LENGTH
        crypto: geode - Kill AES_MIN_BLOCK_SIZE
        crypto: mxs-dcp - Remove global mutex
        crypto: hash - Add real ahash walk interface
        hwrng: n2-drv - Introduce the use of the managed version of kzalloc
        crypto: caam - reinitialize keys_fit_inline for decrypt and givencrypt
        crypto: s5p-sss - fix multiplatform build
        hwrng: timeriomem - remove unnecessary OOM messages
        ...
      639b4ac6
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.open-osd.org/linux-open-osd into next · 9d2cd01b
      Linus Torvalds authored
      Pull exofs raid6 support from Boaz Harrosh:
       "These simple patches will enable raid6 using the kernel's raid6_pq
        engine for support under exofs and pnfs-objects.
      
        There is nothing needed to do at exofs and pnfs-obj.  Just fire your
        mkfs.exofs with --raid=6 (that was already supported before) and off
        you go as usual.  The ORE will pick up the new map and will start
        writing two devices of redundancy bits.  The patches are so simple
        because most of the ORE was already for the general raid case, only a
        few bug fixes were needed and the actual wiring into the raid6_pq
        engine"
      
      * 'for-linus' of git://git.open-osd.org/linux-open-osd:
        ore: Support for raid 6
        ore: Remove redundant dev_order(), more cleanups
        ore: (trivial) reformat some code
      9d2cd01b
  3. 07 Jun, 2014 9 commits
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs · c593e897
      Linus Torvalds authored
      Pull btrfs fix from Chris Mason:
       "I had this in my 3.16 merge window queue, but it is small and obvious
        enough for 3.15.  I cherry-picked and retested against current rc8"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:
        Btrfs: send, fix corrupted path strings for long paths
      c593e897
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending · 052e5c7e
      Linus Torvalds authored
      Pull SCSI target fixes from Nicholas Bellinger:
       "Here are the remaining fixes for v3.15.
      
        This series includes:
      
         - iser-target fix for ImmediateData exception reference count bug
           (Sagi + nab)
         - iscsi-target fix for MC/S login + potential iser-target MRDSL
           buffer overrun (Santosh + Roland)
         - iser-target fix for v3.15-rc multi network portal shutdown
           regression (nab)
         - target fix for allowing READ_CAPCITY during ALUA Standby access
           state (Chris + nab)
         - target fix for NULL pointer dereference of alua_access_state for
           un-configured devices (Chris + nab)"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending:
        target: Fix alua_access_state attribute OOPs for un-configured devices
        target: Allow READ_CAPACITY opcode in ALUA Standby access state
        iser-target: Fix multi network portal shutdown regression
        iscsi-target: Fix wrong buffer / buffer overrun in iscsi_change_param_value()
        iser-target: Add missing target_put_sess_cmd for ImmedateData failure
      052e5c7e
    • Linus Torvalds's avatar
      Merge branch 'x86/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 813895f8
      Linus Torvalds authored
      Pull x86 fixes from Peter Anvin:
       "A significantly larger than I'd like set of patches for just below the
        wire.  All of these, however, fix real problems.
      
        The one thing that is genuinely scary in here is the change of SMP
        initialization, but that *does* fix a confirmed hang when booting
        virtual machines.
      
        There is also a patch to actually do the right thing about not
        offlining a CPU when there are not enough interrupt vectors available
        in the system; the accounting was done incorrectly.  The worst case
        for that patch is that we fail to offline CPUs when we should (the new
        code is strictly more conservative than the old), so is not
        particularly risky.
      
        Most of the rest is minor stuff; the EFI patches are all about
        exporting correct information to boot loaders and kexec"
      
      * 'x86/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/boot: EFI_MIXED should not prohibit loading above 4G
        x86/smpboot: Initialize secondary CPU only if master CPU will wait for it
        x86/smpboot: Log error on secondary CPU wakeup failure at ERR level
        x86: Fix list/memory corruption on CPU hotplug
        x86: irq: Get correct available vectors for cpu disable
        x86/efi: Do not export efi runtime map in case old map
        x86/efi: earlyprintk=efi,keep fix
      813895f8
    • Mark Charlebois's avatar
      arm, unwind, LLVMLinux: Enable clang to be used for unwinding the stack · e6b80757
      Mark Charlebois authored
      Patch to prevent warning of a buggy compiler when using clang and
      the ARM_UNWIND option.
      
      Clang defines (at least on the current trunk) GNUC, GNUC_MINOR, and
      GNUC_PATCHLEVEL to 4, 2, and 1 respectively.
      
      This version of GCC gets flagged as buggy, but it isn't actually an
      issue with clang so the patch will do what it did before unless clang
      is defined and then it will not report the GCC version as an issue.
      Signed-off-by: default avatarMark Charlebois <charlebm@gmail.com>
      Signed-off-by: default avatarBehan Webster <behanw@converseincode.com>
      e6b80757
    • Behan Webster's avatar
      ARM: LLVMLinux: Change "extern inline" to "static inline" in glue-cache.h · 76ae0382
      Behan Webster authored
      With compilers which follow the C99 standard (like modern versions of gcc and
      clang), "extern inline" does the wrong thing (emits code for an externally
      linkable version of the inline function). "static inline" is the correct choice
      instead.
      
      Author: Behan Webster <behanw@converseincode.com>
      Signed-off-by: default avatarBehan Webster <behanw@converseincode.com>
      Reviewed-by: default avatarMark Charlebois <charlebm@gmail.com>
      76ae0382
    • Behan Webster's avatar
      all: LLVMLinux: Change DWARF flag to support gcc and clang · 2288328c
      Behan Webster authored
      Both gcc (well, actually gnu as) and clang support the "-Wa,-gdwarf-2" option
      (though clang does not support "-Wa,--gdwarf-2"). Since these flags are equivalent
      in meaning, this patch uses the one which is better supported across compilers.
      Signed-off-by: default avatarBehan Webster <behanw@converseincode.com>
      2288328c
    • Mark Charlebois's avatar
      net: netfilter: LLVMLinux: vlais-netfilter · 066c6807
      Mark Charlebois authored
      Replaced non-standard C use of Variable Length Arrays In Structs (VLAIS) in
      xt_repldata.h with a C99 compliant flexible array member and then calculated
      offsets to the other struct members. These other members aren't referenced by
      name in this code, however this patch maintains the same memory layout and
      padding as was previously accomplished using VLAIS.
      
      Had the original structure been ordered differently, with the entries VLA at
      the end, then it could have been a flexible member, and this patch would have
      been a lot simpler. However since the data stored in this structure is
      ultimately exported to userspace, the order of this structure can't be changed.
      
      This patch makes no attempt to change the existing behavior, merely the way in
      which the current layout is accomplished using standard C99 constructs. As such
      the code can now be compiled with either gcc or clang.
      
      This version of the patch removes the trailing alignment that the VLAIS
      structure would allocate in order to simplify the patch.
      
      Author: Mark Charlebois <charlebm@gmail.com>
      Signed-off-by: default avatarMark Charlebois <charlebm@gmail.com>
      Signed-off-by: default avatarBehan Webster <behanw@converseincode.com>
      Signed-off-by: default avatarVinícius Tinti <viniciustinti@gmail.com>
      066c6807
    • Mark Charlebois's avatar
      crypto: LLVMLinux: aligned-attribute.patch · 66d8ea57
      Mark Charlebois authored
      __attribute__((aligned)) applies the default alignment for the largest scalar
      type for the target ABI. gcc allows it to be applied inline to a defined type.
      Clang only allows it to be applied to a type definition (PR11071).
      
      Making it into 2 lines makes it more readable and works with both compilers.
      
      Author: Mark Charlebois <charlebm@gmail.com>
      Signed-off-by: default avatarMark Charlebois <charlebm@gmail.com>
      Signed-off-by: default avatarBehan Webster <behanw@converseincode.com>
      66d8ea57
    • Matt Fleming's avatar
      x86/boot: EFI_MIXED should not prohibit loading above 4G · 745c5167
      Matt Fleming authored
      commit 7d453eee ("x86/efi: Wire up CONFIG_EFI_MIXED") introduced a
      regression for the functionality to load kernels above 4G. The relevant
      (incorrect) reasoning behind this change can be seen in the commit
      message,
      
        "The xloadflags field in the bzImage header is also updated to reflect
        that the kernel supports both entry points by setting both of
        XLF_EFI_HANDOVER_32 and XLF_EFI_HANDOVER_64 when CONFIG_EFI_MIXED=y.
        XLF_CAN_BE_LOADED_ABOVE_4G is disabled so that the kernel text is
        guaranteed to be addressable with 32-bits."
      
      This is obviously bogus since 32-bit EFI loaders will never place the
      kernel above the 4G mark. So this restriction is entirely unnecessary.
      
      But things are worse than that - since we want to encourage people to
      always compile with CONFIG_EFI_MIXED=y so that their kernels work out of
      the box for both 32-bit and 64-bit firmware, commit 7d453eee
      effectively disables XLF_CAN_BE_LOADED_ABOVE_4G completely.
      
      Remove the overzealous and superfluous restriction and restore the
      XLF_CAN_BE_LOADED_ABOVE_4G functionality.
      
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Cc: Dave Young <dyoung@redhat.com>
      Cc: Vivek Goyal <vgoyal@redhat.com>
      Signed-off-by: default avatarMatt Fleming <matt.fleming@intel.com>
      Link: http://lkml.kernel.org/r/1402140380-15377-1-git-send-email-matt@console-pimps.orgSigned-off-by: default avatarH. Peter Anvin <hpa@zytor.com>
      745c5167
  4. 06 Jun, 2014 15 commits