1. 03 Mar, 2013 6 commits
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm · 529e5fbc
      Linus Torvalds authored
      Pull late ARM updates from Russell King:
       "Here is the late set of ARM updates for this merge window; in here is:
      
         - The ARM parts of the broadcast timer support, core parts merged
           through tglx's tree.  This was left over from the previous merge to
           allow the dependency on tglx's tree to be resolved.
      
         - A fix to the VFP code which shows up on Raspberry Pi's, as well as
           fixing the fallout from a previous commit in this area.
      
         - A number of smaller fixes scattered throughout the ARM tree"
      
      * 'for-linus' of git://git.linaro.org/people/rmk/linux-arm:
        ARM: Fix broken commit 0cc41e4a corrupting kernel messages
        ARM: fix scheduling while atomic warning in alignment handling code
        ARM: VFP: fix emulation of second VFP instruction
        ARM: 7656/1: uImage: Error out on build of multiplatform without LOADADDR
        ARM: 7640/1: memory: tegra_ahb_enable_smmu() depends on TEGRA_IOMMU_SMMU
        ARM: 7654/1: Preserve L_PTE_VALID in pte_modify()
        ARM: 7653/2: do not scale loops_per_jiffy when using a constant delay clock
        ARM: 7651/1: remove unused smp_timer_broadcast #define
      529e5fbc
    • Linus Torvalds's avatar
      Merge tag 'char-misc-3.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · 686c0940
      Linus Torvalds authored
      Pull char/misc patch from Greg Kroah-Hartman:
       "Here is one remaining patch for 3.9-rc1.  It is for the hyper-v
        drivers, and had to wait until some other patches went in through the
        x86 tree."
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      
      * tag 'char-misc-3.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
        Drivers: hv: vmbus: Use the new infrastructure for delivering VMBUS interrupts
      686c0940
    • Linus Torvalds's avatar
      Merge tag 'usb-3.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · bc2e4a90
      Linus Torvalds authored
      Pull USB patch revert from Greg Kroah-Hartman:
       "Here is one remaining USB patch for 3.9-rc1, it reverts a 3.8 patch
        that has caused a lot of regressions for some VIA EHCI controllers."
      
      * tag 'usb-3.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
        USB: EHCI: revert "remove ASS/PSS polling timeout"
      bc2e4a90
    • Linus Torvalds's avatar
      Merge git://www.linux-watchdog.org/linux-watchdog · 68b86a25
      Linus Torvalds authored
      Pull watchdog updates from Wim Van Sebroeck:
       "This contains:
         - fixes and improvements
         - devicetree bindings
         - conversion to watchdog generic framework of the following drivers:
              - booke_wdt
              - bcm47xx_wdt.c
              - at91sam9_wdt
         - Removal of old STMP3xxx driver
         - Addition of following new drivers:
              - new driver for STMP3xxx and i.MX23/28
              - Retu watchdog driver"
      
      * git://www.linux-watchdog.org/linux-watchdog: (30 commits)
        watchdog: sp805_wdt depends on ARM
        watchdog: davinci_wdt: update to devm_* API
        watchdog: davinci_wdt: use devm managed clk get
        watchdog: at91rm9200: add DT support
        watchdog: add timeout-sec property binding
        watchdog: at91sam9_wdt: Convert to use the watchdog framework
        watchdog: omap_wdt: Add option nowayout
        watchdog: core: dt: add support for the timeout-sec dt property
        watchdog: bcm47xx_wdt.c: add hard timer
        watchdog: bcm47xx_wdt.c: rename wdt_time to timeout
        watchdog: bcm47xx_wdt.c: rename ops methods
        watchdog: bcm47xx_wdt.c: use platform device
        watchdog: bcm47xx_wdt.c: convert to watchdog core api
        watchdog: Convert BookE watchdog driver to watchdog infrastructure
        watchdog: s3c2410_wdt: Use devm_* functions
        watchdog: remove old STMP3xxx driver
        watchdog: add new driver for STMP3xxx and i.MX23/28
        rtc: stmp3xxx: add wdt-accessor function
        watchdog: introduce retu_wdt driver
        watchdog: intel_scu_watchdog: fix Kconfig dependency
        ...
      68b86a25
    • Linus Torvalds's avatar
      Merge branch 'next' of git://git.infradead.org/users/vkoul/slave-dma · 527c680f
      Linus Torvalds authored
      Pull second set of slave-dmaengine updates from Vinod Koul:
       "Arnd's patch moves the dw_dmac to use generic DMA binding.  I agreed
        to merge this late as it will avoid the conflicts between trees.
      
        The second patch from Matt adding a dma_request_slave_channel_compat
        API was supposed to be picked up, but somehow never got picked up.
        Some patches dependent on this are already in -next :("
      
      * 'next' of git://git.infradead.org/users/vkoul/slave-dma:
        dmaengine: dw_dmac: move to generic DMA binding
        dmaengine: add dma_request_slave_channel_compat()
      527c680f
    • Linus Torvalds's avatar
      Merge branch 'for_linus' of git://cavan.codon.org.uk/platform-drivers-x86 · 23caaeea
      Linus Torvalds authored
      Pull x86 platform driver updates from Matthew Garrett:
       "Mostly relatively small updates, along with some hardware enablement
        for Sony hardware and a pile of updates to Google's Chromebook driver"
      
      * 'for_linus' of git://cavan.codon.org.uk/platform-drivers-x86: (49 commits)
        ideapad-laptop: Depend on BACKLIGHT_CLASS_DEVICE instead of selecting it
        ideapad: depends on backlight subsystem and update comment
        Platform: x86: chromeos_laptop - add i915 gmbuses to adapter names
        Platform: x86: chromeos_laptop - Add isl light sensor for Pixel
        Platform: x86: chromeos_laptop - Add a more general add_i2c_device
        Platform: x86: chromeos_laptop - Add Pixel Touchscreen
        Platform: x86: chromeos_laptop - Add support for probing devices
        Platform: x86: chromeos_laptop - Add Pixel Trackpad
        hp-wmi: fix handling of platform device
        sony-laptop: leak in error handling sony_nc_lid_resume_setup()
        hp-wmi: Add support for SMBus hotkeys
        asus-wmi: Fix unused function build warning
        acer-wmi: avoid the warning of 'devices' may be used uninitialized
        drivers/platform/x86/thinkpad_acpi.c: Handle HKEY event 0x6040
        Platform: x86: chromeos_laptop - Add HP Pavilion 14
        Platform: x86: chromeos_laptop - Add Taos tsl2583 device
        Platform: x86: chromeos_laptop - Add Taos tsl2563 device
        Platform: x86: chromeos_laptop - Add Acer C7 trackpad
        Platform: x86: chromeos_laptop - Rename setup_lumpy_tp to setup_cyapa_smbus_tp
        asus-laptop: always report brightness key events
        ...
      23caaeea
  2. 02 Mar, 2013 34 commits
    • Linus Torvalds's avatar
      Merge tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 · a7c1120d
      Linus Torvalds authored
      Pull ext4 bug fixes from Ted Ts'o:
       "Various bug fixes for ext4.  The most important is a fix for the new
        extent cache's slab shrinker which can cause significant, user-visible
        pauses when the system is under memory pressure."
      
      * tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
        ext4: enable quotas before orphan cleanup
        ext4: don't allow quota mount options when quota feature enabled
        ext4: fix a warning from sparse check for ext4_dir_llseek
        ext4: convert number of blocks to clusters properly
        ext4: fix possible memory leak in ext4_remount()
        jbd2: fix ERR_PTR dereference in jbd2__journal_start
        ext4: use percpu counter for extent cache count
        ext4: optimize ext4_es_shrink()
      a7c1120d
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal · 6ec40b42
      Linus Torvalds authored
      Pull sigprocmask compat fix from Al Viro:
       "generic compat_sys_rt_sigprocmask() had a very dumb braino; I'd spent
        quite a while staring at the offending commit before finally managing
        to spot the idiocy ;-/"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal:
        fix compat_sys_rt_sigprocmask()
      6ec40b42
    • Al Viro's avatar
      fix compat_sys_rt_sigprocmask() · db61ec29
      Al Viro authored
      Converting bitmask to 32bit granularity is fine, but we'd better
      _do_ something with the result.  Such as "copy it to userland"...
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      db61ec29
    • Linus Torvalds's avatar
      Merge tag 'nfs-for-3.9-2' of git://git.linux-nfs.org/projects/trondmy/linux-nfs · 8d05b377
      Linus Torvalds authored
      Pull NFS client bugfixes from Trond Myklebust:
       "We've just concluded another Connectathon interoperability testing
        week, and so here are the fixes for the bugs that were discovered:
      
         - Don't allow NFS silly-renamed files to be deleted
         - Don't start the retransmission timer when out of socket space
         - Fix a couple of pnfs-related Oopses.
         - Fix one more NFSv4 state recovery deadlock
         - Don't loop forever when LAYOUTGET returns NFS4ERR_LAYOUTTRYLATER"
      
      * tag 'nfs-for-3.9-2' of git://git.linux-nfs.org/projects/trondmy/linux-nfs:
        SUNRPC: One line comment fix
        NFSv4.1: LAYOUTGET EDELAY loops timeout to the MDS
        SUNRPC: add call to get configured timeout
        PNFS: set the default DS timeout to 60 seconds
        NFSv4: Fix another open/open_recovery deadlock
        nfs: don't allow nfs_find_actor to match inodes of the wrong type
        NFSv4.1: Hold reference to layout hdr in layoutget
        pnfs: fix resend_to_mds for directio
        SUNRPC: Don't start the retransmission timer when out of socket space
        NFS: Don't allow NFS silly-renamed files to be deleted, no signal
      8d05b377
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs · b695188d
      Linus Torvalds authored
      Pull btrfs update from Chris Mason:
       "The biggest feature in the pull is the new (and still experimental)
        raid56 code that David Woodhouse started long ago.  I'm still working
        on the parity logging setup that will avoid inconsistent parity after
        a crash, so this is only for testing right now.  But, I'd really like
        to get it out to a broader audience to hammer out any performance
        issues or other problems.
      
        scrub does not yet correct errors on raid5/6 either.
      
        Josef has another pass at fsync performance.  The big change here is
        to combine waiting for metadata with waiting for data, which is a big
        latency win.  It is also step one toward using atomics from the
        hardware during a commit.
      
        Mark Fasheh has a new way to use btrfs send/receive to send only the
        metadata changes.  SUSE is using this to make snapper more efficient
        at finding changes between snapshosts.
      
        Snapshot-aware defrag is also included.
      
        Otherwise we have a large number of fixes and cleanups.  Eric Sandeen
        wins the award for removing the most lines, and I'm hoping we steal
        this idea from XFS over and over again."
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs: (118 commits)
        btrfs: fixup/remove module.h usage as required
        Btrfs: delete inline extents when we find them during logging
        btrfs: try harder to allocate raid56 stripe cache
        Btrfs: cleanup to make the function btrfs_delalloc_reserve_metadata more logic
        Btrfs: don't call btrfs_qgroup_free if just btrfs_qgroup_reserve fails
        Btrfs: remove reduplicate check about root in the function btrfs_clean_quota_tree
        Btrfs: return ENOMEM rather than use BUG_ON when btrfs_alloc_path fails
        Btrfs: fix missing deleted items in btrfs_clean_quota_tree
        btrfs: use only inline_pages from extent buffer
        Btrfs: fix wrong reserved space when deleting a snapshot/subvolume
        Btrfs: fix wrong reserved space in qgroup during snap/subv creation
        Btrfs: remove unnecessary dget_parent/dput when creating the pending snapshot
        btrfs: remove a printk from scan_one_device
        Btrfs: fix NULL pointer after aborting a transaction
        Btrfs: fix memory leak of log roots
        Btrfs: copy everything if we've created an inline extent
        btrfs: cleanup for open-coded alignment
        Btrfs: do not change inode flags in rename
        Btrfs: use reserved space for creating a snapshot
        clear chunk_alloc flag on retryable failure
        ...
      b695188d
    • Linus Torvalds's avatar
      Merge tag 'for-linus-20130301' of git://git.infradead.org/linux-mtd · 48476df9
      Linus Torvalds authored
      Pull MTD update from David Woodhouse:
       "Fairly unexciting MTD merge for 3.9:
      
         - misc clean-ups in the MTD command-line partitioning parser
           (cmdlinepart)
         - add flash locking support for STmicro chips serial flash chips, as
           well as for CFI command set 2 chips.
         - new driver for the ELM error correction HW module found in various
           TI chips, enable the OMAP NAND driver to use the ELM HW error
           correction
         - added number of new serial flash IDs
         - various fixes and improvements in the gpmi NAND driver
         - bcm47xx NAND driver improvements
         - make the mtdpart module actually removable"
      
      * tag 'for-linus-20130301' of git://git.infradead.org/linux-mtd: (45 commits)
        mtd: map: BUG() in non handled cases
        mtd: bcm47xxnflash: use pr_fmt for module prefix in messages
        mtd: davinci_nand: Use managed resources
        mtd: mtd_torturetest can cause stack overflows
        mtd: physmap_of: Convert device allocation to managed devm_kzalloc()
        mtd: at91: atmel_nand: for PMECC, add code to check the ONFI parameter ECC requirement.
        mtd: atmel_nand: make pmecc-cap, pmecc-sector-size in dts is optional.
        mtd: atmel_nand: avoid to report an error when lookup table offset is 0.
        mtd: bcm47xxsflash: adjust names of bus-specific functions
        mtd: bcm47xxpart: improve probing of nvram partition
        mtd: bcm47xxpart: add support for other erase sizes
        mtd: bcm47xxnflash: register this as normal driver
        mtd: bcm47xxnflash: fix message
        mtd: bcm47xxsflash: register this as normal driver
        mtd: bcm47xxsflash: write number of written bytes
        mtd: gpmi: add sanity check for the ECC
        mtd: gpmi: set the Golois Field bit for mx6q's BCH
        mtd: devices: elm: Removes <xx> literals in elm DT node
        mtd: gpmi: fix a dereferencing freed memory error
        mtd: fix the wrong timeo for panic_nand_wait()
        ...
      48476df9
    • Russell King's avatar
    • Trond Myklebust's avatar
      512e4b29
    • Jan Kara's avatar
      ext4: enable quotas before orphan cleanup · 9b2ff357
      Jan Kara authored
      When using quota feature we need to enable quotas before orphan cleanup
      so that changes happening during it are properly reflected in quota
      accounting.
      Signed-off-by: default avatarJan Kara <jack@suse.cz>
      Signed-off-by: default avatar"Theodore Ts'o" <tytso@mit.edu>
      9b2ff357
    • Jan Kara's avatar
      ext4: don't allow quota mount options when quota feature enabled · 262b4662
      Jan Kara authored
      So far we silently ignored when quota mount options were set while quota
      feature was enabled.  But this can create confusion in userspace when
      mount options are set but silently ignored and also creates opportunities
      for bugs when we don't properly test all quota types.  Actually
      ext4_mark_dquot_dirty() forgets to test for quota feature so it was
      dependent on journaled quota options being set.  OTOH ext4_orphan_cleanup()
      tries to enable journaled quota when quota options are specified which is
      wrong when quota feature is enabled.
      Signed-off-by: default avatarJan Kara <jack@suse.cz>
      Signed-off-by: default avatar"Theodore Ts'o" <tytso@mit.edu>
      262b4662
    • Zheng Liu's avatar
      ext4: fix a warning from sparse check for ext4_dir_llseek · d4e43954
      Zheng Liu authored
      ext4_dir_llseek is only used as a callback function, and no one calls
      it directly.  So make it as a static function in order to remove a
      warning message from sparse check.
      Signed-off-by: default avatarZheng Liu <wenqing.lz@taobao.com>
      Signed-off-by: default avatar"Theodore Ts'o" <tytso@mit.edu>
      d4e43954
    • Lukas Czerner's avatar
      ext4: convert number of blocks to clusters properly · 810da240
      Lukas Czerner authored
      We're using macro EXT4_B2C() to convert number of blocks to number of
      clusters for bigalloc file systems.  However, we should be using
      EXT4_NUM_B2C().
      Signed-off-by: default avatarLukas Czerner <lczerner@redhat.com>
      Signed-off-by: default avatar"Theodore Ts'o" <tytso@mit.edu>
      Cc: stable@vger.kernel.org
      810da240
    • Wei Yongjun's avatar
      ext4: fix possible memory leak in ext4_remount() · 3e36a163
      Wei Yongjun authored
      'orig_data' is malloced in ext4_remount() and should be freed
      before leaving from the error handling cases, otherwise it will
      cause memory leak.
      Signed-off-by: default avatarWei Yongjun <yongjun_wei@trendmicro.com.cn>
      Signed-off-by: default avatar"Theodore Ts'o" <tytso@mit.edu>
      Reviewed-by: default avatarLukas Czerner <lczerner@redhat.com>
      Cc: stable@vger.kernel.org
      3e36a163
    • Dmitry Monakhov's avatar
      jbd2: fix ERR_PTR dereference in jbd2__journal_start · df05c1b8
      Dmitry Monakhov authored
      If start_this_handle() failed handle will be initialized
      to ERR_PTR() and can not be dereferenced.
      
      paging request at fffffffffffffff6
      IP: [<ffffffff813c073f>] jbd2__journal_start+0x18f/0x290
      PGD 200e067 PUD 200f067 PMD 0
      Oops: 0000 [#1] SMP
      Modules linked in: cpufreq_ondemand acpi_cpufreq freq_table mperf coretemp kvm_intel kvm crc32c_intel ghash_clmulni_intel microcode sg xhci_hcd button sd_mod crc_t10dif aesni_intel ablk_helper cryptd lrw aes_x86_64 xts gf128mul ahci libahci pata_acpi ata_generic dm_mirror dm_region_hash dm_log dm_mod
      CPU 0 journal commit I/O error
      
      Pid: 2694, comm: fio Not tainted 3.8.0-rc3+ #79                  /DQ67SW
      RIP: 0010:[<ffffffff813c073f>]  [<ffffffff813c073f>] jbd2__journal_start+0x18f/0x290
      RSP: 0018:ffff880233b8ba58  EFLAGS: 00010292
      RAX: 00000000ffffffe2 RBX: ffffffffffffffe2 RCX: 0000000000000006
      RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffffffff82128f48
      RBP: ffff880233b8ba98 R08: 0000000000000000 R09: ffff88021440a6e0
      Signed-off-by: default avatarDmitry Monakhov <dmonakhov@openvz.org>
      Signed-off-by: default avatar"Theodore Ts'o" <tytso@mit.edu>
      df05c1b8
    • Linus Torvalds's avatar
      Merge tag 'dm-3.9-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-dm · 37cae6ad
      Linus Torvalds authored
      Pull device-mapper update from Alasdair G Kergon:
       "The main addition here is a long-desired target framework to allow an
        SSD to be used as a cache in front of a slower device.  Cache tuning
        is delegated to interchangeable policy modules so these can be
        developed independently of the mechanics needed to shuffle the data
        around.
      
        Other than that, kcopyd users acquire a throttling parameter, ioctl
        buffer usage gets streamlined, more mempool reliance is reduced and
        there are a few other bug fixes and tidy-ups."
      
      * tag 'dm-3.9-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-dm: (30 commits)
        dm cache: add cleaner policy
        dm cache: add mq policy
        dm: add cache target
        dm persistent data: add bitset
        dm persistent data: add transactional array
        dm thin: remove cells from stack
        dm bio prison: pass cell memory in
        dm persistent data: add btree_walk
        dm: add target num_write_bios fn
        dm kcopyd: introduce configurable throttling
        dm ioctl: allow message to return data
        dm ioctl: optimize functions without variable params
        dm ioctl: introduce ioctl_flags
        dm: merge io_pool and tio_pool
        dm: remove unused _rq_bio_info_cache
        dm: fix limits initialization when there are no data devices
        dm snapshot: add missing module aliases
        dm persistent data: set some btree fn parms const
        dm: refactor bio cloning
        dm: rename bio cloning functions
        ...
      37cae6ad
    • Linus Torvalds's avatar
      Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending · 98624899
      Linus Torvalds authored
      Pull SCSI target patches from Nicholas Bellinger:
       "Here are the remaining target-pending patches for v3.9-rc1.
      
        The most important one here is the immediate queue starvation
        regression fix for iscsi-target, which addresses a bug that's
        effecting v3.5+ kernels under heavy sustained READ only workloads.
        Thanks alot to Benjamin Estrabaud for helping to track this down!
      
        Also included is a pSCSI exception bugfix from Asias, along with a
        handful of other minor changes.  Both bugfixes are CC'ed to stable."
      
      * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending:
        target/pscsi: Rename sg_num to nr_vecs in pscsi_get_bio()
        target/pscsi: Fix page increment
        target/pscsi: Drop unnecessary NULL assignment to bio->bi_next
        target: Add __exit annotation for module_exit functions
        iscsi-target: Fix immediate queue starvation regression with DATAIN
      98624899
    • Linus Torvalds's avatar
      Merge tag 'scsi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · 426d266c
      Linus Torvalds authored
      Pull SCSI updates from James Bottomley:
       "This is an assorted set of stragglers into the merge window with
        driver updates for qla2xxx, megaraid_sas, storvsc and ufs.
      
        It also includes pulls of the uapi tree (all the remaining SCSI
        pieces) and the fcoe tree (updates to fcoe and libfc)"
      
      * tag 'scsi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (81 commits)
        [SCSI] ufs: Separate PCI code into glue driver
        [SCSI] ufs: Segregate PCI Specific Code
        [SCSI] scsi: fix lpfc build when wmb() is defined as mb()
        [SCSI] storvsc: Handle dynamic resizing of the device
        [SCSI] storvsc: Restructure error handling code on command completion
        [SCSI] storvsc: avoid usage of WRITE_SAME
        [SCSI] aacraid: suppress two GCC warnings
        [SCSI] hpsa: check for dma_mapping_error in hpsa_passthru ioctls
        [SCSI] hpsa: reorganize error handling in hpsa_passthru_ioctl
        [SCSI] hpsa: check for dma_mapping_error in hpsa_map_sg_chain_block
        [SCSI] hpsa: Check for dma_mapping_error for all code paths using fill_cmd
        [SCSI] hpsa: Check for dma_mapping_error in hpsa_map_one
        [SCSI] dc395x: uninitialized variable in device_alloc()
        [SCSI] Fix range check in scsi_host_dif_capable()
        [SCSI] storvsc: Initialize the sglist
        [SCSI] mpt2sas: Add support for OEM specific controller
        [SCSI] ipr: Fix oops while resetting an ipr adapter
        [SCSI] fnic: Fnic Trace Utility
        [SCSI] fnic: New debug flags and debug log messages
        [SCSI] fnic: fnic driver may hit BUG_ON on device reset
        ...
      426d266c
    • Yinghai Lu's avatar
      x86, ACPI, mm: Revert movablemem_map support · 20e6926d
      Yinghai Lu authored
      Tim found:
      
        WARNING: at arch/x86/kernel/smpboot.c:324 topology_sane.isra.2+0x6f/0x80()
        Hardware name: S2600CP
        sched: CPU #1's llc-sibling CPU #0 is not on the same node! [node: 1 != 0]. Ignoring dependency.
        smpboot: Booting Node   1, Processors  #1
        Modules linked in:
        Pid: 0, comm: swapper/1 Not tainted 3.9.0-0-generic #1
        Call Trace:
          set_cpu_sibling_map+0x279/0x449
          start_secondary+0x11d/0x1e5
      
      Don Morris reproduced on a HP z620 workstation, and bisected it to
      commit e8d19552 ("acpi, memory-hotplug: parse SRAT before memblock
      is ready")
      
      It turns out movable_map has some problems, and it breaks several things
      
      1. numa_init is called several times, NOT just for srat. so those
      	nodes_clear(numa_nodes_parsed)
      	memset(&numa_meminfo, 0, sizeof(numa_meminfo))
         can not be just removed.  Need to consider sequence is: numaq, srat, amd, dummy.
         and make fall back path working.
      
      2. simply split acpi_numa_init to early_parse_srat.
         a. that early_parse_srat is NOT called for ia64, so you break ia64.
         b.  for (i = 0; i < MAX_LOCAL_APIC; i++)
      	     set_apicid_to_node(i, NUMA_NO_NODE)
           still left in numa_init. So it will just clear result from early_parse_srat.
           it should be moved before that....
         c.  it breaks ACPI_TABLE_OVERIDE...as the acpi table scan is moved
             early before override from INITRD is settled.
      
      3. that patch TITLE is total misleading, there is NO x86 in the title,
         but it changes critical x86 code. It caused x86 guys did not
         pay attention to find the problem early. Those patches really should
         be routed via tip/x86/mm.
      
      4. after that commit, following range can not use movable ram:
        a. real_mode code.... well..funny, legacy Node0 [0,1M) could be hot-removed?
        b. initrd... it will be freed after booting, so it could be on movable...
        c. crashkernel for kdump...: looks like we can not put kdump kernel above 4G
      	anymore.
        d. init_mem_mapping: can not put page table high anymore.
        e. initmem_init: vmemmap can not be high local node anymore. That is
           not good.
      
      If node is hotplugable, the mem related range like page table and
      vmemmap could be on the that node without problem and should be on that
      node.
      
      We have workaround patch that could fix some problems, but some can not
      be fixed.
      
      So just remove that offending commit and related ones including:
      
       f7210e6c ("mm/memblock.c: use CONFIG_HAVE_MEMBLOCK_NODE_MAP to
          protect movablecore_map in memblock_overlaps_region().")
      
       01a178a9 ("acpi, memory-hotplug: support getting hotplug info from
          SRAT")
      
       27168d38 ("acpi, memory-hotplug: extend movablemem_map ranges to
          the end of node")
      
       e8d19552 ("acpi, memory-hotplug: parse SRAT before memblock is
          ready")
      
       fb06bc8e ("page_alloc: bootmem limit with movablecore_map")
      
       42f47e27 ("page_alloc: make movablemem_map have higher priority")
      
       6981ec31 ("page_alloc: introduce zone_movable_limit[] to keep
          movable limit for nodes")
      
       34b71f1e ("page_alloc: add movable_memmap kernel parameter")
      
       4d59a751 ("x86: get pg_data_t's memory from other node")
      
      Later we should have patches that will make sure kernel put page table
      and vmemmap on local node ram instead of push them down to node0.  Also
      need to find way to put other kernel used ram to local node ram.
      Reported-by: default avatarTim Gardner <tim.gardner@canonical.com>
      Reported-by: default avatarDon Morris <don.morris@hp.com>
      Bisected-by: default avatarDon Morris <don.morris@hp.com>
      Tested-by: default avatarDon Morris <don.morris@hp.com>
      Signed-off-by: default avatarYinghai Lu <yinghai@kernel.org>
      Cc: Tony Luck <tony.luck@intel.com>
      Cc: Thomas Renninger <trenn@suse.de>
      Cc: Tejun Heo <tj@kernel.org>
      Cc: Tang Chen <tangchen@cn.fujitsu.com>
      Cc: Yasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      20e6926d
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal · 14cc0b55
      Linus Torvalds authored
      Pull signal/compat fixes from Al Viro:
       "Fixes for several regressions introduced in the last signal.git pile,
        along with fixing bugs in truncate and ftruncate compat (on just about
        anything biarch at least one of those two had been done wrong)."
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal:
        compat: restore timerfd settime and gettime compat syscalls
        [regression] braino in "sparc: convert to ksignal"
        fix compat truncate/ftruncate
        switch lseek to COMPAT_SYSCALL_DEFINE
        lseek() and truncate() on sparc really need sign extension
      14cc0b55
    • Linus Torvalds's avatar
      Merge tag 'for_linux-3.9' of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/kgdb · 3cfb0774
      Linus Torvalds authored
      Pull KGDB/KDB fixes and cleanups from Jason Wessel:
       "For a change we removed more code than we added.  If people aren't
        using it we shouldn't be carrying it.  :-)
      
        Cleanups:
         - Remove kdb ssb command - there is no in kernel disassembler to
           support it
      
         - Remove kdb ll command - Always caused a kernel oops and there were
           no bug reports so no one was using this command
      
         - Use kernel ARRAY_SIZE macro instead of array computations
      
        Fixes:
         - Stop oops in kdb if user executes kdb_defcmd with args
      
         - kdb help command truncated text
      
         - ppc64 support for kgdbts
      
         - Add missing kconfig option from original kdb port for dealing with
           catastrophic kernel crashes such that you can reboot automatically
           on continue from kdb"
      
      * tag 'for_linux-3.9' of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/kgdb:
        kdb: Remove unhandled ssb command
        kdb: Prevent kernel oops with kdb_defcmd
        kdb: Remove the ll command
        kdb_main: fix help print
        kdb: Fix overlap in buffers with strcpy
        Fixed dead ifdef block by adding missing Kconfig option.
        kdb: Setup basic kdb state before invoking commands via kgdb
        kdb: use ARRAY_SIZE where possible
        kgdb/kgdbts: support ppc64
        kdb: A fix for kdb command table expansion
      3cfb0774
    • Linus Torvalds's avatar
      Merge tag 'arc-v3.9-rc1-late' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc · e23b6225
      Linus Torvalds authored
      Pull new ARC architecture from Vineet Gupta:
       "Initial ARC Linux port with some fixes on top for 3.9-rc1:
      
        I would like to introduce the Linux port to ARC Processors (from
        Synopsys) for 3.9-rc1.  The patch-set has been discussed on the public
        lists since Nov and has received a fair bit of review, specially from
        Arnd, tglx, Al and other subsystem maintainers for DeviceTree, kgdb...
      
        The arch bits are in arch/arc, some asm-generic changes (acked by
        Arnd), a minor change to PARISC (acked by Helge).
      
        The series is a touch bigger for a new port for 2 main reasons:
      
         1. It enables a basic kernel in first sub-series and adds
            ptrace/kgdb/.. later
      
         2. Some of the fallout of review (DeviceTree support, multi-platform-
            image support) were added on top of orig series, primarily to
            record the revision history.
      
        This updated pull request additionally contains
      
         - fixes due to our GNU tools catching up with the new syscall/ptrace
           ABI
      
         - some (minor) cross-arch Kconfig updates."
      
      * tag 'arc-v3.9-rc1-late' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc: (82 commits)
        ARC: split elf.h into uapi and export it for userspace
        ARC: Fixup the current ABI version
        ARC: gdbserver using regset interface possibly broken
        ARC: Kconfig cleanup tracking cross-arch Kconfig pruning in merge window
        ARC: make a copy of flat DT
        ARC: [plat-arcfpga] DT arc-uart bindings change: "baud" => "current-speed"
        ARC: Ensure CONFIG_VIRT_TO_BUS is not enabled
        ARC: Fix pt_orig_r8 access
        ARC: [3.9] Fallout of hlist iterator update
        ARC: 64bit RTSC timestamp hardware issue
        ARC: Don't fiddle with non-existent caches
        ARC: Add self to MAINTAINERS
        ARC: Provide a default serial.h for uart drivers needing BASE_BAUD
        ARC: [plat-arcfpga] defconfig for fully loaded ARC Linux
        ARC: [Review] Multi-platform image #8: platform registers SMP callbacks
        ARC: [Review] Multi-platform image #7: SMP common code to use callbacks
        ARC: [Review] Multi-platform image #6: cpu-to-dma-addr optional
        ARC: [Review] Multi-platform image #5: NR_IRQS defined by ARC core
        ARC: [Review] Multi-platform image #4: Isolate platform headers
        ARC: [Review] Multi-platform image #3: switch to board callback
        ...
      e23b6225
    • Linus Torvalds's avatar
      Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus · aebb2afd
      Linus Torvalds authored
      Pull MIPS updates from Ralf Baechle:
      
       o Add basic support for the Mediatek/Ralink Wireless SoC family.
      
       o The Qualcomm Atheros platform is extended by support for the new
         QCA955X SoC series as well as a bunch of patches that get the code
         ready for OF support.
      
       o Lantiq and BCM47XX platform have a few improvements and bug fixes.
      
       o MIPS has sent a few patches that get the kernel ready for the
         upcoming microMIPS support.
      
       o The rest of the series is made up of small bug fixes and cleanups
         that relate to various parts of the MIPS code.  The biggy in there is
         a whitespace cleanup.  After I was sent another set of whitespace
         cleanup patches I decided it was the time to clean the whitespace
         "issues" for once and and that touches many files below arch/mips/.
      
      Fix up silly conflicts, mostly due to whitespace cleanups.
      
      * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (105 commits)
        MIPS: Quit exporting kernel internel break codes to uapi/asm/break.h
        MIPS: remove broken conditional inside vpe loader code
        MIPS: SMTC: fix implicit declaration of set_vi_handler
        MIPS: early_printk: drop __init annotations
        MIPS: Probe for and report hardware virtualization support.
        MIPS: ath79: add support for the Qualcomm Atheros AP136-010 board
        MIPS: ath79: add USB controller registration code for the QCA955X SoCs
        MIPS: ath79: add PCI controller registration code for the QCA955X SoCs
        MIPS: ath79: add WMAC registration code for the QCA955X SoCs
        MIPS: ath79: register UART for the QCA955X SoCs
        MIPS: ath79: add QCA955X specific glue to ath79_device_reset_{set, clear}
        MIPS: ath79: add GPIO setup code for the QCA955X SoCs
        MIPS: ath79: add IRQ handling code for the QCA955X SoCs
        MIPS: ath79: add clock setup code for the QCA955X SoCs
        MIPS: ath79: add SoC detection code for the QCA955X SoCs
        MIPS: ath79: add early printk support for the QCA955X SoCs
        MIPS: ath79: fix WMAC IRQ resource assignment
        mips: reserve elfcorehdr
        mips: Make sure kernel memory is in iomem
        MIPS: ath79: use dynamically allocated USB platform devices
        ...
      aebb2afd
    • Theodore Ts'o's avatar
      ext4: use percpu counter for extent cache count · 1ac6466f
      Theodore Ts'o authored
      Use a percpu counter rather than atomic types for shrinker accounting.
      There's no need for ultimate accuracy in the shrinker, so this
      should come a little more cheaply.  The percpu struct is somewhat
      large, but there was a big gap before the cache-aligned
      s_es_lru_lock anyway, and it fits nicely in there.
      Signed-off-by: default avatarEric Sandeen <sandeen@redhat.com>
      Signed-off-by: default avatar"Theodore Ts'o" <tytso@mit.edu>
      1ac6466f
    • Vincent's avatar
      kdb: Remove unhandled ssb command · 36dfea42
      Vincent authored
      The 'ssb' command can only be handled when we have a disassembler, to check for
      branches, so remove the 'ssb' command for now.
      Signed-off-by: default avatarVincent Stehlé <vincent.stehle@laposte.net>
      Signed-off-by: default avatarJason Wessel <jason.wessel@windriver.com>
      36dfea42
    • Jason Wessel's avatar
      kdb: Prevent kernel oops with kdb_defcmd · a37372f6
      Jason Wessel authored
      The kdb_defcmd can only be used to display the available command aliases
      while using the kernel debug shell.  If you try to define a new macro
      while the kernel debugger is active it will oops.  The debug shell
      macros must use pre-allocated memory set aside at the time kdb_init()
      is run, and the kdb_defcmd is restricted to only working at the time
      that the kdb_init sequence is being run, which only occurs if you
      actually activate the kernel debugger.
      Signed-off-by: default avatarJason Wessel <jason.wessel@windriver.com>
      a37372f6
    • Jason Wessel's avatar
      kdb: Remove the ll command · 1b2caa2d
      Jason Wessel authored
      Recently some code inspection was done after fixing a problem with
      kmalloc used while in the kernel debugger context (which is not
      legal), and it turned up the fact that kdb ll command will oops the
      kernel.
      
      Given that there have been zero bug reports on the command combined
      with the fact it will oops the kernel it is clearly not being used.
      Instead of fixing it, it will be removed.
      Signed-off-by: default avatarJason Wessel <jason.wessel@windriver.com>
      1b2caa2d
    • Jason Wessel's avatar
      kdb_main: fix help print · 074604af
      Jason Wessel authored
      The help command was chopping all the usage instructions such that
      they were not readable.
      
      Example:
      
      bta             [D|R|S|T|C|Z|E|U|I| Backtrace all processes matching state flag
      per_cpu         <sym> [<bytes>] [<c Display per_cpu variables
      
      Where as it should look like:
      
      bta             [D|R|S|T|C|Z|E|U|I|M|A]
                                          Backtrace all processes matching state flag
      per_cpu         <sym> [<bytes>] [<cpu>]
                                          Display per_cpu variables
      
      All that is needed is to check the how long the cmd_usage is and jump
      to the next line when appropriate.
      Signed-off-by: default avatarJason Wessel <jason.wessel@windriver.com>
      074604af
    • Jason Wessel's avatar
      kdb: Fix overlap in buffers with strcpy · 4eb7a66d
      Jason Wessel authored
      Maxime reported that strcpy(s->usage, s->usage+1) has no definitive
      guarantee that it will work on all archs the same way when you have
      overlapping memory.  The fix is simple for the kdb code because we
      still have the original string memory in the function scope, so we
      just have to use that as the argument instead.
      Reported-by: default avatarMaxime Villard <rustyBSD@gmx.fr>
      Signed-off-by: default avatarJason Wessel <jason.wessel@windriver.com>
      4eb7a66d
    • Robert Obermeier's avatar
      Fixed dead ifdef block by adding missing Kconfig option. · 3b0eb71e
      Robert Obermeier authored
      Added missing Kconfig option KDB_CONTINUE_CATASTROPHIC which lead to a dead
      ifdef block in kernel/debug/kdb/kdb_main.c:73-75.
      
      The code using KDB_CONTINUE_CATASTROPHIC was originally introduced in
      commit '5d5314d6' by Jason Wessel.
      This patchset ("kdb: core for kgdb back end (1 of 2)")
      added platform independent part of kdb to the linux kernel.
      
      The Kernel option however, even though it had the same options and
      behaviour on all supported architectures, was part of the x86 and
      ia64 patchset of KDB and therefore not pulled into the mainline kernel tree.
      
      I actually took the originally written Kconfig by
      Keith Owens <kaos@sgi.com> (2003-06-20 according to KDB changelog)
      and changed it to reflect the correct behaviour,
      as the KDUMP patchset is not part of the kernel and the expected
      functionality is missing from it.
      Signed-off-by: default avatarRobert Obermeier <obbi89@googlemail.com>
      Signed-off-by: default avatarJason Wessel <jason.wessel@windriver.com>
      3b0eb71e
    • Matt Klein's avatar
      kdb: Setup basic kdb state before invoking commands via kgdb · 00370b8f
      Matt Klein authored
      Although invasive kdb commands are not supported via kgdb, some useful
      non-invasive commands like bt* require basic kdb state to be setup before
      calling into the kdb code. Factor out some of this code and call it before
      and after executing kdb commands via kgdb.
      Signed-off-by: default avatarMatt Klein <mklein@twitter.com>
      Signed-off-by: default avatarJason Wessel <jason.wessel@windriver.com>
      00370b8f
    • Sasha Levin's avatar
      5f784f79
    • Tiejun Chen's avatar
      kgdb/kgdbts: support ppc64 · e78acf67
      Tiejun Chen authored
      We can't look up the address of the entry point of the function simply
      via that function symbol for all architectures.
      
      For PPC64 ABI, actually there is a function descriptors structure.
      
      A function descriptor is a three doubleword data structure that contains
      the following values:
      	* The first doubleword contains the address of the entry point of
      		the function.
      	* The second doubleword contains the TOC base address for
      		the function.
      	* The third doubleword contains the environment pointer for
      		languages such as Pascal and PL/1.
      
      So we should call a wapperred dereference_function_descriptor() to get
      the address of the entry point of the function.
      
      Note this is also safe for other architecture after refer to
      "include/asm-generic/sections.h" since:
      
      dereference_function_descriptor(p) always is (p) if without arched definition.
      Signed-off-by: default avatarTiejun Chen <tiejun.chen@windriver.com>
      Signed-off-by: default avatarJason Wessel <jason.wessel@windriver.com>
      e78acf67
    • John Blackwood's avatar
      kdb: A fix for kdb command table expansion · f7c82d5a
      John Blackwood authored
      When locally adding in some additional kdb commands, I stumbled
      across an issue with the dynamic expansion of the kdb command table.
      When the number of kdb commands exceeds the size of the statically
      allocated kdb_base_commands[] array, additional space is allocated in
      the kdb_register_repeat() routine.
      
      The unused portion of the newly allocated array was not being initialized
      to zero properly and this would result in segfaults when help '?' was
      executed or when a search for a non-existing command would traverse the
      command table beyond the end of valid command entries and then attempt
      to use the non-zeroed area as actual command entries.
      Signed-off-by: default avatarJohn Blackwood <john.blackwood@ccur.com>
      Signed-off-by: default avatarJason Wessel <jason.wessel@windriver.com>
      f7c82d5a
    • Heiko Carstens's avatar
      compat: restore timerfd settime and gettime compat syscalls · 0e803baf
      Heiko Carstens authored
      Both compat syscalls got lost with 9d94b9e2 "switch timerfd compat syscalls
      to COMPAT_SYSCALL_DEFINE" because of a typo:
      COMPAT instead of CONFIG_COMPAT.
      Signed-off-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      0e803baf