17 Dec, 2013

1 commit

  • Move debugfs.* to api/fs/. We have a common tools/lib/api/ place where
    the Makefile lives and then we place the headers in subdirs.

    For example, all the fs-related stuff goes to tools/lib/api/fs/ from
    which we get libapikfs.a (acme got almost the naming he wanted :-)) and
    we link it into the tools which need it - in this case perf and
    tools/vm/page-types.

    acme:

    "Looking at the implementation, I think some tools can even link
    directly to the .o files, avoiding the .a file altogether.

    But that is just an optimization/finer granularity tools/lib/
    cherrypicking that toolers can make use of."

    Fixup documentation cleaning target while at it.

    Signed-off-by: Borislav Petkov
    Acked-by: Ingo Molnar
    Cc: Adrian Hunter
    Cc: Andi Kleen
    Cc: Arjan van de Ven
    Cc: David Ahern
    Cc: Frederic Weisbecker
    Cc: Ingo Molnar
    Cc: Jiri Olsa
    Cc: Mike Galbraith
    Cc: Namhyung Kim
    Cc: Paul Mackerras
    Cc: Pekka Enberg
    Cc: Peter Zijlstra
    Cc: Robert Richter
    Cc: Stanislav Fomichev
    Cc: Stephane Eranian
    Cc: Steven Rostedt
    Link: http://lkml.kernel.org/r/1386605664-24041-2-git-send-email-bp@alien8.de
    Signed-off-by: Arnaldo Carvalho de Melo

    Borislav Petkov
     

16 Dec, 2013

10 commits

  • …/acme/linux into perf/core

    Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo:

    Fixes:

    * Fix inverted error verification bug in thread__fork, from David Ahern.

    New features:

    * Shell completion for 'perf kvm', from Ramkumar Ramachandra.

    Refactorings:

    * Get rid of panic() like calls in libtraceevent, from Namyung Kim.

    * Start carving out symbol parsing routines from perf, just moving routines to
    topic files in tools/lib/symbol/, tools that want to use it need to integrate
    it directly, i.e. no tools/lib/symbol/Makefile is provided.

    * Assorted refactoring patches, moving code around and adding
    utility evlist methods that will be used in the IPT patchset,
    from Adrian Hunter.

    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    Signed-off-by: Ingo Molnar <mingo@kernel.org>

    Ingo Molnar
     
  • Merge Linux 3.13-rc4, to refresh this branch with the latest fixes.

    Signed-off-by: Ingo Molnar

    Ingo Molnar
     
  • Linus Torvalds
     
  • For NUMA systems, initializing the blk-mq layer and using per node hctx.
    We initialize submit queues to 1, while blk-mq nr_hw_queues is
    initialized to the number of NUMA nodes.

    This makes the null_init_hctx function overwrite memory outside of what
    it allocated. In my case it lead to writing garbage into struct
    request_queue's mq_map.

    Signed-off-by: Matias Bjorling
    Cc: Jens Axboe
    Signed-off-by: Linus Torvalds

    Matias Bjorling
     
  • Since commit ec39f64bba34 ("drm/radeon/dpm: Convert to use
    devm_hwmon_register_with_groups") radeon_hwmon_init() is using
    hwmon_device_register_with_groups(), which sets `rdev' as a device
    private driver_data, while hwmon_attributes_visible() and
    radeon_hwmon_show_temp_thresh() are still waiting for `drm_device'.

    Fix them by using dev_get_drvdata(), in order to avoid this oops:

    BUG: unable to handle kernel paging request at 0000000000001e28
    IP: [] hwmon_attributes_visible+0x18/0x3d [radeon]
    PGD 15057e067 PUD 151a8e067 PMD 0
    Oops: 0000 [#1] PREEMPT SMP
    Call Trace:
    internal_create_group+0x114/0x1d9
    sysfs_create_group+0xe/0x10
    sysfs_create_groups+0x22/0x5f
    device_add+0x34f/0x501
    device_register+0x15/0x18
    hwmon_device_register_with_groups+0xb5/0xed
    radeon_hwmon_init+0x56/0x7c [radeon]
    radeon_pm_init+0x134/0x7e5 [radeon]
    radeon_modeset_init+0x75f/0x8ed [radeon]
    radeon_driver_load_kms+0xc6/0x187 [radeon]
    drm_dev_register+0xf9/0x1b4 [drm]
    drm_get_pci_dev+0x98/0x129 [drm]
    radeon_pci_probe+0xa3/0xac [radeon]
    pci_device_probe+0x6e/0xcf
    driver_probe_device+0x98/0x1c4
    __driver_attach+0x5c/0x7e
    bus_for_each_dev+0x7b/0x85
    driver_attach+0x19/0x1b
    bus_add_driver+0x104/0x1ce
    driver_register+0x89/0xc5
    __pci_register_driver+0x58/0x5b
    drm_pci_init+0x86/0xea [drm]
    radeon_init+0x97/0x1000 [radeon]
    do_one_initcall+0x7f/0x117
    load_module+0x1583/0x1bb4
    SyS_init_module+0xa0/0xaf

    Signed-off-by: Sergey Senozhatsky
    Cc: Borislav Petkov
    Cc: Alexander Deucher
    Signed-off-by: Linus Torvalds

    Sergey Senozhatsky
     
  • Pull networking fixes from David Miller:

    1) Revert CHECKSUM_COMPLETE optimization in pskb_trim_rcsum(), I can't
    figure out why it breaks things.

    2) Fix comparison in netfilter ipset's hash_netnet4_data_equal(), it
    was basically doing "x == x", from Dave Jones.

    3) Freescale FEC driver was DMA mapping the wrong number of bytes, from
    Sebastian Siewior.

    4) Blackhole and prohibit routes in ipv6 were not doing the right thing
    because their ->input and ->output methods were not being assigned
    correctly. Now they behave properly like their ipv4 counterparts.
    From Kamala R.

    5) Several drivers advertise the NETIF_F_FRAGLIST capability, but
    really do not support this feature and will send garbage packets if
    fed fraglist SKBs. From Eric Dumazet.

    6) Fix long standing user triggerable BUG_ON over loopback in RDS
    protocol stack, from Venkat Venkatsubra.

    7) Several not so common code paths can potentially try to invoke
    packet scheduler actions that might be NULL without checking. Shore
    things up by either 1) defining a method as mandatory and erroring
    on registration if that method is NULL 2) defininig a method as
    optional and the registration function hooks up a default
    implementation when NULL is seen. From Jamal Hadi Salim.

    8) Fix fragment detection in xen-natback driver, from Paul Durrant.

    9) Kill dangling enter_memory_pressure method in cg_proto ops, from
    Eric W Biederman.

    10) SKBs that traverse namespaces should have their local_df cleared,
    from Hannes Frederic Sowa.

    11) IOCB file position is not being updated by macvtap_aio_read() and
    tun_chr_aio_read(). From Zhi Yong Wu.

    12) Don't free virtio_net netdev before releasing all of the NAPI
    instances. From Andrey Vagin.

    13) Procfs entry leak in xt_hashlimit, from Sergey Popovich.

    14) IPv6 routes that are no cached routes should not count against the
    garbage collection limits. We had this almost right, but were
    missing handling addrconf generated routes properly. From Hannes
    Frederic Sowa.

    15) fib{4,6}_rule_suppress() have to consider potentially seeing NULL
    route info when they are called, from Stefan Tomanek.

    16) TUN and MACVTAP have had truncated packet signalling for some time,
    fix from Jason Wang.

    17) Fix use after frrr in __udp4_lib_rcv(), from Eric Dumazet.

    18) xen-netback does not interpret the NAPI budget properly for TX work,
    fix from Paul Durrant.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (132 commits)
    igb: Fix for issue where values could be too high for udelay function.
    i40e: fix null dereference
    xen-netback: fix gso_prefix check
    net: make neigh_priv_len in struct net_device 16bit instead of 8bit
    drivers: net: cpsw: fix for cpsw crash when build as modules
    xen-netback: napi: don't prematurely request a tx event
    xen-netback: napi: fix abuse of budget
    sch_tbf: use do_div() for 64-bit divide
    udp: ipv4: must add synchronization in udp_sk_rx_dst_set()
    net:fec: remove duplicate lines in comment about errata ERR006358
    Revert "8390 : Replace ei_debug with msg_enable/NETIF_MSG_* feature"
    8390 : Replace ei_debug with msg_enable/NETIF_MSG_* feature
    xen-netback: make sure skb linear area covers checksum field
    net: smc91x: Fix device tree based configuration so it's usable
    udp: ipv4: fix potential use after free in udp_v4_early_demux()
    macvtap: signal truncated packets
    tun: unbreak truncated packet signalling
    net: sched: htb: fix the calculation of quantum
    net: sched: tbf: fix the calculation of max_size
    micrel: add support for KSZ8041RNLI
    ...

    Linus Torvalds
     
  • Pull x86 fixes from Peter Anvin:
    "This is a pretty small batch:

    The biggest single change is to stop using EFI time services on 32-bit
    platforms. This matches our current behavior on 64-bit platforms as
    we already had ruled them out there as being too unreliable. Turns
    out that affects 32-bit platforms, too.

    One NULL pointer fix for SGI UV.

    Two minor build fixes, one of which only affects icc and the other
    which affects icc and future versions or nonstandard default settings
    of gcc"

    * 'x86/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86, efi: Don't use (U)EFI time services on 32 bit
    x86, build, icc: Remove uninitialized_var() from compiler-intel.h
    x86/UV: Fix NULL pointer dereference in uv_flush_tlb_others() if the 'nobau' boot option is used
    x86, build: Pass in additional -mno-mmx, -mno-sse options

    Linus Torvalds
     
  • Pull PCI updates from Bjorn Helgaas:
    "PCI device hotplug
    - Move device_del() from pci_stop_dev() to pci_destroy_dev() (Rafael
    Wysocki)

    Host bridge drivers
    - Update maintainers for DesignWare, i.MX6, Armada, R-Car (Bjorn
    Helgaas)
    - mvebu: Return 'unsupported' for Interrupt Line and Interrupt Pin
    (Jason Gunthorpe)

    Miscellaneous
    - Avoid unnecessary CPU switch when calling .probe() (Alexander
    Duyck)
    - Revert "workqueue: allow work_on_cpu() to be called recursively"
    (Bjorn Helgaas)
    - Disable Bus Master only on kexec reboot (Khalid Aziz)
    - Omit PCI ID macro strings to shorten quirk names for LTO (Michal
    Marek)"

    * tag 'pci-v3.13-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci:
    MAINTAINERS: Add DesignWare, i.MX6, Armada, R-Car PCI host maintainers
    PCI: Disable Bus Master only on kexec reboot
    PCI: mvebu: Return 'unsupported' for Interrupt Line and Interrupt Pin
    PCI: Omit PCI ID macro strings to shorten quirk names
    PCI: Move device_del() from pci_stop_dev() to pci_destroy_dev()
    Revert "workqueue: allow work_on_cpu() to be called recursively"
    PCI: Avoid unnecessary CPU switch when calling driver .probe() method

    Linus Torvalds
     
  • Pull SELinux fixes from James Morris.

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security:
    selinux: process labeled IPsec TCP SYN-ACK packets properly in selinux_ip_postroute()
    selinux: look for IPsec labels on both inbound and outbound packets
    selinux: handle TCP SYN-ACK packets correctly in selinux_ip_postroute()
    selinux: handle TCP SYN-ACK packets correctly in selinux_ip_output()
    selinux: fix possible memory leak

    Linus Torvalds
     
  • This reverts commit 102aefdda4d8275ce7d7100bc16c88c74272b260.

    Tom London reports that it causes sync() to hang on Fedora rawhide:

    https://bugzilla.redhat.com/show_bug.cgi?id=1033965

    and Josh Boyer bisected it down to this commit. Reverting the commit in
    the rawhide kernel fixes the problem.

    Eric Paris root-caused it to incorrect subtype matching in that commit
    breaking fuse, and has a tentative patch, but by now we're better off
    retrying this in 3.14 rather than playing with it any more.

    Reported-by: Tom London
    Bisected-by: Josh Boyer
    Acked-by: Eric Paris
    Cc: James Morris
    Cc: Anand Avati
    Cc: Paul Moore
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     

15 Dec, 2013

3 commits


14 Dec, 2013

12 commits

  • Pull ARM fixes from Russell King:
    "This resolves some further issues with the dma mask changes on ARM
    which have been found by TI and others, and also some corner cases
    with the updates to the virtual to physical address translations.

    Konstantin also found some problems with the unwinder, which now
    performs tighter verification that the stack is valid while unwinding"

    * 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm:
    ARM: fix asm/memory.h build error
    ARM: 7917/1: cacheflush: correctly limit range of memory region being flushed
    ARM: 7913/1: fix framepointer check in unwind_frame
    ARM: 7912/1: check stack pointer in get_wchan
    ARM: 7909/1: mm: Call setup_dma_zone() post early_paging_init()
    ARM: 7908/1: mm: Fix the arm_dma_limit calculation
    ARM: another fix for the DMA mapping checks

    Linus Torvalds
     
  • Pull ARC fixes from Vineet Gupta:
    "These are couple of weeks old already, but I just couldn't get them to
    you earlier.

    - couple of fixes for recently added perf code
    - build time extable sort"

    * tag 'arc-fixes-for-3.13' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc:
    ARC: [perf] Fix a few thinkos
    ARC: Add guard macro to uapi/asm/unistd.h
    ARC: extable: Enable sorting at build time

    Linus Torvalds
     
  • Pull device mapper fixes from Mike Snitzer:
    "A set of device-mapper fixes for 3.13.

    A fix for possible memory corruption during DM table load, fix a
    possible leak of snapshot space in case of a crash, fix a possible
    deadlock due to a shared workqueue in the delay target, fix to
    initialize read-only module parameters that are used to export metrics
    for dm stats and dm bufio.

    Quite a few stable fixes were identified for both the thin-
    provisioning and caching targets as a result of increased regression
    testing using the device-mapper-test-suite (dmts). The most notable
    of these are the reference counting fixes for the space map btree that
    is used by the dm-array interface -- without these the dm-cache
    metadata will leak, resulting in dm-cache devices running out of
    metadata blocks. Also, some important fixes related to the
    thin-provisioning target's transition to read-only mode on error"

    * tag 'dm-3.13-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
    dm array: fix a reference counting bug in shadow_ablock
    dm space map: disallow decrementing a reference count below zero
    dm stats: initialize read-only module parameter
    dm bufio: initialize read-only module parameters
    dm cache: actually resize cache
    dm cache: update Documentation for invalidate_cblocks's range syntax
    dm cache policy mq: fix promotions to occur as expected
    dm thin: allow pool in read-only mode to transition to read-write mode
    dm thin: re-establish read-only state when switching to fail mode
    dm thin: always fallback the pool mode if commit fails
    dm thin: switch to read-only mode if metadata space is exhausted
    dm thin: switch to read only mode if a mapping insert fails
    dm space map metadata: return on failure in sm_metadata_new_block
    dm table: fail dm_table_create on dm_round_up overflow
    dm snapshot: avoid snapshot space leak on crash
    dm delay: fix a possible deadlock due to shared workqueue

    Linus Torvalds
     
  • Pull HID fixes from Jiri Kosina:

    - Genius Gx Imperator Keyboard regression fix (missing break in case),
    by Ben Hutchings

    - duplicate sysfs entry error fix for hid-sensor-hub driver, by
    Srinivas Pandruvada

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid:
    HID: hid-sensor-hub: fix duplicate sysfs entry error
    HID: kye: Fix missing break in kye_report_fixup()

    Linus Torvalds
     
  • Jason Gunthorpe reports a build failure when ARM_PATCH_PHYS_VIRT is
    not defined:

    In file included from arch/arm/include/asm/page.h:163:0,
    from include/linux/mm_types.h:16,
    from include/linux/sched.h:24,
    from arch/arm/kernel/asm-offsets.c:13:
    arch/arm/include/asm/memory.h: In function '__virt_to_phys':
    arch/arm/include/asm/memory.h:244:40: error: 'PHYS_OFFSET' undeclared (first use in this function)
    arch/arm/include/asm/memory.h:244:40: note: each undeclared identifier is reported only once for each function it appears in
    arch/arm/include/asm/memory.h: In function '__phys_to_virt':
    arch/arm/include/asm/memory.h:249:13: error: 'PHYS_OFFSET' undeclared (first use in this function)

    Fixes: ca5a45c06cd4 ("ARM: mm: use phys_addr_t appropriately in p2v and v2p conversions")
    Tested-By: Jason Gunthorpe
    Signed-off-by: Russell King

    Russell King
     
  • Pull regulator fixes from Mark Brown:
    "A small set of driver fixes plus one larger core change which changes
    the way we check to see if we're using DT so that there aren't any
    races between deciding we're using DT and the regulator subsystem
    noticing.

    This makes the new support for substituting a dummy regulator and
    optional regulators work a lot better on DT systems since it ensures
    that we don't trigger probe deferral when we shouldn't which was
    causing bugs in clients"

    * tag 'regulator-v3.13-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator:
    regulator: pfuze100: allow misprogrammed ID
    regulator: pfuze100: Fix address of FABID
    regulator: as3722: set the correct current limit
    regulator: core: Check for DT every time we check full constraints
    regulator: core: Replace checks of have_full_constraints with a function

    Linus Torvalds
     
  • Pull regmap fixes from Mark Brown:
    "Two small changes to fix some error handling and checking (both of
    which would be quite serious if the errors trigger) plus a trivial
    documentation fix"

    * tag 'regmap-v3.13-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:
    regmap: use IS_ERR() to check clk_get() results
    regmap: make sure we unlock on failure in regmap_bulk_write
    regmap: trivial comment fix (copy'n'paste error)

    Linus Torvalds
     
  • Pull i2c fixes from Wolfram Sang:
    "Here are two simple but wanted fixes for the i2c subsystem"

    * 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
    i2c: imx: Check the return value from clk_prepare_enable()
    i2c: mux: Inherit retry count and timeout from parent for muxed bus

    Linus Torvalds
     
  • Pull MTD fixes from Brian Norris:
    "Two MTD fixes, for the pxa3xx-nand driver:

    - This driver was not ready to fully Armada 370 NAND, with
    particularly notable problems seen on flash with 2KB page sizes.
    This "compatible" entry really should have been held back until
    3.14 or later.

    - Fix a bug seen in rare cases on the error path of a failed probe
    attempt, where we free unallocated DMA resources"

    * tag 'for-linus-20131212' of git://git.infradead.org/linux-mtd:
    mtd: nand: pxa3xx: Use info->use_dma to release DMA resources
    Partially revert "mtd: nand: pxa3xx: Introduce 'marvell,armada370-nand' compatible string"

    Linus Torvalds
     
  • Pull slave-dmaengine fixes from Vinod Koul:
    "Here is the common fixes PULL for dmaengine.

    Dan has been working on fixing the build issues in bunch of drivers.
    Here we have one fixing s3c24xx-dma, along with fix from Russell on
    pl08x. Also we have Kuninori rcar dma fixes. The s3c24xx-dma which
    was added in last merge window missed updates to usage of DMA_COMPLETE
    so converting the last driver"

    * 'fixes' of git://git.infradead.org/users/vkoul/slave-dma:
    dma: fix build breakage in s3c24xx-dma
    Fix pl08x warnings
    rcar-hpbdma: initialise plane information when halted
    rcar-hpbdma: fixup channel busy check for double plane
    rcar-hpbdma: add max transfer size
    dma: mmp_pdma: add missing platform_set_drvdata() in mmp_pdma_probe()
    dmaengine: s3c24xx-dma: use DMA_COMPLETE for dma completion status

    Linus Torvalds
     
  • An old array block could have its reference count decremented below
    zero when it is being replaced in the btree by a new array block.

    The fix is to increment the old ablock's reference count just before
    inserting a new ablock into the btree.

    Signed-off-by: Joe Thornber
    Signed-off-by: Mike Snitzer
    Cc: stable@vger.kernel.org # 3.9+

    Joe Thornber
     
  • The old behaviour, returning -EINVAL if a ref_count of 0 would be
    decremented, was removed in commit f722063 ("dm space map: optimise
    sm_ll_dec and sm_ll_inc"). To fix this regression we return an error
    code from the mutator function pointer passed to sm_ll_mutate() and have
    dec_ref_count() return -EINVAL if the old ref_count is 0.

    Add a DMERR to reflect the potential seriousness of this error.

    Also, add missing dm_tm_unlock() to sm_ll_mutate()'s error path.

    With this fix the following dmts regression test now passes:
    dmtest run --suite cache -n /metadata_use_kernel/

    The next patch fixes the higher-level dm-array code that exposed this
    regression.

    Signed-off-by: Joe Thornber
    Signed-off-by: Mike Snitzer
    Cc: stable@vger.kernel.org # 3.12+

    Joe Thornber
     

13 Dec, 2013

14 commits