01 Oct, 2015

1 commit

  • As reported by Dmitry Vyukov, we really shouldn't do ipc_addid() before
    having initialized the IPC object state. Yes, we initialize the IPC
    object in a locked state, but with all the lockless RCU lookup work,
    that IPC object lock no longer means that the state cannot be seen.

    We already did this for the IPC semaphore code (see commit e8577d1f0329:
    "ipc/sem.c: fully initialize sem_array before making it visible") but we
    clearly forgot about msg and shm.

    Reported-by: Dmitry Vyukov
    Cc: Manfred Spraul
    Cc: Davidlohr Bueso
    Cc: stable@vger.kernel.org
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     

29 Sep, 2015

1 commit


28 Sep, 2015

5 commits

  • When building with allmodconfig the build was failing with the error:

    arch/tile/kernel/usb.c:70:1: warning: data definition has no type or storage class [enabled by default]
    arch/tile/kernel/usb.c:70:1: error: type defaults to 'int' in declaration of 'arch_initcall' [-Werror=implicit-int]
    arch/tile/kernel/usb.c:70:1: warning: parameter names (without types) in function declaration [enabled by default]
    arch/tile/kernel/usb.c:63:19: warning: 'tilegx_usb_init' defined but not used [-Wunused-function]

    Include linux/module.h to resolve the build failure.

    Signed-off-by: Sudip Mukherjee
    Signed-off-by: Chris Metcalf

    Sudip Mukherjee
     
  • Pull MIPS fixes from Ralf Baechle:
    - Properly setup irq handling for ATH79 platforms
    - Fix bootmem mapstart calculation for contiguous maps
    - Handle little endian and older CPUs correct in BPF
    - Fix console for Fulong 2E systems
    - Handle FTLB correctly on R6 CPUs
    - Fixes for CM, GIC and MAAR support code

    * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus:
    MIPS: Initialise MAARs on secondary CPUs
    MIPS: print MAAR configuration during boot
    MIPS: mm: compile maar_init unconditionally
    irqchip: mips-gic: Fix pending & mask reads for MIPS64 with 32b GIC.
    irqchip: mips-gic: Convert CPU numbers to VP IDs.
    MIPS: CM: Provide a function to map from CPU to VP ID.
    MIPS: Fix FTLB detection for R6
    MIPS: cpu-features: Add cpu_has_ftlb
    MIPS: ATH79: Add irq chip ar7240-misc-intc
    MIPS: ATH79: Set missing irq ack handler for ar7100-misc-intc irq chip
    MIPS: BPF: Fix build on pre-R2 little endian CPUs
    MIPS: BPF: Avoid unreachable code on little endian
    MIPS: bootmem: Fix mapstart calculation for contiguous maps
    MIPS: Fix console output for Fulong2e system

    Linus Torvalds
     
  • Pull perf fixes from Thomas Gleixner:
    "Another pile of fixes for perf:

    - Plug overflows and races in the core code

    - Sanitize the flow of the perf syscall so we error out before
    handling the more complex and hard to undo setups

    - Improve and fix Broadwell and Skylake hardware support

    - Revert a fix which broke what it tried to fix in perf tools

    - A couple of smaller fixes in various places of perf tools"

    * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    perf tools: Fix copying of /proc/kcore
    perf intel-pt: Remove no_force_psb from documentation
    perf probe: Use existing routine to look for a kernel module by dso->short_name
    perf/x86: Change test_aperfmperf() and test_intel() to static
    tools lib traceevent: Fix string handling in heterogeneous arch environments
    perf record: Avoid infinite loop at buildid processing with no samples
    perf: Fix races in computing the header sizes
    perf: Fix u16 overflows
    perf: Restructure perf syscall point of no return
    perf/x86/intel: Fix Skylake FRONTEND MSR extrareg mask
    perf/x86/intel/pebs: Add PEBS frontend profiling for Skylake
    perf/x86/intel: Make the CYCLE_ACTIVITY.* constraint on Broadwell more specific
    perf tools: Bool functions shouldn't return -1
    tools build: Add test for presence of __get_cpuid() gcc builtin
    tools build: Add test for presence of numa_num_possible_cpus() in libnuma
    Revert "perf symbols: Fix mismatched declarations for elf_getphdrnum"
    perf stat: Fix per-pkg event reporting bug

    Linus Torvalds
     
  • Pull scheduler fix from Thomas Gleixner:
    "A single bug fix for the scheduler to prevent dequeueing of the idle
    task when setting the cpus allowed mask"

    * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    sched: Fix crash trying to dequeue/enqueue the idle thread

    Linus Torvalds
     
  • Pull locking fix from Thomas Gleixner:
    "A single bugfix for lockdep to preserve the pinning counter when
    rebuilding the lock stack"

    * 'locking-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    locking/lockdep: Fix hlock->pin_count reset on lock stack rebuilds

    Linus Torvalds
     

27 Sep, 2015

21 commits

  • MAARs should be initialised on each CPU (or rather, core) in the system
    in order to achieve consistent behaviour & performance. Previously they
    have only been initialised on the boot CPU which leads to performance
    problems if tasks are later scheduled on a secondary CPU, particularly
    if those tasks make use of unaligned vector accesses where some CPUs
    don't handle any cases in hardware for non-speculative memory regions.
    Fix this by recording the MAAR configuration from the boot CPU and
    applying it to secondary CPUs as part of their bringup.

    Reported-by: Doug Gilmore
    Signed-off-by: Paul Burton
    Cc: linux-mips@linux-mips.org
    Cc: Rusty Russell
    Cc: Steven J. Hill
    Cc: Andrew Bresticker
    Cc: Bjorn Helgaas
    Cc: David Hildenbrand
    Cc: linux-kernel@vger.kernel.org
    Cc: Aaro Koskinen
    Cc: James Hogan
    Cc: Ingo Molnar
    Cc: Markos Chandras
    Cc: Hemmo Nieminen
    Cc: Alex Smith
    Cc: Peter Zijlstra (Intel)
    Patchwork: https://patchwork.linux-mips.org/patch/11239/
    Signed-off-by: Ralf Baechle

    Paul Burton
     
  • Verifying that the MAAR configuration is as expected is useful when
    debugging the performance of a system. Print out the memory regions
    configured via MAAR along with their attributes.

    Signed-off-by: Paul Burton
    Cc: linux-mips@linux-mips.org
    Cc: Steven J. Hill
    Cc: David Hildenbrand
    Cc: linux-kernel@vger.kernel.org
    Cc: Peter Zijlstra (Intel)
    Patchwork: https://patchwork.linux-mips.org/patch/11238/
    Signed-off-by: Ralf Baechle

    Paul Burton
     
  • maar_init was previously only compiled when CONFIG_NEED_MULTIPLE_NODES
    was not set, which has been fine since it is only called from the
    standard implementation of mem_init which has the same condition. In
    preparation for calling it from the SMP startup code on secondary CPUs,
    move maar_init outside of the #ifndef such that it is always compiled.

    Signed-off-by: Paul Burton
    Cc: Markos Chandras
    Cc: linux-mips@linux-mips.org
    Cc: Steven J. Hill
    Cc: David Hildenbrand
    Cc: linux-kernel@vger.kernel.org
    Cc: Ingo Molnar
    Patchwork: https://patchwork.linux-mips.org/patch/11237/
    Signed-off-by: Ralf Baechle

    Paul Burton
     
  • gic_handle_shared_int reads the GIC interrupt pending & mask registers
    directly into a bitmap, which is defined as an array of unsigned longs.
    The GIC pending registers may be 32 bits wide if the CM is older than
    CM3, regardless of the bit width of the CPU, but for MIPS64 kernels
    the unsigned longs in the bitmap will be 64 bits wide. In this case we
    need to perform 2 x 32 bit reads per 64 bit unsigned long in order to
    avoid missing interrupts.

    Signed-off-by: Paul Burton
    Acked-by: Thomas Gleixner
    Cc: linux-mips@linux-mips.org
    Cc: Marc Zyngier
    Cc: Jason Cooper
    Cc: linux-kernel@vger.kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/11213/
    Signed-off-by: Ralf Baechle

    Paul Burton
     
  • Make use of the mips_cm_vp_id function to convert from Linux CPU numbers
    to the VP IDs used by hardware, which are not identical in all systems.
    Without doing so we map interrupts to incorrect VP(E)s.

    Signed-off-by: Paul Burton
    Acked-by: Thomas Gleixner
    Cc: linux-mips@linux-mips.org
    Cc: Paul Burton
    Cc: Marc Zyngier
    Cc: Jason Cooper
    Cc: linux-kernel@vger.kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/11212/
    Signed-off-by: Ralf Baechle

    Paul Burton
     
  • The VP ID of a given CPU may not match up with the CPU number used by
    Linux. For example, if the width of the VP part of the VP ID is wider
    than log2(number of VPs per core) and the system has multiple cores then
    this will be the case. Alternatively, if a pre-r6 system implements the
    MT ASE with multiple VPEs per core and Linux is built without support
    for the MT ASE then the numbers won't match up either. Provide a
    function to convert from CPU number to VP ID.

    Signed-off-by: Paul Burton
    Acked-by: Thomas Gleixner
    Cc: linux-mips@linux-mips.org
    Cc: linux-kernel@vger.kernel.org
    Cc: James Hogan
    Cc: Markos Chandras
    Patchwork: https://patchwork.linux-mips.org/patch/11211/
    Signed-off-by: Ralf Baechle

    Paul Burton
     
  • Linus Torvalds
     
  • Pull x86 fixes from Thomas Gleixner:
    "Two bugfixes from Andy addressing at least some of the subtle NMI
    related wreckage which has been reported by Sasha Levin"

    * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/nmi/64: Fix a paravirt stack-clobbering bug in the NMI code
    x86/paravirt: Replace the paravirt nop with a bona fide empty function

    Linus Torvalds
     
  • Pull irq fix from Thomass Gleixner:
    "A bugfix for the atmel aic5 irq chip driver which caches the wrong
    data and thereby breaking resume"

    * 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    irqchip/atmel-aic5: Use per chip mask caches in mask/unmask()

    Linus Torvalds
     
  • Pull ARM fixes from Russell King:
    "Just two fixes: wire up the new system calls added during the last
    merge window, and fix another user access site"

    * 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm:
    ARM: alignment: fix alignment handling for uaccess changes
    ARM: wire up new syscalls

    Linus Torvalds
     
  • Pull ARM SoC fixes from Olof Johansson:
    "Our first real batch of fixes this release cycle. Nothing really
    concerning, and diffstat is a bit inflated due to some DT contents
    moving around on STi platforms.

    There's a collection of them here:

    - A fixup for a build breakage that hits on arm64 allmodconfig in
    QCOM SCM firmware drivers
    - MMC fixes for OMAP that had quite a bit of breakage this merge
    window.
    - Misc build/warning fixes on PXA and OMAP
    - A couple of minor fixes for Beagleboard X15 which is now starting
    to see a few more users in the wild"

    * tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (31 commits)
    ARM: sti: dt: adapt DT to fix probe/bind issues in DRM driver
    ARM: dts: fix omap2+ address translation for pbias
    firmware: qcom: scm: Add function stubs for ARM64
    ARM: dts: am57xx-beagle-x15: use palmas-usb for USB2
    ARM: omap2plus_defconfig: enable GPIO_PCA953X
    ARM: dts: omap5-uevm.dts: fix i2c5 pinctrl offsets
    ARM: OMAP2+: AM43XX: Enable autoidle for clks in am43xx_init_late
    ARM: dts: am57xx-beagle-x15: Update Phy supplies
    ARM: pxa: balloon3: Fix build error
    ARM: dts: Fixup model name for HP t410 dts
    ARM: dts: DRA7: fix a typo in ethernet
    ARM: omap2plus_defconfig: make PCF857x built-in
    ARM: dts: Use ti,pbias compatible string for pbias
    ARM: OMAP5: Cleanup options for SoC only build
    ARM: DRA7: Select missing options for SoC only build
    ARM: OMAP2+: board-generic: Remove stale of_irq macros
    ARM: OMAP4+: PM: erratum is used by OMAP5 and DRA7 as well
    ARM: dts: omap3-igep: Move eth IRQ pinmux to IGEPv2 common dtsi
    ARM: dts: am57xx-beagle-x15: Add wakeup irq for mcp79410
    ARM: dts: am335x-phycore-som: Fix mpu voltage
    ...

    Linus Torvalds
     
  • Pull CIFS fixes from Steve French:
    "Four fixes from testing at the recent SMB3 Plugfest including two
    important authentication ones (one fixes authentication problems to
    some popular servers when clock times differ more than two hours
    between systems, the other fixes Kerberos authentication for SMB3)"

    * 'for-next' of git://git.samba.org/sfrench/cifs-2.6:
    fix encryption error checks on mount
    [SMB3] Fix sec=krb5 on smb3 mounts
    cifs: use server timestamp for ntlmv2 authentication
    disabling oplocks/leases via module parm enable_oplocks broken for SMB3

    Linus Torvalds
     
  • ARM: pxa: fixes for v4.3

    These fixes are mainly regression fixes triggered by irq changes,
    common clock framework introduction and sound side-effect of
    other platforms.

    * tag 'pxa-fixes-v4.3' of https://github.com/rjarzmik/linux:
    ARM: pxa: balloon3: Fix build error
    ARM: pxa: ssp: Fix build error by removing originally incorrect DT binding
    ARM: pxa: fix DFI bus lockups on startup

    Signed-off-by: Olof Johansson

    Olof Johansson
     
  • …/git/tmlind/linux-omap into fixes

    Fixes for omaps for v4.3-rc cycle:

    - Two more patches to fix most of the MMC regressions with the
    PBIAS regulator changes. At least two MMC driver related issues
    still seems to remain for omap3 legacy booting and omap4 duovero.
    Note that the dts changes depend on a recent regulator fix, and
    are based on the regulator commit now in mainline kernel

    - Enable autoidle for am43xx clocks to prevent clocks from staying
    always on

    - Fix i2c5 pinctrl offsets for omap5-uevm

    - Enable PCA953X as that's needed for HDMI to work on omap5

    - Update phy supplies for beagle x15 beta board

    - Use palmas-usb for on beagle x15 to start using the related
    driver that recently got merged

    * tag 'omap-for-v4.3/fixes-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
    ARM: dts: fix omap2+ address translation for pbias
    ARM: dts: am57xx-beagle-x15: use palmas-usb for USB2
    ARM: omap2plus_defconfig: enable GPIO_PCA953X
    ARM: dts: omap5-uevm.dts: fix i2c5 pinctrl offsets
    ARM: OMAP2+: AM43XX: Enable autoidle for clks in am43xx_init_late
    ARM: dts: am57xx-beagle-x15: Update Phy supplies
    regulator: pbias: program pbias register offset in pbias driver
    ARM: omap2plus_defconfig: Enable MUSB DMA support
    ARM: DRA752: Add ID detect for ES2.0
    ARM: OMAP3: vc: fix 'or' always true warning
    ARM: OMAP2+: Fix booting if no timer parent clock is available
    ARM: OMAP2+: omap-device: fix race deferred probe of omap_hsmmc vs omap_device_late_init

    Signed-off-by: Olof Johansson <olof@lixom.net>

    Olof Johansson
     
  • Pull crypto fixes from Herbert Xu:
    "This fixes the following issues:

    - check the return value of platform_get_irq as signed int in xgene.

    - skip adf_dev_restore on virtual functions in qat.

    - fix double-free with backlogged requests in marvell_cesa"

    * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
    hwrng: xgene - fix handling platform_get_irq
    crypto: qat - VF should never trigger SBR on PH
    crypto: marvell - properly handle CRYPTO_TFM_REQ_MAY_BACKLOG-flagged requests

    Linus Torvalds
     
  • Pull SCSI target fixes from Nicholas Bellinger:
    "This includes a iser-target series from Jenny + Sagi @ Mellanox that
    addresses the few remaining active I/O shutdown bugs, along with a
    patch to support zero-copy for immediate data payloads that gives a
    nice performance improvement for small block WRITEs.

    Also included are some recent >= v4.2 regression bug-fixes. The most
    notable is a RCU conversion regression for SPC-3 PR registrations, and
    recent removal of obsolete RFC-3720 markers that introduced a login
    regression bug with MSFT iSCSI initiators.

    Thanks to everyone who has been testing + reporting bugs for v4.x"

    * git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending:
    iscsi-target: Avoid OFMarker + IFMarker negotiation
    target: Make TCM_WRITE_PROTECT failure honor D_SENSE bit
    target: Fix target_sense_desc_format NULL pointer dereference
    target: Propigate backend read-only to core_tpg_add_lun
    target: Fix PR registration + APTPL RCU conversion regression
    iser-target: Skip data copy if all the command data comes as immediate
    iser-target: Change the recv buffers posting logic
    iser-target: Fix pending connections handling in target stack shutdown sequnce
    iser-target: Remove np_ prefix from isert_np members
    iser-target: Remove unused variables
    iser-target: Put the reference on commands waiting for unsol data
    iser-target: remove command with state ISTATE_REMOVE

    Linus Torvalds
     
  • Pull USB fixes from Greg KH:
    "Here are some USB driver fixes for 4.3-rc3.

    There's the usual assortment of new device ids, combined with xhci and
    gadget driver fixes. Full details in the shortlog. All of these have
    been in linux-next with no reported problems"

    * tag 'usb-4.3-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (34 commits)
    MAINTAINERS: remove amd5536udc USB gadget driver maintainer
    USB: whiteheat: fix potential null-deref at probe
    xhci: init command timeout timer earlier to avoid deleting it uninitialized
    xhci: change xhci 1.0 only restrictions to support xhci 1.1
    usb: xhci: exit early in xhci_setup_device() if we're halted or dying
    usb: xhci: stop everything on the first call to xhci_stop
    usb: xhci: Clear XHCI_STATE_DYING on start
    usb: xhci: lock mutex on xhci_stop
    xhci: Move xhci_pme_quirk() behind #ifdef CONFIG_PM
    xhci: give command abortion one more chance before killing xhci
    usb: Use the USB_SS_MULT() macro to get the burst multiplier.
    usb: dwc3: gadget: Fix BUG in RT config
    usb: musb: fix cppi channel teardown for isoch transfer
    usb: phy: isp1301: Export I2C module alias information
    usb: gadget: drop null test before destroy functions
    usb: gadget: dummy_hcd: in transfer(), return data sent, not limit
    usb: gadget: dummy_hcd: fix rescan logic for transfer
    usb: gadget: dummy_hcd: fix unneeded else-if condition
    usb: gadget: dummy_hcd: emulate sending zlp in packet logic
    usb: musb: dsps: fix polling in device-only mode
    ...

    Linus Torvalds
     
  • Pull serial driver fix from Greg KH:
    "Here is one serial driver fix for 4.3-rc3 that resolves a module
    loading issue due to splitting up of the 8250 driver into smaller
    pieces. It's been in linux-next with no reported problems"

    * tag 'tty-4.3-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
    tty: serial: Add missing module license for 8250_base.ko

    Linus Torvalds
     
  • Pull staging driver fixes from Greg KH:
    "Here are some tiny staging driver and documentation fixes for 4.3-rc3.

    All of these resolve reported issues that people have found and have
    been in the linux-next tree for a while with no problems"

    * tag 'staging-4.3-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
    MAINTAINERS: Update email address for Martyn Welch
    staging: ion: fix corruption of ion_import_dma_buf
    staging: dgap: Remove myself from the MAINTAINERS file
    staging: most: Add dependency to HAS_IOMEM
    staging: unisys: remove reference of visorutil
    staging: unisys: visornic: handle error return from device registration
    staging: unisys: stop device registration before visorbus registration
    staging: unisys: visorbus: Unregister driver on error
    staging: unisys: visornic: Fix receive bytes statistics
    staging: unisys: unregister netdev when create debugfs fails
    staging: fbtft: replace master->setup() with spi_setup()
    staging: fbtft: fix 9-bit SPI support detection
    staging/lustre: change Lustre URLs and mailing list
    staging/android: Update ION TODO per LPC discussion
    Staging: most: MOST and MOSTCORE should depend on HAS_DMA
    staging: most: fix HDM_USB dependencies and build errors

    Linus Torvalds
     
  • Pull driver core fix from Greg KH:
    "Here is one driver core fix for 4.3-rc3 that resolves a reported oops"

    * tag 'driver-core-4.3-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:
    cpu/cacheinfo: Fix teardown path

    Linus Torvalds
     
  • Pull char/misc driver fixes from Greg KH:
    "Here's some tiny char and misc driver fixes that resolve some reported
    errors for 4.3-rc3.

    All of these have been in linux-next with no problems for a while"

    * tag 'char-misc-4.3-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
    extcon: Fix attached value returned by is_extcon_changed
    Drivers: hv: vmbus: fix init_vp_index() for reloading hv_netvsc
    mei: fix debugfs files leak on error path
    thunderbolt: Allow loading of module on recent Apple MacBooks with thunderbolt 2 controller

    Linus Torvalds
     

26 Sep, 2015

12 commits

  • Pull networking fixes from David Miller:

    1) When we run a tap on netlink sockets, we have to copy mmap'd SKBs
    instead of cloning them. From Daniel Borkmann.

    2) When converting classical BPF into eBPF, fix the setting of the
    source reg to BPF_REG_X. From Tycho Andersen.

    3) Fix igmpv3/mldv2 report parsing in the bridge multicast code, from
    Linus Lussing.

    4) Fix dst refcounting for ipv6 tunnels, from Martin KaFai Lau.

    5) Set NLM_F_REPLACE flag properly when replacing ipv6 routes, from
    Roopa Prabhu.

    6) Add some new cxgb4 PCI device IDs, from Hariprasad Shenai.

    7) Fix headroom tests and SKB leaks in ipv6 fragmentation code, from
    Florian Westphal.

    8) Check DMA mapping errors in bna driver, from Ivan Vecera.

    9) Several 8139cp bug fixes (dev_kfree_skb_any in interrupt context,
    misclearing of interrupt status in TX timeout handler, etc.) from
    David Woodhouse.

    10) In tipc, reset SKB header pointer after skb_linearize(), from Erik
    Hugne.

    11) Fix autobind races et al. in netlink code, from Herbert Xu with
    help from Tejun Heo and others.

    12) Missing SET_NETDEV_DEV in sunvnet driver, from Sowmini Varadhan.

    13) Fix various races in timewait timer and reqsk_queue_hadh_req, from
    Eric Dumazet.

    14) Fix array overruns in mac80211, from Johannes Berg and Dan
    Carpenter.

    15) Fix data race in rhashtable_rehash_one(), from Dmitriy Vyukov.

    16) Fix race between poll_one_napi and napi_disable, from Neil Horman.

    17) Fix byte order in geneve tunnel port config, from John W Linville.

    18) Fix handling of ARP replies over lightweight tunnels, from Jiri
    Benc.

    19) We can loop when fib rule dumps cross multiple SKBs, fix from Wilson
    Kok and Roopa Prabhu.

    20) Several reference count handling bug fixes in the PHY/MDIO layer
    from Russel King.

    21) Fix lockdep splat in ppp_dev_uninit(), from Guillaume Nault.

    22) Fix crash in icmp_route_lookup(), from David Ahern.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (116 commits)
    net: Fix panic in icmp_route_lookup
    net: update docbook comment for __mdiobus_register()
    ppp: fix lockdep splat in ppp_dev_uninit()
    net: via/Kconfig: GENERIC_PCI_IOMAP required if PCI not selected
    phy: marvell: add link partner advertised modes
    net: fix net_device refcounting
    phy: add phy_device_remove()
    phy: fixed-phy: properly validate phy in fixed_phy_update_state()
    net: fix phy refcounting in a bunch of drivers
    of_mdio: fix MDIO phy device refcounting
    phy: add proper phy struct device refcounting
    phy: fix mdiobus module safety
    net: dsa: fix of_mdio_find_bus() device refcount leak
    phy: fix of_mdio_find_bus() device refcount leak
    ip6_tunnel: Reduce log level in ip6_tnl_err() to debug
    ip6_gre: Reduce log level in ip6gre_err() to debug
    fib_rules: fix fib rule dumps across multiple skbs
    bnx2x: byte swap rss_key to comply to Toeplitz specs
    net: revert "net_sched: move tp->root allocation into fw_init()"
    lwtunnel: remove source and destination UDP port config option
    ...

    Linus Torvalds
     
  • …it/acme/linux into perf/urgent

    Pull perf/urgent fixes from Arnaldo Carvalho de Melo:

    - Fix copying of /proc/kcore made to the ~/.debug/ DSO cache to allow using
    objdump with kcore files. (Adrian Hunter)

    - Fix adding perf probes in kernel module functions. (Arnaldo Carvalho de Melo)

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

    Ingo Molnar
     
  • Andrey reported a panic:

    [ 7249.865507] BUG: unable to handle kernel pointer dereference at 000000b4
    [ 7249.865559] IP: [] icmp_route_lookup+0xaa/0x320
    [ 7249.865598] *pdpt = 0000000030f7f001 *pde = 0000000000000000
    [ 7249.865637] Oops: 0000 [#1]
    ...
    [ 7249.866811] CPU: 0 PID: 0 Comm: swapper/0 Not tainted
    4.3.0-999-generic #201509220155
    [ 7249.866876] Hardware name: MSI MS-7250/MS-7250, BIOS 080014 08/02/2006
    [ 7249.866916] task: c1a5ab00 ti: c1a52000 task.ti: c1a52000
    [ 7249.866949] EIP: 0060:[] EFLAGS: 00210246 CPU: 0
    [ 7249.866981] EIP is at icmp_route_lookup+0xaa/0x320
    [ 7249.867012] EAX: 00000000 EBX: f483ba48 ECX: 00000000 EDX: f2e18a00
    [ 7249.867045] ESI: 000000c0 EDI: f483ba70 EBP: f483b9ec ESP: f483b974
    [ 7249.867077] DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068
    [ 7249.867108] CR0: 8005003b CR2: 000000b4 CR3: 36ee07c0 CR4: 000006f0
    [ 7249.867141] Stack:
    [ 7249.867165] 320310ee 00000000 00000042 320310ee 00000000 c1aeca00
    f3920240 f0c69180
    [ 7249.867268] f483ba04 f855058b a89b66cd f483ba44 f8962f4b 00000000
    e659266c f483ba54
    [ 7249.867361] 8004753c f483ba5c f8962f4b f2031140 000003c1 ffbd8fa0
    c16b0e00 00000064
    [ 7249.867448] Call Trace:
    [ 7249.867494] [] ? e1000_xmit_frame+0x87b/0xdc0 [e1000e]
    [ 7249.867534] [] ? tcp_in_window+0xeb/0xb10 [nf_conntrack]
    [ 7249.867576] [] ? tcp_in_window+0xeb/0xb10 [nf_conntrack]
    [ 7249.867615] [] ? icmp_send+0xa0/0x380
    [ 7249.867648] [] icmp_send+0x2cf/0x380
    [ 7249.867681] [] nf_send_unreach+0xa6/0xc0 [nf_reject_ipv4]
    [ 7249.867714] [] reject_tg+0x7a/0x9f [ipt_REJECT]
    [ 7249.867746] [] ipt_do_table+0x317/0x70c [ip_tables]
    [ 7249.867780] [] ? __nf_conntrack_find_get+0x166/0x3b0
    [nf_conntrack]
    [ 7249.867838] [] ? nf_conntrack_in+0x398/0x600 [nf_conntrack]
    [ 7249.867889] [] iptable_filter_hook+0x35/0x80 [iptable_filter]
    [ 7249.867933] [] nf_iterate+0x71/0x80
    [ 7249.867970] [] nf_hook_slow+0x65/0xc0
    [ 7249.868002] [] __ip_local_out_sk+0xc1/0xd0
    [ 7249.868034] [] ? ip_forward_options+0x1a0/0x1a0
    [ 7249.868066] [] ip_local_out_sk+0x16/0x30
    [ 7249.868097] [] ip_send_skb+0x14/0x80
    [ 7249.868129] [] ip_push_pending_frames+0x34/0x40
    [ 7249.868163] [] ip_send_unicast_reply+0x282/0x310
    [ 7249.868196] [] tcp_v4_send_reset+0x1b3/0x380
    [ 7249.868227] [] tcp_v4_rcv+0x323/0x990
    [ 7249.868257] [] ? nf_iterate+0x71/0x80
    [ 7249.868289] [] ip_local_deliver_finish+0x8b/0x230
    [ 7249.868322] [] ip_local_deliver+0x4c/0xa0
    [ 7249.868353] [] ? ip_rcv_finish+0x390/0x390
    [ 7249.868384] [] ip_rcv_finish+0x7c/0x390
    [ 7249.868415] [] ip_rcv+0x2e0/0x420
    ...

    Prior to the VRF change the oif was not set in the flow struct, so the
    VRF support should really have only added the vrf_master_ifindex lookup.

    Fixes: 613d09b30f8b ("net: Use VRF device index for lookups on TX")
    Cc: Andrey Melnikov
    Signed-off-by: David Ahern
    Signed-off-by: David S. Miller

    David Ahern
     
  • Update the docbook comment for __mdiobus_register() to include the new
    module owner argument. This resolves a warning found by the 0-day
    builder.

    Signed-off-by: Russell King
    Signed-off-by: David S. Miller

    Russell King
     
  • Thomas can no longer work on the driver, so he asked me to mark the
    MAINTAINER entry as "Orphan" with the hope that someone else would
    someday pick it up.

    Cc: Thomas Dahlmann
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • Pull another cgroup fix from Tejun Heo:
    "The cgroup writeback support got inadvertently enabled for traditional
    hierarchies revealing two regressions which are currently being worked
    on. It shouldn't have been enabled on traditional hierarchies, so
    disable it on them. This is enough to make the regressions go away
    for people who aren't experimenting with cgroup"

    * 'for-4.3-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
    cgroup, writeback: don't enable cgroup writeback on traditional hierarchies

    Linus Torvalds
     
  • ppp_dev_uninit() locks all_ppp_mutex while under rtnl mutex protection.
    ppp_create_interface() must then lock these mutexes in that same order
    to avoid possible deadlock.

    [ 120.880011] ======================================================
    [ 120.880011] [ INFO: possible circular locking dependency detected ]
    [ 120.880011] 4.2.0 #1 Not tainted
    [ 120.880011] -------------------------------------------------------
    [ 120.880011] ppp-apitest/15827 is trying to acquire lock:
    [ 120.880011] (&pn->all_ppp_mutex){+.+.+.}, at: [] ppp_dev_uninit+0x64/0xb0 [ppp_generic]
    [ 120.880011]
    [ 120.880011] but task is already holding lock:
    [ 120.880011] (rtnl_mutex){+.+.+.}, at: [] rtnl_lock+0x12/0x14
    [ 120.880011]
    [ 120.880011] which lock already depends on the new lock.
    [ 120.880011]
    [ 120.880011]
    [ 120.880011] the existing dependency chain (in reverse order) is:
    [ 120.880011]
    [ 120.880011] -> #1 (rtnl_mutex){+.+.+.}:
    [ 120.880011] [] lock_acquire+0xcf/0x10e
    [ 120.880011] [] mutex_lock_nested+0x56/0x341
    [ 120.880011] [] rtnl_lock+0x12/0x14
    [ 120.880011] [] register_netdev+0x11/0x27
    [ 120.880011] [] ppp_ioctl+0x289/0xc98 [ppp_generic]
    [ 120.880011] [] do_vfs_ioctl+0x4ea/0x532
    [ 120.880011] [] SyS_ioctl+0x4e/0x7d
    [ 120.880011] [] entry_SYSCALL_64_fastpath+0x12/0x6f
    [ 120.880011]
    [ 120.880011] -> #0 (&pn->all_ppp_mutex){+.+.+.}:
    [ 120.880011] [] __lock_acquire+0xb07/0xe76
    [ 120.880011] [] lock_acquire+0xcf/0x10e
    [ 120.880011] [] mutex_lock_nested+0x56/0x341
    [ 120.880011] [] ppp_dev_uninit+0x64/0xb0 [ppp_generic]
    [ 120.880011] [] rollback_registered_many+0x19e/0x252
    [ 120.880011] [] rollback_registered+0x29/0x38
    [ 120.880011] [] unregister_netdevice_queue+0x6a/0x77
    [ 120.880011] [] ppp_release+0x42/0x79 [ppp_generic]
    [ 120.880011] [] __fput+0xec/0x192
    [ 120.880011] [] ____fput+0x9/0xb
    [ 120.880011] [] task_work_run+0x66/0x80
    [ 120.880011] [] prepare_exit_to_usermode+0x8c/0xa7
    [ 120.880011] [] syscall_return_slowpath+0xe4/0x104
    [ 120.880011] [] int_ret_from_sys_call+0x25/0x9f
    [ 120.880011]
    [ 120.880011] other info that might help us debug this:
    [ 120.880011]
    [ 120.880011] Possible unsafe locking scenario:
    [ 120.880011]
    [ 120.880011] CPU0 CPU1
    [ 120.880011] ---- ----
    [ 120.880011] lock(rtnl_mutex);
    [ 120.880011] lock(&pn->all_ppp_mutex);
    [ 120.880011] lock(rtnl_mutex);
    [ 120.880011] lock(&pn->all_ppp_mutex);
    [ 120.880011]
    [ 120.880011] *** DEADLOCK ***

    Fixes: 8cb775bc0a34 ("ppp: fix device unregistration upon netns deletion")
    Reported-by: Sedat Dilek
    Tested-by: Sedat Dilek
    Signed-off-by: Guillaume Nault
    Signed-off-by: David S. Miller

    Guillaume Nault
     
  • The builds of allmodconfig of avr32 is failing with:

    drivers/net/ethernet/via/via-rhine.c:1098:2: error: implicit declaration
    of function 'pci_iomap' [-Werror=implicit-function-declaration]
    drivers/net/ethernet/via/via-rhine.c:1119:2: error: implicit declaration
    of function 'pci_iounmap' [-Werror=implicit-function-declaration]

    The generic empty pci_iomap and pci_iounmap is used only if CONFIG_PCI
    is not defined and CONFIG_GENERIC_PCI_IOMAP is defined.

    Add GENERIC_PCI_IOMAP in the dependency list for VIA_RHINE as we are
    getting build failure when CONFIG_PCI and CONFIG_GENERIC_PCI_IOMAP both
    are not defined.

    Signed-off-by: Sudip Mukherjee
    Signed-off-by: David S. Miller

    Sudip Mukherjee
     
  • Read the standard link partner advertisment registers and store it in
    phydev->lp_advertising, so ethtool can report this information to
    userspace via ethtool. Zero it as per genphy if autonegotiation is
    disabled. Tested with a Marvell 88E1512 PHY.

    Signed-off-by: Russell King
    Reviewed-by: Florian Fainelli
    Signed-off-by: David S. Miller

    Russell King
     
  • Pull btrfs fixes from Chris Mason:
    "This is an assorted set I've been queuing up:

    Jeff Mahoney tracked down a tricky one where we ended up starting IO
    on the wrong mapping for special files in btrfs_evict_inode. A few
    people reported this one on the list.

    Filipe found (and provided a test for) a difficult bug in reading
    compressed extents, and Josef fixed up some quota record keeping with
    snapshot deletion. Chandan killed off an accounting bug during DIO
    that lead to WARN_ONs as we freed inodes"

    * 'for-linus-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:
    Btrfs: keep dropped roots in cache until transaction commit
    Btrfs: Direct I/O: Fix space accounting
    btrfs: skip waiting on ordered range for special files
    Btrfs: fix read corruption of compressed and shared extents
    Btrfs: remove unnecessary locking of cleaner_mutex to avoid deadlock
    Btrfs: don't initialize a space info as full to prevent ENOSPC

    Linus Torvalds
     
  • Pull NFS client bugfixes from Trond Myklebust:
    "Highlights include:

    Stable patches:
    - fix v4.2 SEEK on files over 2 gigs
    - Fix a layout segment reference leak when pNFS I/O falls back to inband I/O.
    - Fix recovery of recalled read delegations

    Bugfixes:
    - Fix a case where NFSv4 fails to send CLOSE after a server reboot
    - Fix sunrpc to wait for connections to complete before retrying
    - Fix sunrpc races between transport connect/disconnect and shutdown
    - Fix an infinite loop when layoutget fail with BAD_STATEID
    - nfs/filelayout: Fix NULL reference caused by double freeing of fh_array
    - Fix a bogus WARN_ON_ONCE() in O_DIRECT when layout commit_through_mds is set
    - Fix layoutreturn/close ordering issues"

    * tag 'nfs-for-4.3-2' of git://git.linux-nfs.org/projects/trondmy/linux-nfs:
    NFS41: make close wait for layoutreturn
    NFS: Skip checking ds_cinfo.buckets when lseg's commit_through_mds is set
    NFSv4.x/pnfs: Don't try to recover stateids twice in layoutget
    NFSv4: Recovery of recalled read delegations is broken
    NFS: Fix an infinite loop when layoutget fail with BAD_STATEID
    NFS: Do cleanup before resetting pageio read/write to mds
    SUNRPC: xs_sock_mark_closed() does not need to trigger socket autoclose
    SUNRPC: Lock the transport layer on shutdown
    nfs/filelayout: Fix NULL reference caused by double freeing of fh_array
    SUNRPC: Ensure that we wait for connections to complete before retrying
    SUNRPC: drop null test before destroy functions
    nfs: fix v4.2 SEEK on files over 2 gigs
    SUNRPC: Fix races between socket connection and destroy code
    nfs: fix pg_test page count calculation
    Failing to send a CLOSE if file is opened WRONLY and server reboots on a 4.x mount

    Linus Torvalds
     
  • Pull sound fixes from Takashi Iwai:
    "This ended up with a larger set of fixes than wished, unfortunately.

    As diffstat shows, the majority of changes are for various ASoC
    drivers (Realtek, Wolfson codec drivers, etc), in addition to a couple
    of HD-audio regression fixes. All these are reasonably small and
    nothing to scare much"

    * tag 'sound-4.3-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (29 commits)
    ALSA: hda - Disable power_save_node for Thinkpads
    ALSA: hda/tegra - async probe for avoiding module loading deadlock
    ASoC: rt5645: Prevent the pop sound in case of playback and the jack is plugging
    ASoC: rt5645: Increase the delay time to remove the pop sound
    ASoC: rt5645: Use the type SOC_DAPM_SINGLE_AUTODISABLE to prevent the weird sound in runtime of power up
    ASoC: pxa: pxa2xx-ac97: fix dma requestor lines
    MAINTAINERS: Update website and git repo for Wolfson Microelectronics
    ASoC: fsl_ssi: Fix checking of dai format for AC97 mode
    ASoC: wm0010: fix error path
    ASoC: wm0010: fix memory leak
    ASoC: wm8960: correct the max register value of mic boost pga
    ASoC: wm8962: remove 64k sample rate support
    ASoC: davinci-mcasp: Fix devm_kasprintf format string
    ASoC: fix broken pxa SoC support
    ASoC: davinci-mcasp: Set .symmetric_rates = 1 in snd_soc_dai_driver
    ASoC: au1x: psc-i2s: Fix unused variable 'ret' warning
    ASoC: SPEAr: Make SND_SPEAR_SOC select SND_SOC_GENERIC_DMAENGINE_PCM
    ASoC: mediatek: Increase periods_min in capture
    ASoC: davinci-mcasp: Revise the FIFO threshold calculation
    ASoC: wm8960: correct gain value for input PGA and add microphone PGA
    ...

    Linus Torvalds