17 Jan, 2015

5 commits

  • ARC Linux uses the no legacy syscalls abi and corresponding uClibc headers
    statfs defines f_type to be U32 which causes perf build breakage

    http://git.uclibc.org/uClibc/tree/libc/sysdeps/linux/common-generic/bits/statfs.h

    ----------->8---------------
    CC fs/fs.o
    fs/fs.c: In function 'fs__valid_mount':
    fs/fs.c:82:24: error: comparison between signed and unsigned integer
    expressions [-Werror=sign-compare]
    else if (st_fs.f_type != magic)
    ^
    cc1: all warnings being treated as errors
    ----------->8---------------

    Signed-off-by: Alexey Brodkin
    Acked-by: Jiri Olsa
    Cc: Borislav Petkov
    Cc: Cody P Schafer
    Cc: Ingo Molnar
    Cc: Jiri Olsa
    Cc: Namhyung Kim
    Cc: Peter Zijlstra
    Cc: Vineet Gupta
    Link: http://lkml.kernel.org/r/1420888254-17504-2-git-send-email-vgupta@synopsys.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Alexey Brodkin
     
  • We need to use lib/hweight.c for that, just like we do for lib/rbtree.c,
    so tools need to link hweight.o. For now do it directly, but we need to
    have a tools/lib/lk.a or .so that collects these goodies...

    Reported-by: Jan Beulich
    Cc: Adrian Hunter
    Cc: Borislav Petkov
    Cc: David Ahern
    Cc: Don Zickus
    Cc: Frederic Weisbecker
    Cc: Jiri Olsa
    Cc: Mike Galbraith
    Cc: Namhyung Kim
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Link: http://lkml.kernel.org/n/tip-a1e91dx3apzqw5kbdt7ut21s@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     
  • When thread__init_map_groups() fails, a new thread should be removed
    from the rbtree since it's gonna be freed. Also update last match cache
    only if the function succeeded.

    Reported-by: David Ahern
    Signed-off-by: Namhyung Kim
    Acked-by: Jiri Olsa
    Cc: David Ahern
    Cc: Ingo Molnar
    Cc: Jiri Olsa
    Cc: Peter Zijlstra
    Link: http://lkml.kernel.org/r/1420763892-15535-1-git-send-email-namhyung@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Namhyung Kim
     
  • When build with 'make ARCH=x86' and dwarf unwind is on, there is a
    compiling error:

    CC /home/wn/perf/arch/x86/util/unwind-libdw.o
    CC /home/wn/perf/arch/x86/tests/regs_load.o
    arch/x86/tests/regs_load.S: Assembler messages:
    arch/x86/tests/regs_load.S:65: Error: operand type mismatch for `push'
    arch/x86/tests/regs_load.S:72: Error: operand type mismatch for `pop'
    make[1]: *** [/home/wn/perf/arch/x86/tests/regs_load.o] Error 1
    make[1]: INTERNAL: Exiting with 25 jobserver tokens available; should be 24!
    make: *** [all] Error 2
    ...

    Which is caused by incorrectly undefine macro HAVE_ARCH_X86_64_SUPPORT.
    'config/Makefile.arch' tests __x86_64__ only when 'ARCH=x86_64'.
    However, when building x86_64 kernel, ARCH=x86 is valid and commonly
    used. Build systems, such as yocto, uses x86_64 compiler with 'ARCH=x86'
    to build x86_64 perf, which causes mismatching.

    As __LP64__ is defined for x86_64 as well, we can consolidate the
    __x86_64__ check to the __LP64__ check and get rid of the IS_X86_64
    IMHO.

    (This patch is made by Namhyung Kim when replying my v1 patch:

    https://lkml.org/lkml/2015/1/7/17

    I modified the code to remove dependency on RAW_ARCH:

    https://lkml.org/lkml/2015/1/7/865

    Namhyung Kim didn't provide his SOB in his original email. I add
    mine only for my modification.)

    Signed-off-by: Namhyung Kim
    Signed-off-by: Wang Nan
    Acked-by: Jiri Olsa
    Cc: Jiri Olsa
    Cc: Li Zefan
    Cc: Ingo Molnar
    Cc: Namhyung Kim
    Link: http://lkml.kernel.org/r/1421029255-23039-1-git-send-email-wangnan0@huawei.com
    [ Namhyung provided his S-o-B on a followup to this patch thread on lkml ]
    Signed-off-by: Arnaldo Carvalho de Melo

    Namhyung Kim
     
  • When it failed to write probe commands to the probe_event file in
    debugfs, it needs to propagate the error code properly. Current code
    blindly uses the return value of the write(2) so it always uses
    -1 (-EPERM) and it might confuse users.

    Signed-off-by: Namhyung Kim
    Acked-by: Masami Hiramatsu
    Cc: David Ahern
    Cc: Ingo Molnar
    Cc: Jiri Olsa
    Cc: Masami Hiramatsu
    Cc: Peter Zijlstra
    Link: http://lkml.kernel.org/r/1420886028-15135-4-git-send-email-namhyung@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Namhyung Kim
     

16 Jan, 2015

2 commits

  • cycles:p and cycles:pp do not work on SLM since commit:

    86a04461a99f ("perf/x86: Revamp PEBS event selection")

    UOPS_RETIRED.ALL is not a PEBS capable event, so it should not be used
    to count cycle number.

    Actually SLM calls intel_pebs_aliases_core2() which uses INST_RETIRED.ANY_P
    to count the number of cycles. It's a PEBS capable event. But inv and
    cmask must be set to count cycles.

    Considering SLM allows all events as PEBS with no flags, only
    INST_RETIRED.ANY_P, inv=1, cmask=16 needs to handled specially.

    Signed-off-by: Kan Liang
    Signed-off-by: Peter Zijlstra (Intel)
    Link: http://lkml.kernel.org/r/1421084541-31639-1-git-send-email-kan.liang@intel.com
    Cc: Arnaldo Carvalho de Melo
    Cc: Linus Torvalds
    Signed-off-by: Ingo Molnar

    Kan Liang
     
  • This patch fixes a problem with the initialization of the
    sysfs_show() routine for the RAPL PMU.

    The current code was wrongly relying on the EVENT_ATTR_STR()
    macro which uses the events_sysfs_show() function in the x86
    PMU code. That function itself was relying on the x86_pmu data
    structure. Yet RAPL and the core PMU (x86_pmu) have nothing to
    do with each other. They should therefore not interact with
    each other.

    The x86_pmu structure is initialized at boot time based on
    the host CPU model. When the host CPU is not supported, the
    x86_pmu remains uninitialized and some of the callbacks it
    contains are NULL.

    The false dependency with x86_pmu could potentially cause crashes
    in case the x86_pmu is not initialized while the RAPL PMU is. This
    may, for instance, be the case in virtualized environments.

    This patch fixes the problem by using a private sysfs_show()
    routine for exporting the RAPL PMU events.

    Signed-off-by: Stephane Eranian
    Signed-off-by: Peter Zijlstra (Intel)
    Link: http://lkml.kernel.org/r/20150113225953.GA21525@thinkpad
    Cc: vincent.weaver@maine.edu
    Cc: jolsa@redhat.com
    Cc: Arnaldo Carvalho de Melo
    Cc: Linus Torvalds
    Signed-off-by: Ingo Molnar

    Stephane Eranian
     

15 Jan, 2015

16 commits

  • Pull thermal fixes from Zhang Rui:
    "Specifics:

    - bogus type qualifier fix in OF thermal code.
    - Minor fixes on imx and rcar thermal drivers.
    - Update TI SoC thermal maintainer entry.
    - Updated documentation of OF cpufreq cooling register"

    * 'thermal-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux:
    thermal: rcar: Spelling/grammar: s/drier use .../driver uses ...s/
    thermal: rcar: change type of ctemp in rcar_thermal_update_temp()
    thermal: rcar: fix ENR register value
    Documentation: thermal: document of_cpufreq_cooling_register()
    Thermal: imx: add clk disable/enable for suspend/resume
    MAINTAINERS: update ti-soc-thermal status
    MAINTAINERS: Add linux-omap to list of reviewers for TI Thermal
    thermal: of: Remove bogus type qualifier for of_thermal_get_trip_points()

    Linus Torvalds
     
  • Pull networking fixes from David Miller:

    1) Don't use uninitialized data in IPVS, from Dan Carpenter.

    2) conntrack race fixes from Pablo Neira Ayuso.

    3) Fix TX hangs with i40e, from Jesse Brandeburg.

    4) Fix budget return from poll calls in dnet and alx, from Eric
    Dumazet.

    5) Fix bugus "if (unlikely(x) < 0)" test in AF_PACKET, from Christoph
    Jaeger.

    6) Fix bug introduced by conversion to list_head in TIPC retransmit
    code, from Jon Paul Maloy.

    7) Don't use GFP_NOIO under spinlock in USB kaweth driver, from Alexey
    Khoroshilov.

    8) Fix bridge build with INET disabled, from Arnd Bergmann.

    9) Fix netlink array overrun for PROBE attributes in openvswitch, from
    Thomas Graf.

    10) Don't hold spinlock across synchronize_irq() in tg3 driver, from
    Prashant Sreedharan.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (44 commits)
    tg3: Release tp->lock before invoking synchronize_irq()
    tg3: tg3_reset_task() needs to use rtnl_lock to synchronize
    tg3: tg3_timer() should grab tp->lock before checking for tp->irq_sync
    team: avoid possible underflow of count_pending value for notify_peers and mcast_rejoin
    openvswitch: packet messages need their own probe attribtue
    i40e: adds FCoE configure option
    cxgb4vf: Fix queue allocation for 40G adapter
    netdevice: Add missing parentheses in macro
    bridge: only provide proxy ARP when CONFIG_INET is enabled
    neighbour: fix base_reachable_time(_ms) not effective immediatly when changed
    net: fec: fix MDIO bus assignement for dual fec SoC's
    xen-netfront: use different locks for Rx and Tx stats
    drivers: net: cpsw: fix multicast flush in dual emac mode
    cxgb4vf: Initialize mdio_addr before using it
    net: Corrected the comment describing the ndo operations to reflect the actual prototype for couple of operations
    usb/kaweth: use GFP_ATOMIC under spin_lock in usb_start_wait_urb()
    MAINTAINERS: add me as ibmveth maintainer
    tipc: fix bug in broadcast retransmit code
    update ip-sysctl.txt documentation (v2)
    net/at91_ether: prepare and unprepare clock
    ...

    Linus Torvalds
     
  • Prashant Sreedharan says:

    ====================
    tg3: synchronize_irq() should be called without taking locks

    v2: Added Reported-by, Tested-by fields and reference to the thread that
    reported the problem

    This series addresses the problem reported by Peter Hurley in mail thread
    https://lkml.org/lkml/2015/1/12/1082
    ====================

    Signed-off-by: David S. Miller

    David S. Miller
     
  • synchronize_irq() can sleep waiting, for pending IRQ handlers so driver
    should release the tp->lock spin lock before invoking synchronize_irq()

    Reported-by: Peter Hurley
    Tested-by: Peter Hurley
    Signed-off-by: Prashant Sreedharan
    Signed-off-by: Michael Chan
    Signed-off-by: David S. Miller

    Prashant Sreedharan
     
  • Currently tg3_reset_task() uses only tp->lock for synchronizing with code
    paths like tg3_open() etc. But since tp->lock is released before doing
    synchronize_irq(), rtnl_lock should be taken in tg3_reset_task() to
    synchronize it with other code paths.

    Reported-by: Peter Hurley
    Tested-by: Peter Hurley
    Signed-off-by: Prashant Sreedharan
    Signed-off-by: Michael Chan
    Signed-off-by: David S. Miller

    Prashant Sreedharan
     
  • This is to avoid the race between tg3_timer() and the execution paths
    which does not invoke tg3_timer_stop() and releases tp->lock before
    calling synchronize_irq()

    Reported-by: Peter Hurley
    Tested-by: Peter Hurley
    Signed-off-by: Prashant Sreedharan
    Signed-off-by: Michael Chan
    Signed-off-by: David S. Miller

    Prashant Sreedharan
     
  • Pull kvm fixes from Paolo Bonzini:
    "Two bugfixes for arm64. I will have another pull request next week,
    but otherwise things are calm"

    * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
    arm64: KVM: Fix HCR setting for 32bit guests
    arm64: KVM: Fix TLB invalidation by IPA/VMID

    Linus Torvalds
     
  • This patch is fixing a race condition that may cause setting
    count_pending to -1, which results in unwanted big bulk of arp messages
    (in case of "notify peers").

    Consider following scenario:

    count_pending == 2
    CPU0 CPU1
    team_notify_peers_work
    atomic_dec_and_test (dec count_pending to 1)
    schedule_delayed_work
    team_notify_peers
    atomic_add (adding 1 to count_pending)
    team_notify_peers_work
    atomic_dec_and_test (dec count_pending to 1)
    schedule_delayed_work
    team_notify_peers_work
    atomic_dec_and_test (dec count_pending to 0)
    schedule_delayed_work
    team_notify_peers_work
    atomic_dec_and_test (dec count_pending to -1)

    Fix this race by using atomic_dec_if_positive - that will prevent
    count_pending running under 0.

    Fixes: fc423ff00df3a1955441 ("team: add peer notification")
    Fixes: 492b200efdd20b8fcfd ("team: add support for sending multicast rejoins")
    Signed-off-by: Jiri Pirko
    Signed-off-by: Jiri Benc
    Signed-off-by: David S. Miller

    Jiri Pirko
     
  • Pull s390 fixes from Martin Schwidefsky:
    "Two small performance tweaks, the plumbing for the execveat system
    call and a couple of bug fixes"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
    s390/uprobes: fix user space PER events
    s390/bpf: Fix JMP_JGE_X (A > X) and JMP_JGT_X (A >= X)
    s390/bpf: Fix ALU_NEG (A = -A)
    s390/mm: avoid using pmd_to_page for !USE_SPLIT_PMD_PTLOCKS
    s390/timex: fix get_tod_clock_ext() inline assembly
    s390: wire up execveat syscall
    s390/kernel: use stnsm 255 instead of stosm 0
    s390/vtime: Get rid of redundant WARN_ON
    s390/zcrypt: kernel oops at insmod of the z90crypt device driver

    Linus Torvalds
     
  • User space is currently sending a OVS_FLOW_ATTR_PROBE for both flow
    and packet messages. This leads to an out-of-bounds access in
    ovs_packet_cmd_execute() because OVS_FLOW_ATTR_PROBE >
    OVS_PACKET_ATTR_MAX.

    Introduce a new OVS_PACKET_ATTR_PROBE with the same numeric value
    as OVS_FLOW_ATTR_PROBE to grow the range of accepted packet attributes
    while maintaining to be binary compatible with existing OVS binaries.

    Fixes: 05da589 ("openvswitch: Add support for OVS_FLOW_ATTR_PROBE.")
    Reported-by: Sander Eikelenboom
    Tracked-down-by: Florian Westphal
    Signed-off-by: Thomas Graf
    Reviewed-by: Jesse Gross
    Acked-by: Pravin B Shelar
    Signed-off-by: David S. Miller

    Thomas Graf
     
  • Adds FCoE config option I40E_FCOE, so that FCoE can be enabled
    as needed but otherwise have it disabled by default.

    This also eliminate multiple FCoE config checks, instead now just
    one config check for CONFIG_I40E_FCOE.

    The I40E FCoE was added with 3.17 kernel and therefore this patch
    shall be applied to stable 3.17 kernel also.

    CC:
    Signed-off-by: Vasu Dev
    Tested-by: Jim Young
    Signed-off-by: Jeff Kirsher
    Signed-off-by: David S. Miller

    Vasu Dev
     
  • Signed-off-by: Hariprasad Shenai
    Signed-off-by: David S. Miller

    Hariprasad Shenai
     
  • Pull file locking fix from Jeff Layton:
    "Just a simple bugfix for a regression that I introduced into v3.18
    with the internal lease API overhaul -- mea culpa. Kudos to Linda and
    Neil for tracking this down and fixing it"

    * tag 'locks-v3.19-1' of git://git.samba.org/jlayton/linux:
    locks: fix NULL-deref in generic_delete_lease

    Linus Torvalds
     
  • For example, one could conceivably call
    for_each_netdev_in_bond_rcu(condition ? bond1 : bond2, slave)
    and get an unexpected result.

    Signed-off-by: Benjamin Poirier
    Signed-off-by: David S. Miller

    Benjamin Poirier
     
  • Pull block layer fixes from Jens Axboe:
    "The major part is an update to the NVMe driver, fixing various issues
    around surprise removal and hung controllers. Most of that is from
    Keith, and parts are simple blk-mq fixes or exports/additions of minor
    functions to aid this effort, and parts are changes directly to the
    NVMe driver.

    Apart from the above, this contains:

    - Small blk-mq change from me, killing an unused member of the
    hardware queue structure.

    - Small fix from Ming Lei, fixing up a few drivers that didn't
    properly check for ERR_PTR() returns from blk_mq_init_queue()"

    * 'for-linus' of git://git.kernel.dk/linux-block:
    NVMe: Fix locking on abort handling
    NVMe: Start and stop h/w queues on reset
    NVMe: Command abort handling fixes
    NVMe: Admin queue removal handling
    NVMe: Reference count admin queue usage
    NVMe: Start all requests
    blk-mq: End unstarted requests on a dying queue
    blk-mq: Allow requests to never expire
    blk-mq: Add helper to abort requeued requests
    blk-mq: Let drivers cancel requeue_work
    blk-mq: Export if requests were started
    blk-mq: Wake tasks entering queue on dying
    blk-mq: get rid of ->cmd_size in the hardware queue
    block: fix checking return value of blk_mq_init_queue
    block: wake up waiters when a queue is marked dying
    NVMe: Fix double free irq
    blk-mq: Export freeze/unfreeze functions
    blk-mq: Exit queue on alloc failure

    Linus Torvalds
     
  • When IPV4 support is disabled, we cannot call arp_send from
    the bridge code, which would result in a kernel link error:

    net/built-in.o: In function `br_handle_frame_finish':
    :(.text+0x59914): undefined reference to `arp_send'
    :(.text+0x59a50): undefined reference to `arp_tbl'

    This makes the newly added proxy ARP support in the bridge
    code depend on the CONFIG_INET symbol and lets the compiler
    optimize the code out to avoid the link error.

    Signed-off-by: Arnd Bergmann
    Fixes: 958501163ddd ("bridge: Add support for IEEE 802.11 Proxy ARP")
    Cc: Kyeyoon Park
    Signed-off-by: David S. Miller

    Arnd Bergmann
     

14 Jan, 2015

14 commits

  • …inux-soc-thermal into thermal-soc

    Zhang Rui
     
  • When setting base_reachable_time or base_reachable_time_ms on a
    specific interface through sysctl or netlink, the reachable_time
    value is not updated.

    This means that neighbour entries will continue to be updated using the
    old value until it is recomputed in neigh_period_work (which
    recomputes the value every 300*HZ).
    On systems with HZ equal to 1000 for instance, it means 5mins before
    the change is effective.

    This patch changes this behavior by recomputing reachable_time after
    each set on base_reachable_time or base_reachable_time_ms.
    The new value will become effective the next time the neighbour's timer
    is triggered.

    Changes are made in two places: the netlink code for set and the sysctl
    handling code. For sysctl, I use a proc_handler. The ipv6 network
    code does provide its own handler but it already refreshes
    reachable_time correctly so it's not an issue.
    Any other user of neighbour which provide its own handlers must
    refresh reachable_time.

    Signed-off-by: Jean-Francois Remy
    Signed-off-by: David S. Miller

    Jean-Francois Remy
     
  • On i.MX28, the MDIO bus is shared between the two FEC instances.
    The driver makes sure that the second FEC uses the MDIO bus of the
    first FEC. This is done conditionally if FEC_QUIRK_ENET_MAC is set.
    However, in newer designs, such as Vybrid or i.MX6SX, each FEC MAC
    has its own MDIO bus. Simply removing the quirk FEC_QUIRK_ENET_MAC
    is not an option since other logic, triggered by this quirk, is
    still needed.

    Furthermore, there are board designs which use the same MDIO bus
    for both PHY's even though the second bus would be available on the
    SoC side. Such layout are popular since it saves pins on SoC side.
    Due to the above quirk, those boards currently do work fine. The
    boards in the mainline tree with such a layout are:
    - Freescale Vybrid Tower with TWR-SER2 (vf610-twr.dts)
    - Freescale i.MX6 SoloX SDB Board (imx6sx-sdb.dts)

    This patch adds a new quirk FEC_QUIRK_SINGLE_MDIO for i.MX28, which
    makes sure that the MDIO bus of the first FEC is used in any case.

    However, the boards above do have a SoC with a MDIO bus for each FEC
    instance. But the PHY's are not connected in a 1:1 configuration. A
    proper device tree description is needed to allow the driver to
    figure out where to find its PHY. This patch fixes that shortcoming
    by adding a MDIO bus child node to the first FEC instance, along
    with the two PHY's on that bus, and making use of the phy-handle
    property to add a reference to the PHY's.

    Acked-by: Sascha Hauer
    Signed-off-by: Stefan Agner
    Signed-off-by: David S. Miller

    Stefan Agner
     
  • …git/cooloney/linux-leds

    Pull LED fix from Bryan Wu.

    * 'leds-fixes-for-3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/linux-leds:
    leds: netxbig: fix oops at probe time

    Linus Torvalds
     
  • Pull WRITE_ONCE argument order change from Christian Borntraeger:
    "As discussed on LKML[1] it was agreed that WRITE_ONCE(x, val) is
    better than ASSIGN_ONCE(val, x)

    Lets change that for 3.19 as 3.19 has no user yet, but the first users
    will hit linux-next soon"

    [1] http://marc.info/?l=linux-kernel&m=142081181707596

    * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/borntraeger/linux:
    kernel: Change ASSIGN_ONCE(val, x) to WRITE_ONCE(x, val)

    Linus Torvalds
     
  • In netfront the Rx and Tx path are independent and use different
    locks. The Tx lock is held with hard irqs disabled, but Rx lock is
    held with only BH disabled. Since both sides use the same stats lock,
    a deadlock may occur.

    [ INFO: possible irq lock inversion dependency detected ]
    3.16.2 #16 Not tainted
    ---------------------------------------------------------
    swapper/0/0 just changed the state of lock:
    (&(&queue->tx_lock)->rlock){-.....}, at: []
    xennet_tx_interrupt+0x14/0x34
    but this lock took another, HARDIRQ-unsafe lock in the past:
    (&stat->syncp.seq#2){+.-...}
    and interrupts could create inverse lock ordering between them.
    other info that might help us debug this:
    Possible interrupt unsafe locking scenario:

    CPU0 CPU1
    ---- ----
    lock(&stat->syncp.seq#2);
    local_irq_disable();
    lock(&(&queue->tx_lock)->rlock);
    lock(&stat->syncp.seq#2);

    lock(&(&queue->tx_lock)->rlock);

    Using separate locks for the Rx and Tx stats fixes this deadlock.

    Reported-by: Dmitry Piotrovsky
    Signed-off-by: David Vrabel
    Signed-off-by: David S. Miller

    David Vrabel
     
  • Since ALE table is a common resource for both the interfaces in Dual EMAC
    mode and while bringing up the second interface in cpsw_ndo_set_rx_mode()
    all the multicast entries added by the first interface is flushed out and
    only second interface multicast addresses are added. Fixing this by
    flushing multicast addresses based on dual EMAC port vlans which will not
    affect the other emac port multicast addresses.

    Fixes: d9ba8f9 (driver: net: ethernet: cpsw: dual emac interface implementation)
    Cc: # v3.9+
    Signed-off-by: Mugunthan V N
    Signed-off-by: David S. Miller

    Mugunthan V N
     
  • This patch fixes a NULL pointer dereference on led_dat->mode_val. Due to
    this bug, a kernel oops can be observed at probe time on the LaCie 2Big
    and 5Big v2 boards:

    Unable to handle kernel NULL pointer dereference at virtual address 00000008
    [...]
    [] (netxbig_led_probe) from [] (platform_drv_probe+0x4c/0x9c)
    [] (platform_drv_probe) from [] (driver_probe_device+0x98/0x25c)
    [] (driver_probe_device) from [] (__driver_attach+0x8c/0x90)
    [] (__driver_attach) from [] (bus_for_each_dev+0x68/0x94)
    [] (bus_for_each_dev) from [] (bus_add_driver+0x124/0x1dc)
    [] (bus_add_driver) from [] (driver_register+0x78/0xf8)
    [] (driver_register) from [] (do_one_initcall+0x80/0x1cc)
    [] (do_one_initcall) from [] (kernel_init_freeable+0xe4/0x1b4)
    [] (kernel_init_freeable) from [] (kernel_init+0xc/0xec)
    [] (kernel_init) from [] (ret_from_fork+0x14/0x24)
    [...]

    This bug was introduced by commit 588a6a99286ae30afb1339d8bc2163517b1b7dd1
    ("leds: netxbig: fix attribute-creation race").

    Signed-off-by: Simon Guinot
    Cc: # 3.17+
    Acked-by: Johan Hovold
    Signed-off-by: Bryan Wu

    Simon Guinot
     
  • In commit 5ad24def21b205a8 ("cxgb4vf: Fix ethtool get_settings for VF driver")
    mdio_addr of port_info structure was used unininitialzed. Fixing it.

    Signed-off-by: Hariprasad Shenai
    Signed-off-by: David S. Miller

    Hariprasad Shenai
     
  • Feedback has shown that WRITE_ONCE(x, val) is easier to use than
    ASSIGN_ONCE(val,x).
    There are no in-tree users yet, so lets change it for 3.19.

    Signed-off-by: Christian Borntraeger
    Acked-by: Peter Zijlstra
    Acked-by: Davidlohr Bueso
    Acked-by: Paul E. McKenney

    Christian Borntraeger
     
  • …el/git/shuah/linux-kselftest

    Pull kselftest fixes from Shuah Khan:
    "This update contains three patches to fix one compile error, and two
    run-time bugs. One of them fixes infinite loop on ARM"

    * tag 'linux-kselftest-3.19-rc-5' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest:
    selftests/vm: fix link error for transhuge-stress test
    tools: testing: selftests: mq_perf_tests: Fix infinite loop on ARM
    selftests/exec: allow shell return code of 126

    Linus Torvalds
     
  • Pull xen bug fixes from David Vrabel:
    "Several critical linear p2m fixes that prevented some hosts from
    booting"

    * tag 'stable/for-linus-3.19-rc4-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
    x86/xen: properly retrieve NMI reason
    xen: check for zero sized area when invalidating memory
    xen: use correct type for physical addresses
    xen: correct race in alloc_p2m_pmd()
    xen: correct error for building p2m list on 32 bits
    x86/xen: avoid freeing static 'name' when kasprintf() fails
    x86/xen: add extra memory for remapped frames during setup
    x86/xen: don't count how many PFNs are identity mapped
    x86/xen: Free bootmem in free_p2m_page() during early boot
    x86/xen: Remove unnecessary BUG_ON(preemptible()) in xen_setup_timer()

    Linus Torvalds
     
  • …rototype for couple of operations

    Corrected the comment describing the ndo operations to
    reflect the actual prototype for couple of operations

    Signed-off-by: B Viswanath <marichika4@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

    B Viswanath
     
  • Pull thermal management fixes from Zhang Rui:
    "Specifics:

    - Fix a problem that Intel SoC DTS thermal driver does not work when
    CONFIG_THERMAL_INT340X is not set.

    - Fix a NULL pointer dereference when processor_thermal_device driver
    is loaded on a platform without ACPI support"

    * 'for-rc' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux:
    int340x_thermal/processor_thermal_device: return failure when
    ACPI/int340x_thermal: enumerate INT3401 for Intel SoC DTS thermal driver
    ACPI/int340x_thermal: enumerate INT340X devices even if they're not in _ART/_TRT

    Linus Torvalds
     

13 Jan, 2015

3 commits

  • commit 0efaa7e82f02fe69c05ad28e905f31fc86e6f08e
    locks: generic_delete_lease doesn't need a file_lock at all

    moves the call to fl->fl_lmops->lm_change() to a place in the
    code where fl might be a non-lease lock.
    When that happens, fl_lmops is NULL and an Oops ensures.

    So add an extra test to restore correct functioning.

    Reported-by: Linda Walsh
    Link: https://bugzilla.suse.com/show_bug.cgi?id=912569
    Cc: stable@vger.kernel.org (v3.18)
    Fixes: 0efaa7e82f02fe69c05ad28e905f31fc86e6f08e
    Signed-off-by: NeilBrown
    Signed-off-by: Jeff Layton

    NeilBrown
     
  • Using the native code here can't work properly, as the hypervisor would
    normally have cleared the two reason bits by the time Dom0 gets to see
    the NMI (if passed to it at all). There's a shared info field for this,
    and there's an existing hook to use - just fit the two together. This
    is particularly relevant so that NMIs intended to be handled by APEI /
    GHES actually make it to the respective handler.

    Note that the hook can (and should) be used irrespective of whether
    being in Dom0, as accessing port 0x61 in a DomU would be even worse,
    while the shared info field would just hold zero all the time. Note
    further that hardware NMI handling for PVH doesn't currently work
    anyway due to missing code in the hypervisor (but it is expected to
    work the native rather than the PV way).

    Signed-off-by: Jan Beulich
    Reviewed-by: Boris Ostrovsky
    Signed-off-by: David Vrabel

    Jan Beulich
     
  • Pull gpio fixes from Linus Walleij:
    "Here are some GPIO fixes, mainly affecting the DLN2 IRQ handling.
    Nothing special about them, just fixes:

    - Three patches fixing IRQ handling for the DLN2
    - Null pointer handling for grgpio"

    * tag 'gpio-v3.19-3' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio:
    gpio: dln2: use bus_sync_unlock instead of scheduling work
    gpio: grgpio: Avoid potential NULL pointer dereference
    gpio: dln2: Fix gpio output value in dln2_gpio_direction_output()
    gpio: dln2: fix issue when an IRQ is unmasked then enabled

    Linus Torvalds