1. 21 Apr, 2015 4 commits
    • Vivien Didelot's avatar
      net: dsa: mv88e6xxx: fix setup of port control 1 · 614f03fc
      Vivien Didelot authored
      mv88e6xxx_setup_port_common was writing to PORT_DEFAULT_VLAN (port
      offset 0x07) instead of PORT_CONTROL_1 (port offset 0x05).
      
      Fixes: cca8b133 ("net: dsa: Use mnemonics rather than register numbers")
      Signed-off-by: default avatarVivien Didelot <vivien.didelot@savoirfairelinux.com>
      Acked-by: default avatarAndrew Lunn <andrew@lunn.ch>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      614f03fc
    • David S. Miller's avatar
      Merge branch 'ppp_csum_unset' · 91f5bd84
      David S. Miller authored
      Tom Herbert says:
      
      ====================
      net: Fix "hw csum failure" message flood for ppp tunnel
      
      This patch set addresses bug "Bug 95171 - "hw csum failure" message
      flood for ppp tunnel since upgrade to 3.16". The problem is that pppoe
      is being used over UDP with UDP checksusm enabled. On receive
      checksum conversion turns checksum-unnecessary in checksum-
      complete. The PPP receive functions do not properly pull
      the checksum over its headers, so that when an encapsulated
      checksums is considered the checksum-complete value is incorrect.
      
      This patch adds skb_checksum_complete_unset which can be called
      in the receive path in lieu of pulling checksum complete in
      layer. This is useful when the packet is being modified (e.g.
      decompressed) and the checksum-complete value is no longer
      relevant.
      
      In the ppp_receive_frame we call skb_checksum_complete_unset to toss
      out checksum-complete. This should eliminate the reported messages.
      Alternatively, we could add skb_postpull_rcsum and probably
      special case handling for VJ compression if maintaining the
      checksum-complete is needed (not clear to me this is worth the
      effort).
      
      I haven't tested this since setting up the failure scenario doesn't
      seem trivial to configure.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      91f5bd84
    • Tom Herbert's avatar
      ppp: call skb_checksum_complete_unset in ppp_receive_frame · 3dfb0534
      Tom Herbert authored
      Call checksum_complete_unset in PPP receive to discard checksum-complete
      value. PPP does not pull checksum for headers and also modifies packet
      as in VJ compression.
      Signed-off-by: default avatarTom Herbert <tom@herbertland.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      3dfb0534
    • Tom Herbert's avatar
      net: add skb_checksum_complete_unset · 4e18b9ad
      Tom Herbert authored
      This function changes ip_summed to CHECKSUM_NONE if CHECKSUM_COMPLETE
      is set. This is called to discard checksum-complete when packet
      is being modified and checksum is not pulled for headers in a layer.
      Signed-off-by: default avatarTom Herbert <tom@herbertland.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      4e18b9ad
  2. 20 Apr, 2015 2 commits
  3. 17 Apr, 2015 34 commits
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide · 04b7fe6a
      Linus Torvalds authored
      Pull IDE update from David Miller:
       "Just one change, getting rid of usage of the deprecated PCI DMA
        interfaces in the IDE drivers"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide:
        ide: remove deprecated use of pci api
      04b7fe6a
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 388f9976
      Linus Torvalds authored
      Pull networking fixes from David Miller:
      
       1) Fix verifier memory corruption and other bugs in BPF layer, from
          Alexei Starovoitov.
      
       2) Add a conservative fix for doing BPF properly in the BPF classifier
          of the packet scheduler on ingress.  Also from Alexei.
      
       3) The SKB scrubber should not clear out the packet MARK and security
          label, from Herbert Xu.
      
       4) Fix oops on rmmod in stmmac driver, from Bryan O'Donoghue.
      
       5) Pause handling is not correct in the stmmac driver because it
          doesn't take into consideration the RX and TX fifo sizes.  From
          Vince Bridgers.
      
       6) Failure path missing unlock in FOU driver, from Wang Cong.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (44 commits)
        net: dsa: use DEVICE_ATTR_RW to declare temp1_max
        netns: remove BUG_ONs from net_generic()
        IB/ipoib: Fix ndo_get_iflink
        sfc: Fix memcpy() with const destination compiler warning.
        altera tse: Fix network-delays and -retransmissions after high throughput.
        net: remove unused 'dev' argument from netif_needs_gso()
        act_mirred: Fix bogus header when redirecting from VLAN
        inet_diag: fix access to tcp cc information
        tcp: tcp_get_info() should fetch socket fields once
        net: dsa: mv88e6xxx: Add missing initialization in mv88e6xxx_set_port_state()
        skbuff: Do not scrub skb mark within the same name space
        Revert "net: Reset secmark when scrubbing packet"
        bpf: fix two bugs in verification logic when accessing 'ctx' pointer
        bpf: fix bpf helpers to use skb->mac_header relative offsets
        stmmac: Configure Flow Control to work correctly based on rxfifo size
        stmmac: Enable unicast pause frame detect in GMAC Register 6
        stmmac: Read tx-fifo-depth and rx-fifo-depth from the devicetree
        stmmac: Add defines and documentation for enabling flow control
        stmmac: Add properties for transmit and receive fifo sizes
        stmmac: fix oops on rmmod after assigning ip addr
        ...
      388f9976
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc · e2fdae7e
      Linus Torvalds authored
      Pull sparc updates from David Miller:
       "The PowerPC folks have a really nice scalable IOMMU pool allocator
        that we wanted to make use of for sparc.  So here we have a series
        that abstracts out their code into a common layer that anyone can make
        use of.
      
        Sparc is converted, and the PowerPC folks have reviewed and ACK'd this
        series and plan to convert PowerPC over as well"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
        iommu-common: Fix PARISC compile-time warnings
        sparc: Make LDC use common iommu poll management functions
        sparc: Make sparc64 use scalable lib/iommu-common.c functions
        sparc: Break up monolithic iommu table/lock into finer graularity pools and lock
      e2fdae7e
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile · 6b6e177d
      Linus Torvalds authored
      Pull arch/tile updates from Chris Metcalf:
       "These are mostly nohz_full changes, plus a smattering of minor fixes
        (notably a couple for ftrace)"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile:
        tile: nohz: warn if nohz_full uses hypervisor shared cores
        tile: ftrace: fix function_graph tracer issues
        tile: map data region shadow of kernel as R/W
        tile: support CONTEXT_TRACKING and thus NOHZ_FULL
        tile: support arch_irq_work_raise
        arch: tile: fix null pointer dereference on pt_regs pointer
        tile/elf: reorganize notify_exec()
        tile: use si_int instead of si_ptr for compat_siginfo
      6b6e177d
    • Vivien Didelot's avatar
      net: dsa: use DEVICE_ATTR_RW to declare temp1_max · e3122b7f
      Vivien Didelot authored
      Since commit da4759c7 (sysfs: Use only return value from is_visible for
      the file mode), it is possible to reduce the permissions of a file.
      
      So declare temp1_max with the DEVICE_ATTR_RW macro and remove the write
      permission in dsa_hwmon_attrs_visible if set_temp_limit isn't provided.
      Signed-off-by: default avatarVivien Didelot <vivien.didelot@savoirfairelinux.com>
      Reviewed-by: default avatarGuenter Roeck <linux@roeck-us.net>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      e3122b7f
    • Linus Torvalds's avatar
      Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus · bfaf2450
      Linus Torvalds authored
      Pull MIPS updates from Ralf Baechle:
       "This is the main pull request for MIPS for Linux 4.1.  Most
        noteworthy:
      
         - Add more Octeon-optimized crypto functions
         - Octeon crypto preemption and locking fixes
         - Little endian support for Octeon
         - Use correct CSR to soft reset Octeons
         - Support LEDs on the Octeon-based DSR-1000N
         - Fix PCI interrupt mapping for the Octeon-based DSR-1000N
         - Mark prom_free_prom_memory() as __init for a number of systems
         - Support for Imagination's Pistachio SOC.  This includes arch and
           CLK bits.  I'd like to merge pinctrl bits later
         - Improve parallelism of csum_partial for certain pipelines
         - Organize DTB files in subdirs like other architectures
         - Implement read_sched_clock for all MIPS platforms other than
           Octeon
         - Massive series of 38 fixes and cleanups for the FPU emulator /
           kernel
         - Further FPU remulator work to support new features.  This sits on a
           separate branch which also has been pulled into the 4.1 KVM branch
         - Clean up and fixes for the SEAD3 eval board; remove unused file
         - Various updates for Netlogic platforms
         - A number of small updates for Loongson 3 platforms
         - Increase the memory limit for ATH79 platforms to 256MB
         - A fair number of fixes and updates for BCM47xx platforms
         - Finish the implementation of XPA support
         - MIPS FDC support.  No, not floppy controller but Fast Debug Channel :)
         - Detect the R16000 used in SGI legacy platforms
         - Fix Kconfig dependencies for the SSB bus support"
      
      * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (265 commits)
        MIPS: Makefile: Fix MIPS ASE detection code
        MIPS: asm: elf: Set O32 default FPU flags
        MIPS: BCM47XX: Fix detecting Microsoft MN-700 & Asus WL500G
        MIPS: Kconfig: Disable SMP/CPS for 64-bit
        MIPS: Hibernate: flush TLB entries earlier
        MIPS: smp-cps: cpu_set FPU mask if FPU present
        MIPS: lose_fpu(): Disable FPU when MSA enabled
        MIPS: ralink: add missing symbol for RALINK_ILL_ACC
        MIPS: ralink: Fix bad config symbol in PCI makefile.
        SSB: fix Kconfig dependencies
        MIPS: Malta: Detect and fix bad memsize values
        Revert "MIPS: Avoid pipeline stalls on some MIPS32R2 cores."
        MIPS: Octeon: Delete override of cpu_has_mips_r2_exec_hazard.
        MIPS: Fix cpu_has_mips_r2_exec_hazard.
        MIPS: kernel: entry.S: Set correct ISA level for mips_ihb
        MIPS: asm: spinlock: Fix addiu instruction for R10000_LLSC_WAR case
        MIPS: r4kcache: Use correct base register for MIPS R6 cache flushes
        MIPS: Kconfig: Fix typo for the r2-to-r6 emulator kernel parameter
        MIPS: unaligned: Fix regular load/store instruction emulation for EVA
        MIPS: unaligned: Surround load/store macros in do {} while statements
        ...
      bfaf2450
    • Linus Torvalds's avatar
      Merge tag 'xtensa-20150416' of git://github.com/czankel/xtensa-linux · 96d928ed
      Linus Torvalds authored
      Pull Xtensa updates from Chris Zankel:
      
       - fix linker script transformation for .text / .text.fixup
      
       - wire bpf and execveat syscalls
      
       - provide __NR_sync_file_range2 instead of __NR_sync_file_range, as
         that's what xtensa uses.
      
       - make xtfpgs LCD driver functional and configurable.  This fixes
         hardware lockup on KC705/ML605 boot
      
       - add audio subsystem bits to xtfpga DTS and provide sample KC705
         config with audio features enabled
      
       - add CY7C67300 USB controller support to XTFPGA
      
       - fix locking issues in ISS network driver
      
       - document PIC and MX interrupt distributor device tree bindings
      
      * tag 'xtensa-20150416' of git://github.com/czankel/xtensa-linux:
        xtensa: xtfpga: add CY7C67300 USB controller support
        irqchip: xtensa-pic: xtensa-mx: document DT bindings
        xtensa: ISS: fix locking in TAP network adapter
        xtensa: Fix fix linker script transformation for .text / .text.fixup
        xtensa: provide __NR_sync_file_range2 instead of __NR_sync_file_range
        xtensa: wire bpf and execveat syscalls
        xtensa: xtfpga: fix hardware lockup caused by LCD driver
        xtensa: xtfpga: provide defconfig with audio subsystem
        xtensa: xtfpga: add audio card to xtfpga DTS
      96d928ed
    • Quentin Lambert's avatar
      ide: remove deprecated use of pci api · d681f116
      Quentin Lambert authored
      Replace occurences of the pci api by appropriate call to the dma api.
      
      A simplified version of the semantic patch that finds this problem is as
      follows: (http://coccinelle.lip6.fr)
      
      @deprecated@
      idexpression id;
      position p;
      @@
      
      (
        pci_dma_supported@p ( id, ...)
      |
        pci_alloc_consistent@p ( id, ...)
      )
      
      @bad1@
      idexpression id;
      position deprecated.p;
      @@
      ...when != &id->dev
         when != pci_get_drvdata ( id )
         when != pci_enable_device ( id )
      (
        pci_dma_supported@p ( id, ...)
      |
        pci_alloc_consistent@p ( id, ...)
      )
      
      @depends on !bad1@
      idexpression id;
      expression direction;
      position deprecated.p;
      @@
      
      (
      - pci_dma_supported@p ( id,
      + dma_supported ( &id->dev,
      ...
      + , GFP_ATOMIC
        )
      |
      - pci_alloc_consistent@p ( id,
      + dma_alloc_coherent ( &id->dev,
      ...
      + , GFP_ATOMIC
        )
      )
      Signed-off-by: default avatarQuentin Lambert <lambert.quentin@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      d681f116
    • Sowmini Varadhan's avatar
      iommu-common: Fix PARISC compile-time warnings · cb97201c
      Sowmini Varadhan authored
      Fixes warnings due to
      - no DMA_ERROR_CODE on PARISC,
      - sizeof (unsigned long) == 4 bytes on PARISC.
      Signed-off-by: default avatarSowmini Varadhan <sowmini.varadhan@oracle.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      cb97201c
    • Denys Vlasenko's avatar
      netns: remove BUG_ONs from net_generic() · 2591ffd3
      Denys Vlasenko authored
      This inline has ~500 callsites.
      
      On 04/14/2015 08:37 PM, David Miller wrote:
      > That BUG_ON() was added 7 years ago, and I don't remember it ever
      > triggering or helping us diagnose something, so just remove it and
      > keep the function inlined.
      
      On x86 allyesconfig build:
      
          text     data      bss       dec     hex filename
      82447071 22255384 20627456 125329911 77861f7 vmlinux4
      82441375 22255384 20627456 125324215 7784bb7 vmlinux5prime
      Signed-off-by: default avatarDenys Vlasenko <dvlasenk@redhat.com>
      CC: Eric W. Biederman <ebiederm@xmission.com>
      CC: David S. Miller <davem@davemloft.net>
      CC: Jan Engelhardt <jengelh@medozas.de>
      CC: Jiri Pirko <jpirko@redhat.com>
      CC: linux-kernel@vger.kernel.org
      CC: netdev@vger.kernel.org
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      2591ffd3
    • Erez Shitrit's avatar
      IB/ipoib: Fix ndo_get_iflink · 2c153959
      Erez Shitrit authored
      Currently, iflink of the parent interface was always accessed, even
      when interface didn't have a parent and hence we crashed there.
      
      Handle the interface types properly: for a child interface, return
      the ifindex of the parent, for parent interface, return its ifindex.
      
      For child devices, make sure to set the parent pointer prior to
      invoking register_netdevice(), this allows the new ndo to be called
      by the stack immediately after the child device is registered.
      
      Fixes: 5aa7add8 ('infiniband/ipoib: implement ndo_get_iflink')
      Reported-by: default avatarHonggang Li <honli@redhat.com>
      Signed-off-by: default avatarErez Shitrit <erezsh@mellanox.com>
      Signed-off-by: default avatarHonggang Li <honli@redhat.com>
      Reviewed-By: Jason Gunthorpe <jgunthorpe@obsidianresearch.com>+
      Acked-by: default avatarNicolas Dichtel <nicolas.dichtel@6wind.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      2c153959
    • David S. Miller's avatar
      sfc: Fix memcpy() with const destination compiler warning. · 1d20a160
      David S. Miller authored
      drivers/net/ethernet/sfc/selftest.c: In function ‘efx_iterate_state’:
      drivers/net/ethernet/sfc/selftest.c:388:9: warning: passing argument 1 of ‘memcpy’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-array-qualifiers]
      
      This is because the msg[] member of struct efx_loopback_payload
      is marked as 'const'.  Remove that.
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      1d20a160
    • Andreas Oetken's avatar
      altera tse: Fix network-delays and -retransmissions after high throughput. · 93ea3378
      Andreas Oetken authored
      Fix bug which occurs when more than <limit> packets are available during
      napi-poll, leading to "delays" and retransmissions on the network.
      
      Check for (count < limit) before checking the get_rx_status in tse_rx-function.
      Function get_rx_status is reading from the response-fifo.
      If there is currently a response in the fifo,
      reading the last byte of the response pops the value from the fifo.
      If the limit is checked as second condition
      and the limit is reached the fifo is popped but the packet is not processed.
      Signed-off-by: default avatarAndreas Oetken <ennoerlangen@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      93ea3378
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.dk/linux-block · e076b7c1
      Linus Torvalds authored
      Pull block core fix from Jens Axboe:
       "A commit in the previous pull request introduce a regression.  So far
        only observed on qemu-sparc64, but it's a general bug.  Please pull
        this single fix to rectify that, thanks"
      
      [ And it turns out that it's been seen outside of that qemu-sparc64
        case, and is easy to trigger with small number of CPUs and blk-mq
        enabled by default - Linus ]
      
      * 'for-linus' of git://git.kernel.dk/linux-block:
        blk-mq: fix iteration of busy bitmap
      e076b7c1
    • Linus Torvalds's avatar
      Merge tag 'acpica-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 0f5abd40
      Linus Torvalds authored
      Pull ACPICA updates from Rafael Wysocki:
       "This updates the kernel's ACPICA code to upstream revision 20150410
        and adds a fix for a GPE handling regression introduced during the
        3.19 cycle on top of that.
      
        Included are two stable-candidate bug fixes (one of them fixing a 3.16
        regression), multiple other fixes and a bunch of cleanups.
      
        Specifics:
      
         - Fix for a GPE handling regression on Dell Latitude D600 that caused
           GPE signaling to stop working on that machine, which appears to be
           due to a hardware glitch, but it used to work and it can be made
           work again in a relativly straightforward way (Rafael J Wysocki).
      
         - Fix for a mutex unlock regression related to the handling of ACPI
           tables introduced during the 3.16 development cycle (Octavian
           Purdila).
      
         - _REV modification to always return 2 which has been done by all
           versions of Windows since NT and the firmware people started to use
           it to distinguish between OSes in their AML and do some silly and
           wrong things on that basis (Bob Moore).
      
         - Fixes and cleanups related to the acpi_physicall_address data type
           including one stable-candidate fix for an issue occasionally
           occuring on 64-bit machines running 32-bit kernels where using
           offsets provided by the firmware may lead to address overflows (Lv
           Zheng).
      
         - External() opcode support infrastructure needed for recompiling
           disassembled ACPI tables in some cases including interpreter
           modification to ignore that opcode (Bob Moore).
      
         - Support for the "Windows 2015" string in _OSI (Bob Moore).
      
         - GPE debug interface change to return values read from hardware
           registers (Lv Zheng).
      
         - Removal of the __DATE__ macro usage in tools (Rasmus Villemoes).
      
         - Assorted minor fixes and cleanups (Lv Zheng, Rickard Strandqvist,
           Bob Moore)"
      
      * tag 'acpica-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (32 commits)
        ACPICA: Store GPE register enable masks upfront
        ACPICA: Update version to 20150410.
        ACPICA: Fix a couple issues with the local printf module.
        ACPICA: Disassembler: Some cleanup of the table dump module.
        ACPICA: iASL: Add support for MSDM ACPI table.
        ACPICA: Update for SLIC ACPI table.
        ACPICA: Add "//" before ascii output of buffers.
        ACPICA: Remove unused internal AML opcode.
        ACPICA: Permanently set _REV to the value '2'.
        ACPICA: Add "Windows 2015" string to _OSI support.
        ACPICA: Add infrastructure for External() opcode.
        ACPICA: iASL: Enhancement for constant folding.
        ACPICA: iASL/Disassembler: Add option to assume table contains valid AML.
        ACPICA: Update AML Debugger global variables.
        ACPICA: Update Resource descriptor dump module.
        ACPICA: Fix a sscanf format string.
        ACPICA: Casting changes around acpi_physical_address/acpi_size.
        ACPICA: Resources: Correct conditional compilation definitions.
        ACPICA: Utilities: Correct conditional compilation definitions.
        ACPICA: Tables: Move an iasl specific table function to iasl source file.
        ...
      0f5abd40
    • Chris Metcalf's avatar
      tile: nohz: warn if nohz_full uses hypervisor shared cores · 128f3cb9
      Chris Metcalf authored
      The "hypervisor shared" cores are ones that the Tilera hypervisor
      uses to receive interrupts to manage hypervisor-owned devices.
      It's a bad idea to try to use those cores with nohz_full, since
      they will get interrupted unpredictably -- and invisibly to Linux
      tracing tools, since the interrupts are delivered at a higher
      privilege level to the Tilera hypervisor.
      
      Generate a clear warning at boot up that this doesn't end well
      for the nohz_full cores in question.
      Signed-off-by: default avatarChris Metcalf <cmetcalf@ezchip.com>
      128f3cb9
    • Tony Lu's avatar
      tile: ftrace: fix function_graph tracer issues · 437d3e12
      Tony Lu authored
      - Add support for ARCH_SUPPORTS_FTRACE_OPS
      - Replace the instruction in ftrace_call with the bundle {move r10, lr;
      jal ftrace_stub}, so that the lr contains the right value after returning
      from ftrace_stub.  An alternative fix might be to leave the instruction
      in ftrace_call alone when it is being updated with ftrace_stub.
      Signed-off-by: default avatarTony Lu <zlu@ezchip.com>
      Signed-off-by: default avatarChris Metcalf <cmetcalf@ezchip.com>
      437d3e12
    • Chris Metcalf's avatar
      tile: map data region shadow of kernel as R/W · a84f2423
      Chris Metcalf authored
      This is necessary for things like reading /proc/kcore, doing ftrace,
      etc.  It happens by default when using huge pages to map the kernel
      data, but not when using small pages.
      Signed-off-by: default avatarChris Metcalf <cmetcalf@ezchip.com>
      a84f2423
    • Chris Metcalf's avatar
      tile: support CONTEXT_TRACKING and thus NOHZ_FULL · 49e4e156
      Chris Metcalf authored
      Add the TIF_NOHZ flag appropriately.
      
      Add call to user_exit() on entry to do_work_pending() and on entry
      to syscalls via do_syscall_trace_enter(), and also the top of
      do_syscall_trace_exit() just because it's done in x86.
      
      Add call to user_enter() at the bottom of do_work_pending() once we
      have no more work to do before returning to userspace.
      
      Wrap all the trap code in exception_enter() / exception_exit().
      Signed-off-by: default avatarChris Metcalf <cmetcalf@ezchip.com>
      Acked-by: default avatarFrederic Weisbecker <fweisbec@gmail.com>
      49e4e156
    • Johannes Berg's avatar
      net: remove unused 'dev' argument from netif_needs_gso() · 8b86a61d
      Johannes Berg authored
      In commit 04ffcb25 ("net: Add ndo_gso_check") Tom originally
      added the 'dev' argument to be able to call ndo_gso_check().
      
      Then later, when generalizing this in commit 5f35227e
      ("net: Generalize ndo_gso_check to ndo_features_check")
      Jesse removed the call to ndo_gso_check() in netif_needs_gso()
      by calling the new ndo_features_check() in a different place.
      This made the 'dev' argument unused.
      
      Remove the unused argument and go back to the code as before.
      
      Cc: Tom Herbert <therbert@google.com>
      Cc: Jesse Gross <jesse@nicira.com>
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      8b86a61d
    • Herbert Xu's avatar
      act_mirred: Fix bogus header when redirecting from VLAN · f40ae913
      Herbert Xu authored
      When you redirect a VLAN device to any device, you end up with
      crap in af_packet on the xmit path because hard_header_len is
      not equal to skb->mac_len.  So the redirected packet contains
      four extra bytes at the start which then gets interpreted as
      part of the MAC address.
      
      This patch fixes this by only pushing skb->mac_len.  We also
      need to fix ifb because it tries to undo the pushing done by
      act_mirred.
      Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      Acked-by: default avatarAlexei Starovoitov <ast@plumgrid.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      f40ae913
    • Eric Dumazet's avatar
      inet_diag: fix access to tcp cc information · 521f1cf1
      Eric Dumazet authored
      Two different problems are fixed here :
      
      1) inet_sk_diag_fill() might be called without socket lock held.
         icsk->icsk_ca_ops can change under us and module be unloaded.
         -> Access to freed memory.
         Fix this using rcu_read_lock() to prevent module unload.
      
      2) Some TCP Congestion Control modules provide information
         but again this is not safe against icsk->icsk_ca_ops
         change and nla_put() errors were ignored. Some sockets
         could not get the additional info if skb was almost full.
      
      Fix this by returning a status from get_info() handlers and
      using rcu protection as well.
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Acked-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      521f1cf1
    • Eric Dumazet's avatar
      tcp: tcp_get_info() should fetch socket fields once · fad9dfef
      Eric Dumazet authored
      tcp_get_info() can be called without holding socket lock,
      so any socket fields can change under us.
      
      Use READ_ONCE() to fetch sk_pacing_rate and sk_max_pacing_rate
      
      Fixes: 977cb0ec ("tcp: add pacing_rate information into tcp_info")
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      fad9dfef
    • Chris Metcalf's avatar
      tile: support arch_irq_work_raise · b340c656
      Chris Metcalf authored
      Tile includes a hypervisor hook to deliver messages to arbitrary
      tiles, so we can use that to raise an interrupt as soon as
      possible on our own core.  Unfortunately the Tilera hypervisor
      disabled that support on principle in previous releases, but
      it will be available in MDE 4.3.4 and later.
      Signed-off-by: default avatarChris Metcalf <cmetcalf@ezchip.com>
      Acked-by: default avatarFrederic Weisbecker <fweisbec@gmail.com>
      b340c656
    • Colin Ian King's avatar
      arch: tile: fix null pointer dereference on pt_regs pointer · 9088616f
      Colin Ian King authored
      Cppcheck reports the following issue:
      [arch/tile/kernel/stack.c:116]: (error) Possible null
        pointer dereference: p
      
      In this case, on reporting on an odd fault, p is set to NULL
      and immediately afterwords p is dereferenced iff
      !kbt->profile is false.  Rather than doing this check just
      return NULL rather than falling through to the potential
      null pointer dereference (since the original intentional
      outcome would be to return NULL anyhow) for this odd fault
      case.
      Signed-off-by: default avatarColin Ian King <colin.king@canonical.com>
      Signed-off-by: Chris Metcalf <cmetcalf@ezchip.com> [tweaked lightly]
      9088616f
    • Davidlohr Bueso's avatar
      tile/elf: reorganize notify_exec() · 5a3b4e80
      Davidlohr Bueso authored
      In the future mm->exe_file will be done without mmap_sem
      serialization, thus isolate and reorganize the tile elf
      code to make the transition easier. Good users will, make
      use of the more standard get_mm_exe_file(), requiring only
      holding the mmap_sem to read the value, and relying on reference
      counting to make sure that the exe file won't dissappear
      underneath us.
      
      The visible effects of this patch are:
      
         o We now take and drop the mmap_sem more often. Instead of
           just in arch_setup_additional_pages(), we also do it in:
      
           1) get_mm_exe_file()
           2) to get the mm->vm_file and notify the simulator.
      
          [Note that 1) will disappear once we change the locking
           rules for exe_file.]
      
         o We avoid getting a free page and doing d_path() while
           holding the mmap_sem. This requires reordering the checks.
      Signed-off-by: default avatarDavidlohr Bueso <dbueso@suse.de>
      Signed-off-by: default avatarChris Metcalf <cmetcalf@ezchip.com>
      5a3b4e80
    • Chris Metcalf's avatar
      tile: use si_int instead of si_ptr for compat_siginfo · 89067c2d
      Chris Metcalf authored
      To be compatible with the generic get_compat_sigevent(), the
      copy_siginfo_to_user32() and thus copy_siginfo_from_user32()
      have to use si_int instead of si_ptr.  Using si_ptr means that
      for the case of ILP32 compat code running in big-endian mode,
      we would end up copying the high 32 bits of the pointer value
      into si_int instead of the desired low 32 bits.
      Signed-off-by: default avatarChris Metcalf <cmetcalf@ezchip.com>
      Cc: Catalin Marinas <catalin.marinas@arm.com>
      89067c2d
    • Jens Axboe's avatar
      blk-mq: fix iteration of busy bitmap · 569fd0ce
      Jens Axboe authored
      Commit 889fa31f was a bit too eager in reducing the loop count,
      so we ended up missing queues in some configurations. Ensure that
      our division rounds up, so that's not the case.
      Reported-by: default avatarGuenter Roeck <linux@roeck-us.net>
      Fixes: 889fa31f ("blk-mq: reduce unnecessary software queue looping")
      Signed-off-by: default avatarJens Axboe <axboe@fb.com>
      569fd0ce
    • Linus Torvalds's avatar
      Merge branch 'akpm' (patches from Andrew) · 54e514b9
      Linus Torvalds authored
      Merge third patchbomb from Andrew Morton:
      
       - various misc things
      
       - a couple of lib/ optimisations
      
       - provide DIV_ROUND_CLOSEST_ULL()
      
       - checkpatch updates
      
       - rtc tree
      
       - befs, nilfs2, hfs, hfsplus, fatfs, adfs, affs, bfs
      
       - ptrace fixes
      
       - fork() fixes
      
       - seccomp cleanups
      
       - more mmap_sem hold time reductions from Davidlohr
      
      * emailed patches from Andrew Morton <akpm@linux-foundation.org>: (138 commits)
        proc: show locks in /proc/pid/fdinfo/X
        docs: add missing and new /proc/PID/status file entries, fix typos
        drivers/rtc/rtc-at91rm9200.c: make IO endian agnostic
        Documentation/spi/spidev_test.c: fix warning
        drivers/rtc/rtc-s5m.c: allow usage on device type different than main MFD type
        .gitignore: ignore *.tar
        MAINTAINERS: add Mediatek SoC mailing list
        tomoyo: reduce mmap_sem hold for mm->exe_file
        powerpc/oprofile: reduce mmap_sem hold for exe_file
        oprofile: reduce mmap_sem hold for mm->exe_file
        mips: ip32: add platform data hooks to use DS1685 driver
        lib/Kconfig: fix up HAVE_ARCH_BITREVERSE help text
        x86: switch to using asm-generic for seccomp.h
        sparc: switch to using asm-generic for seccomp.h
        powerpc: switch to using asm-generic for seccomp.h
        parisc: switch to using asm-generic for seccomp.h
        mips: switch to using asm-generic for seccomp.h
        microblaze: use asm-generic for seccomp.h
        arm: use asm-generic for seccomp.h
        seccomp: allow COMPAT sigreturn overrides
        ...
      54e514b9
    • Andrey Vagin's avatar
      proc: show locks in /proc/pid/fdinfo/X · 6c8c9031
      Andrey Vagin authored
      Let's show locks which are associated with a file descriptor in
      its fdinfo file.
      
      Currently we don't have a reliable way to determine who holds a lock.  We
      can find some information in /proc/locks, but PID which is reported there
      can be wrong.  For example, a process takes a lock, then forks a child and
      dies.  In this case /proc/locks contains the parent pid, which can be
      reused by another process.
      
      $ cat /proc/locks
      ...
      6: FLOCK  ADVISORY  WRITE 324 00:13:13431 0 EOF
      ...
      
      $ ps -C rpcbind
        PID TTY          TIME CMD
        332 ?        00:00:00 rpcbind
      
      $ cat /proc/332/fdinfo/4
      pos:	0
      flags:	0100000
      mnt_id:	22
      lock:	1: FLOCK  ADVISORY  WRITE 324 00:13:13431 0 EOF
      
      $ ls -l /proc/332/fd/4
      lr-x------ 1 root root 64 Mar  5 14:43 /proc/332/fd/4 -> /run/rpcbind.lock
      
      $ ls -l /proc/324/fd/
      total 0
      lrwx------ 1 root root 64 Feb 27 14:50 0 -> /dev/pts/0
      lrwx------ 1 root root 64 Feb 27 14:50 1 -> /dev/pts/0
      lrwx------ 1 root root 64 Feb 27 14:49 2 -> /dev/pts/0
      
      You can see that the process with the 324 pid doesn't hold the lock.
      
      This information is required for proper dumping and restoring file
      locks.
      Signed-off-by: default avatarAndrey Vagin <avagin@openvz.org>
      Cc: Jonathan Corbet <corbet@lwn.net>
      Cc: Alexander Viro <viro@zeniv.linux.org.uk>
      Acked-by: default avatarJeff Layton <jlayton@poochiereds.net>
      Acked-by: default avatar"J. Bruce Fields" <bfields@fieldses.org>
      Acked-by: default avatarCyrill Gorcunov <gorcunov@openvz.org>
      Cc: Pavel Emelyanov <xemul@parallels.com>
      Cc: Joe Perches <joe@perches.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      6c8c9031
    • Nathan Scott's avatar
      docs: add missing and new /proc/PID/status file entries, fix typos · 15eb42d6
      Nathan Scott authored
      docs: add missing and new /proc/PID/status file entries, fix typos
      Signed-off-by: default avatarNathan Scott <nathans@redhat.com>
      Signed-off-by: default avatarChen Hanxiao <chenhanxiao@cn.fujitsu.com>
      Cc: Serge Hallyn <serge.hallyn@canonical.com>
      Cc: "Eric W. Biederman" <ebiederm@xmission.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      15eb42d6
    • Ben Dooks's avatar
      drivers/rtc/rtc-at91rm9200.c: make IO endian agnostic · 6da7bb1e
      Ben Dooks authored
      Change the __raw IO calls to readl/write_relaxed which makes the driver
      endian agnostic to run properly on big endian systems.
      Signed-off-by: default avatarBen Dooks <ben.dooks@codethink.co.uk>
      Cc: Alessandro Zummo <a.zummo@towertech.it>
      Cc: Andrew Victor <linux@maxim.org.za>
      Acked-by: default avatarNicolas Ferre <nicolas.ferre@atmel.com>
      Acked-by: default avatarJean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      6da7bb1e
    • Andrew Morton's avatar
      Documentation/spi/spidev_test.c: fix warning · 07eec628
      Andrew Morton authored
      Documentation/spi/spidev_test.c:83:5: warning: no previous prototype for 'unespcape' [-Wmissing-prototypes]
      
      fix spelling too.
      Acked-by: default avatarMark Brown <broonie@kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      07eec628
    • Krzysztof Kozlowski's avatar
      drivers/rtc/rtc-s5m.c: allow usage on device type different than main MFD type · 94f91922
      Krzysztof Kozlowski authored
      The RTC driver supports two flavors of S5M devices: S5M8767-like and
      S2MPS14-like.
      
      On S2MPS13 and S2MPS14 devices the RTC module is the same so we want to
      re-use the existing support of S2MPS14.  However device type was passed
      from parent MFD driver in platform data structure.  This way for the
      S2MPS13 device the main MFD driver passed device type of 'S2MPS13X'.
      
      Instead decouple detecting of device type between main MFD and RTC driver.
       This allows adding support for other S2MPS14 variations (like S2MPS11 and
      S2MPS13) easily by adding to mfd/sec-core.c:
      
      static const struct mfd_cell s2mps13_devs[] = {
      	{ .name = "s2mps14-rtc", }
      };
      Signed-off-by: default avatarKrzysztof Kozlowski <k.kozlowski@samsung.com>
      Cc: Alessandro Zummo <a.zummo@towertech.it>
      Cc: Kyungmin Park <kyungmin.park@samsung.com>
      Cc: Marek Szyprowski <m.szyprowski@samsung.com>
      Cc: Chanwoo Choi <cw00.choi@samsung.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      94f91922