1. 30 8月, 2015 1 次提交
  2. 29 8月, 2015 7 次提交
    • V
      sctp: Do not try to search for the transport twice · 73e67420
      Vlad Yasevich 提交于
      When removing an non-primary transport during ASCONF
      processing, we end up traversing the transport list
      twice: once in sctp_cmd_del_non_primary, and once in
      sctp_assoc_del_peer.  We can avoid the second
      search and call sctp_assoc_rm_peer() instead.
      Found by code inspection during code reviews.
      Signed-off-by: NVladislav Yasevich <vyasevich@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      73e67420
    • N
      bonding: fix bond_poll_controller bh_enable warning · b0d4943e
      Nikolay Aleksandrov 提交于
      The problem is rcu_read_unlock_bh() which triggers a warning when irqs are
      disabled. ndo_poll_controller should run with irqs disabled always so we
      can drop the rcu_read_lock_bh.
      
      [   98.502922] bond0: making interface eth1 the new active one
      [   98.503039] ------------[ cut here ]------------
      [   98.503039] WARNING: CPU: 0 PID: 1744 at kernel/softirq.c:150 __local_bh_enable_ip+0x96/0xc0()
      [   98.503039] Modules linked in: bonding(OE) rpcsec_gss_krb5 nfsv4 dns_resolver nfs fscache netconsole ppdev joydev parport_pc serio_raw parport i2c_piix4 video acpi_cpufreq nfsd auth_rpcgss nfs_acl lockd grace sunrpc virtio_net e1000 ata_generic pcnet32 mii virtio_pci virtio_ring virtio pata_acpi
      [   98.503039] CPU: 0 PID: 1744 Comm: ifenslave Tainted: G           OE   4.2.0-rc7+ #56
      [   98.503039] Hardware name: innotek GmbH VirtualBox/VirtualBox, BIOS VirtualBox 12/01/2006
      [   98.503039]  0000000000000000 00000000e96ba230 ffff880020c236b8 ffffffff8183f105
      [   98.503039]  0000000000000000 0000000000000000 ffff880020c236f8 ffffffff810a9496
      [   98.503039]  ffff88002ea99e08 0000000000000200 ffffffffa02a8e06 ffff88002ea99e08
      [   98.503039] Call Trace:
      [   98.503039]  [<ffffffff8183f105>] dump_stack+0x4c/0x65
      [   98.503039]  [<ffffffff810a9496>] warn_slowpath_common+0x86/0xc0
      [   98.503039]  [<ffffffffa02a8e06>] ? bond_poll_controller+0x146/0x250 [bonding]
      [   98.503039]  [<ffffffff810a95ca>] warn_slowpath_null+0x1a/0x20
      [   98.503039]  [<ffffffff810ae376>] __local_bh_enable_ip+0x96/0xc0
      [   98.503039]  [<ffffffffa02a8e2f>] bond_poll_controller+0x16f/0x250 [bonding]
      [   98.503039]  [<ffffffffa02a8cf3>] ? bond_poll_controller+0x33/0x250 [bonding]
      [   98.503039]  [<ffffffff810feaed>] ? trace_hardirqs_off+0xd/0x10
      [   98.503039]  [<ffffffff81848afb>] ? _raw_spin_unlock_irqrestore+0x5b/0x60
      [   98.503039]  [<ffffffff816ec48e>] netpoll_poll_dev+0x6e/0x350
      [   98.503039]  [<ffffffff816eb977>] ? netpoll_start_xmit+0x137/0x1d0
      [   98.503039]  [<ffffffff816b2e8b>] ? __alloc_skb+0x5b/0x210
      [   98.503039]  [<ffffffff816ec89d>] netpoll_send_skb_on_dev+0x12d/0x2a0
      [   98.503039]  [<ffffffff816eccde>] netpoll_send_udp+0x2ce/0x430
      [   98.503039]  [<ffffffffa0190850>] write_msg+0xb0/0xf0 [netconsole]
      [   98.503039]  [<ffffffff81116b63>] call_console_drivers.constprop.25+0x133/0x260
      [   98.503039]  [<ffffffff81117934>] console_unlock+0x2f4/0x580
      [   98.503039]  [<ffffffff81117ea5>] ? vprintk_emit+0x2e5/0x630
      [   98.503039]  [<ffffffff81117ee5>] vprintk_emit+0x325/0x630
      [   98.503039]  [<ffffffff81118379>] vprintk_default+0x29/0x40
      [   98.503039]  [<ffffffff8183de4f>] printk+0x55/0x6b
      [   98.503039]  [<ffffffff816c754c>] __netdev_printk+0x16c/0x260
      [   98.503039]  [<ffffffff816c7a12>] netdev_info+0x62/0x80
      [   98.503039]  [<ffffffffa02ab464>] bond_change_active_slave+0x134/0x6a0 [bonding]
      [   98.503039]  [<ffffffffa02aba95>] bond_select_active_slave+0xc5/0x310 [bonding]
      [   98.503039]  [<ffffffffa02aeb78>] bond_enslave+0x1088/0x10c0 [bonding]
      [   98.503039]  [<ffffffffa02af46b>] bond_do_ioctl+0x37b/0x400 [bonding]
      [   98.503039]  [<ffffffff81101d8d>] ? trace_hardirqs_on+0xd/0x10
      [   98.503039]  [<ffffffff816dc437>] ? rtnl_lock+0x17/0x20
      [   98.503039]  [<ffffffff816e5fd1>] dev_ifsioc+0x331/0x3e0
      [   98.503039]  [<ffffffff816e62dc>] dev_ioctl+0xec/0x6c0
      [   98.503039]  [<ffffffff816a6c6a>] sock_do_ioctl+0x4a/0x60
      [   98.503039]  [<ffffffff816a7300>] sock_ioctl+0x1c0/0x250
      [   98.503039]  [<ffffffff81271bfe>] do_vfs_ioctl+0x2ee/0x540
      [   98.503039]  [<ffffffff810fd943>] ? up_read+0x23/0x40
      [   98.503039]  [<ffffffff81070993>] ? __do_page_fault+0x1d3/0x420
      [   98.503039]  [<ffffffff8127e246>] ? __fget_light+0x66/0x90
      [   98.503039]  [<ffffffff81271ec9>] SyS_ioctl+0x79/0x90
      [   98.503039]  [<ffffffff8184936e>] entry_SYSCALL_64_fastpath+0x12/0x76
      [   98.503039] ---[ end trace 00cfa804b0670051 ]---
      
      Fixes: 616f4541 ("bonding: implement bond_poll_controller()")
      Signed-off-by: NNikolay Aleksandrov <nikolay@cumulusnetworks.com>
      Acked-by: NMahesh Bandewar <maheshb@google.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b0d4943e
    • S
      sh_eth: propagate platform_get_irq() error upstream · 7a468ac6
      Sergei Shtylyov 提交于
      The driver overrides the error returned by platform_get_irq() with -ENODEV
      which e.g. precludes the deferred  probing from working. Propagate the real
      error code to the driver core instead.
      Signed-off-by: NSergei Shtylyov <sergei.shtylyov@cogentembedded.com>
      Acked-by: NGeert Uytterhoeven <geert+renesas@glider.be>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      7a468ac6
    • S
      ravb: propagate platform_get_irq() error upstream · f375339e
      Sergei Shtylyov 提交于
      The driver overrides the error returned by platform_get_irq() with -ENODEV
      which e.g. precludes the deferred  probing from working. Propagate the real
      error code to the driver core instead.
      Signed-off-by: NSergei Shtylyov <sergei.shtylyov@cogentembedded.com>
      Acked-by: NGeert Uytterhoeven <geert+renesas@glider.be>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f375339e
    • L
      sctp: ASCONF-ACK with Unresolvable Address should be sent · 7c5a9461
      lucien 提交于
      RFC 5061:
          This is an opaque integer assigned by the sender to identify each
          request parameter.  The receiver of the ASCONF Chunk will copy this
          32-bit value into the ASCONF Response Correlation ID field of the
          ASCONF-ACK response parameter.  The sender of the ASCONF can use this
          same value in the ASCONF-ACK to find which request the response is
          for.  Note that the receiver MUST NOT change this 32-bit value.
      
          Address Parameter: TLV
      
          This field contains an IPv4 or IPv6 address parameter, as described
          in Section 3.3.2.1 of [RFC4960].
      
      ASCONF chunk with Error Cause Indication Parameter (Unresolvable Address)
      should be sent if the Delete IP Address is not part of the association.
      
        Endpoint A                           Endpoint B
        (ESTABLISHED)                        (ESTABLISHED)
      
        ASCONF        ----------------->
        (Delete IP Address)
                      <-----------------      ASCONF-ACK
                                              (Unresolvable Address)
      Signed-off-by: NXin Long <lucien.xin@gmail.com>
      Acked-by: NVlad Yasevich <vyasevich@gmail.com>
      Acked-by: NMarcelo Ricardo Leitner <marcelo.leitner@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      7c5a9461
    • K
      netlink: mmap: fix lookup frame position · 7084a315
      Ken-ichirou MATSUZAWA 提交于
      __netlink_lookup_frame() was always called with the same "pos"
      value in netlink_forward_ring(). It will look at the same ring entry
      header over and over again, every time through this loop. Then cycle
      through the whole ring, advancing ring->head, not "pos" until it
      equals the "ring->head != head" loop test fails.
      Signed-off-by: NKen-ichirou MATSUZAWA <chamas@h4.dion.ne.jp>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      7084a315
    • C
      netlink: add NETLINK_CAP_ACK socket option · 0a6a3a23
      Christophe Ricard 提交于
      Since commit c05cdb1b ("netlink: allow large data transfers from
      user-space"), the kernel may fail to allocate the necessary room for the
      acknowledgment message back to userspace. This patch introduces a new
      socket option that trims off the payload of the original netlink message.
      
      The netlink message header is still included, so the user can guess from
      the sequence number what is the message that has triggered the
      acknowledgment.
      Signed-off-by: NPablo Neira Ayuso <pablo@netfilter.org>
      Signed-off-by: NChristophe Ricard <christophe-h.ricard@st.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      0a6a3a23
  3. 28 8月, 2015 9 次提交
    • L
      Merge tag 'powerpc-4.2-4' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · 4941b8f0
      Linus Torvalds 提交于
      Pull powerpc fixes from Michael Ellerman:
       "Fix MSI/MSI-X on pseries from Guilherme"
      
      * tag 'powerpc-4.2-4' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
        powerpc/PCI: Disable MSI/MSI-X interrupts at PCI probe time in OF case
        PCI: Make pci_msi_setup_pci_dev() non-static for use by arch code
      4941b8f0
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · e001d708
      Linus Torvalds 提交于
      Pull networking fixes from David Miller:
       "Some straggler bug fixes here:
      
         1) Netlink_sendmsg() doesn't check iterator type properly in mmap
            case, from Ken-ichirou MATSUZAWA.
      
         2) Don't sleep in atomic context in bcmgenet driver, from Florian
            Fainelli.
      
         3) The pfkey_broadcast() code patch can't actually ever use anything
            other than GFP_ATOMIC.  And the cases that right now pass
            GFP_KERNEL or similar will currently trigger an RCU splat.  Just
            use GFP_ATOMIC unconditionally.  From David Ahern.
      
         4) Fix FD bit timings handling in pcan_usb driver, from Marc
            Kleine-Budde.
      
         5) Cache dst leaked in ip6_gre tunnel removal, fix from Huaibin Wang.
      
         6) Traversal into drivers/net/ethernet/renesas should be triggered by
            CONFIG_NET_VENDOR_RENESAS, not a particular driver's config
            option.  From Kazuya Mizuguchi.
      
         7) Fix regression in handling of igmp_join errors in vxlan, from
            Marcelo Ricardo Leitner.
      
         8) Make phy_{read,write}_mmd_indirect() properly take the mdio_lock
            mutex when programming the registers.  From Russell King.
      
         9) Fix non-forced handling in u32_destroy(), from WANG Cong.
      
        10) Test the EVENT_NO_RUNTIME_PM flag before it is cleared in
            usbnet_stop(), from Eugene Shatokhin.
      
        11) In sfc driver, don't fetch statistics firmware isn't capable of,
            from Bert Kenward.
      
        12) Verify ASCONF address parameter location in SCTP, from Xin Long"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:
        sctp: donot reset the overall_error_count in SHUTDOWN_RECEIVE state
        sctp: asconf's process should verify address parameter is in the beginning
        sfc: only use vadaptor stats if firmware is capable
        net: phy: fixed: propagate fixed link values to struct
        usbnet: Get EVENT_NO_RUNTIME_PM bit before it is cleared
        drivers: net: xgene: fix: Oops in linkwatch_fire_event
        cls_u32: complete the check for non-forced case in u32_destroy()
        net: fec: use reinit_completion() in mdio accessor functions
        net: phy: add locking to phy_read_mmd_indirect()/phy_write_mmd_indirect()
        vxlan: re-ignore EADDRINUSE from igmp_join
        net: compile renesas directory if NET_VENDOR_RENESAS is configured
        ip6_gre: release cached dst on tunnel removal
        phylib: Make PHYs children of their MDIO bus, not the bus' parent.
        can: pcan_usb: don't provide CAN FD bittimings by non-FD adapters
        net: Fix RCU splat in af_key
        net: bcmgenet: fix uncleaned dma flags
        net: bcmgenet: Avoid sleeping in bcmgenet_timeout
        netlink: mmap: fix tx type check
      e001d708
    • L
      Merge branch 'libnvdimm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm · 5c98bcce
      Linus Torvalds 提交于
      Pull nvdimm fixlet from Dan Williams:
       "This is a libnvdimm ABI fixup.
      
        I pushed back on this change quite hard given the late date, that it
        appears to be purely cosmetic, sysfs is not necessarily meant to be a
        user friendly UI, and the kernel interprets the reversed polarity of
        the ACPI_NFIT_MEM_ARMED flag correctly.  When this flag is set, the
        energy source of an NVDIMM is not armed and any new writes to the DIMM
        may not be preserved.
      
        However, Bob Moore warned me that it is important to get these things
        named correctly wherever they appear otherwise we run the risk of a
        less than cautious firmware engineer implementing the polarity the
        wrong way.  Once a mistake like that escapes into production platforms
        the flag becomes useless and we need to move to a new bit position.
      
        Bob has agreed to take a change through ACPICA to rename
        ACPI_NFIT_MEM_ARMED to ACPI_NFIT_MEM_NOT_ARMED, and the patch below
        from Toshi brings the sysfs representation of these flags in line with
        their respective polarities.
      
        Please pull for 4.2 as this is the first kernel to expose the ACPI
        NFIT sysfs representation, and this is likely a kernel that firmware
        developers will be using for checking out their NVDIMM enabling"
      
      * 'libnvdimm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm:
        nfit: Clarify memory device state flags strings
      5c98bcce
    • L
      sctp: donot reset the overall_error_count in SHUTDOWN_RECEIVE state · f648f807
      lucien 提交于
      Commit f8d96052 ("sctp: Enforce retransmission limit during shutdown")
      fixed a problem with excessive retransmissions in the SHUTDOWN_PENDING by not
      resetting the association overall_error_count.  This allowed the association
      to better enforce assoc.max_retrans limit.
      
      However, the same issue still exists when the association is in SHUTDOWN_RECEIVED
      state.  In this state, HB-ACKs will continue to reset the overall_error_count
      for the association would extend the lifetime of association unnecessarily.
      
      This patch solves this by resetting the overall_error_count whenever the current
      state is small then SCTP_STATE_SHUTDOWN_PENDING.  As a small side-effect, we
      end up also handling SCTP_STATE_SHUTDOWN_ACK_SENT and SCTP_STATE_SHUTDOWN_SENT
      states, but they are not really impacted because we disable Heartbeats in those
      states.
      
      Fixes: Commit f8d96052 ("sctp: Enforce retransmission limit during shutdown")
      Signed-off-by: NXin Long <lucien.xin@gmail.com>
      Acked-by: NMarcelo Ricardo Leitner <marcelo.leitner@gmail.com>
      Acked-by: NVlad Yasevich <vyasevich@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f648f807
    • L
      sctp: asconf's process should verify address parameter is in the beginning · ce7b4ccc
      lucien 提交于
      in sctp_process_asconf(), we get address parameter from the beginning of
      the addip params. but we never check if it's really there. if the addr
      param is not there, it still can pass sctp_verify_asconf(), then to be
      handled by sctp_process_asconf(), it will not be safe.
      
      so add a code in sctp_verify_asconf() to check the address parameter is in
      the beginning, or return false to send abort.
      
      note that this can also detect multiple address parameters, and reject it.
      Signed-off-by: NXin Long <lucien.xin@gmail.com>
      Signed-off-by: NMarcelo Ricardo Leitner <mleitner@redhat.com>
      Acked-by: NVlad Yasevich <vyasevich@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      ce7b4ccc
    • T
      nfit: Clarify memory device state flags strings · 402bae59
      Toshi Kani 提交于
      ACPI 6.0 NFIT Memory Device State Flags in Table 5-129 defines
      NVDIMM status as follows.  These bits indicate multiple info,
      such as failures, pending event, and capability.
      
        Bit [0] set to 1 to indicate that the previous SAVE to the
        Memory Device failed.
        Bit [1] set to 1 to indicate that the last RESTORE from the
        Memory Device failed.
        Bit [2] set to 1 to indicate that platform flush of data to
        Memory Device failed. As a result, the restored data content
        may be inconsistent even if SAVE and RESTORE do not indicate
        failure.
        Bit [3] set to 1 to indicate that the Memory Device is observed
        to be not armed prior to OSPM hand off. A Memory Device is
        considered armed if it is able to accept persistent writes.
        Bit [4] set to 1 to indicate that the Memory Device observed
        SMART and health events prior to OSPM handoff.
      
      /sys/bus/nd/devices/nmemX/nfit/flags shows this flags info.
      The output strings associated with the bits are "save", "restore",
      "smart", etc., which can be confusing as they may be interpreted
      as positive status, i.e. save succeeded.
      
      Change also the dev_info() message in acpi_nfit_register_dimms()
      to be consistent with the sysfs flags strings.
      Reported-by: NRobert Elliott <elliott@hp.com>
      Signed-off-by: NToshi Kani <toshi.kani@hp.com>
      [ross: rename 'not_arm' to 'not_armed']
      Cc: Ross Zwisler <ross.zwisler@linux.intel.com>
      [djbw: defer adding bit5, HEALTH_ENABLED, for now]
      Signed-off-by: NDan Williams <dan.j.williams@intel.com>
      402bae59
    • B
      sfc: only use vadaptor stats if firmware is capable · fbe4307e
      Bert Kenward 提交于
      Some of the stats handling code differs based on SR-IOV support,
      and SRIOV support is only available if full-featured firmware is
      used.
      Do not use vadaptor stats if firmware mode is not set to
      full-featured.
      Signed-off-by: NShradha Shah <sshah@solarflare.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      fbe4307e
    • M
      net: phy: fixed: propagate fixed link values to struct · 4b195360
      Madalin Bucur 提交于
      The fixed link values parsed from the device tree are stored in
      the struct fixed_phy member status. The struct phy_device members
      speed, duplex were not updated.
      Signed-off-by: NMadalin Bucur <madalin.bucur@freescale.com>
      Reviewed-by: NFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      4b195360
    • L
      Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · 95803812
      Linus Torvalds 提交于
      Pull amr64 kvm fix from Will Deacon:
       "We've uncovered a nasty bug in the arm64 KVM code which allows a badly
        behaved 32-bit guest to bring down the host.  The fix is simple (it's
        what I believe we call a "brown paper bag" bug) and I don't think it
        makes sense to sit on this, particularly as Russell ended up
        triggering this rather than just somebody noticing a potential problem
        by inspection.
      
        Usually arm64 KVM changes would go via Paolo's tree, but he's on
        holiday at the moment and the deal is that anything urgent gets
        shuffled via the arch trees, so here it is.
      
        Summary:
      
        Fix arm64 KVM issue when injecting an abort into a 32-bit guest, which
        would lead to an illegal exception return at EL2 and a subsequent host
        crash"
      
      * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
        arm64: KVM: Fix host crash when injecting a fault into a 32bit guest
      95803812
  4. 27 8月, 2015 2 次提交
  5. 26 8月, 2015 19 次提交
  6. 25 8月, 2015 2 次提交
    • M
      can: pcan_usb: don't provide CAN FD bittimings by non-FD adapters · 06b23f7f
      Marc Kleine-Budde 提交于
      The CAN FD data bittiming constants are provided via netlink only when there
      are valid CAN FD constants available in priv->data_bittiming_const.
      
      Due to the indirection of pointer assignments in the peak_usb driver the
      priv->data_bittiming_const never becomes NULL - not even for non-FD adapters.
      
      The data_bittiming_const points to zero'ed data which leads to this result
      when running 'ip -details link show can0':
      
      35: can0: <NOARP,ECHO> mtu 16 qdisc noop state DOWN mode DEFAULT group default qlen 10
          link/can  promiscuity 0
          can state STOPPED restart-ms 0
      	  pcan_usb: tseg1 1..16 tseg2 1..8 sjw 1..4 brp 1..64 brp-inc 1
      	  : dtseg1 0..0 dtseg2 0..0 dsjw 1..0 dbrp 0..0 dbrp-inc 0  <== BROKEN!
      	  clock 8000000
      
      This patch changes the struct peak_usb_adapter::bittiming_const and struct
      peak_usb_adapter::data_bittiming_const to pointers to fix the assignemnt
      problems.
      
      Cc: linux-stable <stable@vger.kernel.org> # >= 4.0
      Reported-by: NOliver Hartkopp <socketcan@hartkopp.net>
      Tested-by: NOliver Hartkopp <socketcan@hartkopp.net>
      Signed-off-by: NMarc Kleine-Budde <mkl@pengutronix.de>
      06b23f7f
    • J
      nfsd: Add Jeff Layton as co-maintainer · 883985f6
      J. Bruce Fields 提交于
      Jeff has been doing a lot of development (including much of the
      state-locking rewrite just as one example) plus lots of review and other
      miscellaneous nfsd work, so let's acknowledge the status quo.
      
      I'll continue to be the one to send regular pull requests but Jeff will
      should be available to cover there occasionally too.
      Signed-off-by: NJ. Bruce Fields <bfields@redhat.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      883985f6