Skip to content
Snippets Groups Projects
  1. Jul 08, 2019
  2. Jul 07, 2019
  3. Jul 06, 2019
  4. Jul 04, 2019
    • Shay Agroskin's avatar
      net/mlx5: Added devlink info callback · 8338d937
      Shay Agroskin authored
      
      The callback is invoked using 'devlink dev info <pci>' command and returns
      the running and pending firmware version of the HCA and the name of the
      kernel driver.
      
      If there is a pending firmware version (a new version is burned but the
      HCA still runs with the previous) it is returned as the stored
      firmware version. Otherwise, the running version is returned for this
      field.
      
      Output example:
      $ devlink dev info pci/0000:00:06.0
      pci/0000:00:06.0:
        driver mlx5_core
        versions:
            fixed:
              fw.psid MT_0000000009
            running:
              fw.version 16.26.0100
            stored:
              fw.version 16.26.0100
      
      Signed-off-by: default avatarShay Agroskin <shayag@mellanox.com>
      Reviewed-by: default avatarJakub Kicinski <jakub.kicinski@netronome.com>
      Signed-off-by: default avatarSaeed Mahameed <saeedm@mellanox.com>
      8338d937
  5. Jul 02, 2019
  6. Jul 01, 2019
  7. Jun 27, 2019
  8. Jun 25, 2019
  9. Jun 23, 2019
  10. Jun 19, 2019
    • Yang Yingliang's avatar
      doc: fix documentation about UIO_MEM_LOGICAL using · 6ad805b8
      Yang Yingliang authored
      
      After commit d4fc5069 ("mm: switch s_mem and slab_cache in struct page")
      page->mapping will be re-used by slab allocations and page->mapping->host
      will be used in balance_dirty_pages_ratelimited() as an inode member but
      it's not an inode in fact and leads an oops.
      
      [  159.906493] Unable to handle kernel paging request at virtual address ffff200012d90be8
      [  159.908029] Mem abort info:
      [  159.908552]   ESR = 0x96000007
      [  159.909138]   Exception class = DABT (current EL), IL = 32 bits
      [  159.910155]   SET = 0, FnV = 0
      [  159.910690]   EA = 0, S1PTW = 0
      [  159.911241] Data abort info:
      [  159.911846]   ISV = 0, ISS = 0x00000007
      [  159.912567]   CM = 0, WnR = 0
      [  159.913105] swapper pgtable: 4k pages, 48-bit VAs, pgdp=0000000042acd000
      [  159.914269] [ffff200012d90be8] pgd=000000043ffff003, pud=000000043fffe003, pmd=000000043fffa003, pte=0000000000000000
      [  159.916280] Internal error: Oops: 96000007 [#1] SMP
      [  159.917195] Dumping ftrace buffer:
      [  159.917845]    (ftrace buffer empty)
      [  159.918521] Modules linked in: uio_dev(OE)
      [  159.919276] CPU: 1 PID: 295 Comm: uio_test Tainted: G           OE     5.2.0-rc4+ #46
      [  159.920859] Hardware name: linux,dummy-virt (DT)
      [  159.921815] pstate: 60000005 (nZCv daif -PAN -UAO)
      [  159.922809] pc : balance_dirty_pages_ratelimited+0x68/0xc38
      [  159.923965] lr : fault_dirty_shared_page.isra.8+0xe4/0x100
      [  159.925134] sp : ffff800368a77ae0
      [  159.925824] x29: ffff800368a77ae0 x28: 1ffff0006d14ce1a
      [  159.926906] x27: ffff800368a670d0 x26: ffff800368a67120
      [  159.927985] x25: 1ffff0006d10f5fe x24: ffff200012d90be8
      [  159.929089] x23: ffff200013732000 x22: ffff80036ec03200
      [  159.930172] x21: ffff200012d90bc0 x20: 1fffe400025b217d
      [  159.931253] x19: ffff80036ec03200 x18: 0000000000000000
      [  159.932348] x17: 0000000000000000 x16: 0ffffe0000010208
      [  159.933439] x15: 0000000000000000 x14: 0000000000000000
      [  159.934518] x13: 0000000000000000 x12: 0000000000000000
      [  159.935596] x11: 1fffefc001b452c0 x10: ffff0fc001b452c0
      [  159.936697] x9 : dfff200000000000 x8 : dfff200000000001
      [  159.937781] x7 : ffff7e000da29607 x6 : ffff0fc001b452c1
      [  159.938859] x5 : ffff0fc001b452c1 x4 : ffff0fc001b452c1
      [  159.939944] x3 : ffff200010523ad4 x2 : 1fffe400026e659b
      [  159.941065] x1 : dfff200000000000 x0 : ffff200013732cd8
      [  159.942205] Call trace:
      [  159.942732]  balance_dirty_pages_ratelimited+0x68/0xc38
      [  159.943797]  fault_dirty_shared_page.isra.8+0xe4/0x100
      [  159.944867]  do_fault+0x608/0x1250
      [  159.945571]  __handle_mm_fault+0x93c/0xfb8
      [  159.946412]  handle_mm_fault+0x1c0/0x360
      [  159.947224]  do_page_fault+0x358/0x8d0
      [  159.947993]  do_translation_fault+0xf8/0x124
      [  159.948884]  do_mem_abort+0x70/0x190
      [  159.949624]  el0_da+0x24/0x28
      
      According another commit 5e901d0b ("scsi: qedi: Fix bad pte call trace
      when iscsiuio is stopped."), using kmalloc also cause other problem.
      
      But the documentation about UIO_MEM_LOGICAL allows using kmalloc(), remove
      and don't allow using kmalloc() in documentation.
      
      Signed-off-by: default avatarYang Yingliang <yangyingliang@huawei.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      6ad805b8
    • Gavin Schenk's avatar
      MAINTAINERS / Documentation: Thorsten Scherer is the successor of Gavin Schenk · 75d7627f
      Gavin Schenk authored
      
      Due to new challenges in my life I can no longer take care of SIOX.
      Thorsten takes over my SIOX tasks.
      
      Signed-off-by: default avatarGavin Schenk <g.schenk@eckelmann.de>
      Acked-by: default avatarThorsten Scherer <t.scherer@eckelmann.de>
      Signed-off-by: default avatarUwe Kleine-König <u.kleine-koenig@pengutronix.de>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      75d7627f
    • Takashi Iwai's avatar
      docs: fb: Add TER16x32 to the available font names · fce677d7
      Takashi Iwai authored
      
      The new font is available since recently.
      
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      Acked-by: default avatarRandy Dunlap <rdunlap@infradead.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      fce677d7
    • Liran Alon's avatar
      KVM: x86: Modify struct kvm_nested_state to have explicit fields for data · 6ca00dfa
      Liran Alon authored
      
      Improve the KVM_{GET,SET}_NESTED_STATE structs by detailing the format
      of VMX nested state data in a struct.
      
      In order to avoid changing the ioctl values of
      KVM_{GET,SET}_NESTED_STATE, there is a need to preserve
      sizeof(struct kvm_nested_state). This is done by defining the data
      struct as "data.vmx[0]". It was the most elegant way I found to
      preserve struct size while still keeping struct readable and easy to
      maintain. It does have a misfortunate side-effect that now it has to be
      accessed as "data.vmx[0]" rather than just "data.vmx".
      
      Because we are already modifying these structs, I also modified the
      following:
      * Define the "format" field values as macros.
      * Rename vmcs_pa to vmcs12_pa for better readability.
      
      Signed-off-by: default avatarLiran Alon <liran.alon@oracle.com>
      [Remove SVM stubs, add KVM_STATE_NESTED_VMX_VMCS12_SIZE. - Paolo]
      Reviewed-by: default avatarLiran Alon <liran.alon@oracle.com>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      6ca00dfa
    • Yash Shah's avatar
      macb: bindings doc: add sifive fu540-c000 binding · d4993e19
      Yash Shah authored
      
      Add the compatibility string documentation for SiFive FU540-C0000
      interface.
      On the FU540, this driver also needs to read and write registers in a
      management IP block that monitors or drives boundary signals for the
      GEMGXL IP block that are not directly mapped to GEMGXL registers.
      Therefore, add additional range to "reg" property for SiFive GEMGXL
      management IP registers.
      
      Signed-off-by: default avatarYash Shah <yash.shah@sifive.com>
      Reviewed-by: default avatarPaul Walmsley <paul.walmsley@sifive.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      d4993e19
  11. Jun 18, 2019
  12. Jun 17, 2019
  13. Jun 16, 2019
    • Eric Dumazet's avatar
      tcp: add tcp_min_snd_mss sysctl · 5f3e2bf0
      Eric Dumazet authored
      
      Some TCP peers announce a very small MSS option in their SYN and/or
      SYN/ACK messages.
      
      This forces the stack to send packets with a very high network/cpu
      overhead.
      
      Linux has enforced a minimal value of 48. Since this value includes
      the size of TCP options, and that the options can consume up to 40
      bytes, this means that each segment can include only 8 bytes of payload.
      
      In some cases, it can be useful to increase the minimal value
      to a saner value.
      
      We still let the default to 48 (TCP_MIN_SND_MSS), for compatibility
      reasons.
      
      Note that TCP_MAXSEG socket option enforces a minimal value
      of (TCP_MIN_MSS). David Miller increased this minimal value
      in commit c39508d6 ("tcp: Make TCP_MAXSEG minimum more correct.")
      from 64 to 88.
      
      We might in the future merge TCP_MIN_SND_MSS and TCP_MIN_MSS.
      
      CVE-2019-11479 -- tcp mss hardcoded to 48
      
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Suggested-by: default avatarJonathan Looney <jtl@netflix.com>
      Acked-by: default avatarNeal Cardwell <ncardwell@google.com>
      Cc: Yuchung Cheng <ycheng@google.com>
      Cc: Tyler Hicks <tyhicks@canonical.com>
      Cc: Bruce Curtis <brucec@netflix.com>
      Cc: Jonathan Lemon <jonathan.lemon@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      5f3e2bf0
  14. Jun 15, 2019
  15. Jun 14, 2019
  16. Jun 13, 2019
  17. Jun 12, 2019
  18. Jun 11, 2019
    • Jakub Kicinski's avatar
      net/tls: add kernel-driven resync mechanism for TX · 50180074
      Jakub Kicinski authored
      
      TLS offload drivers keep track of TCP seq numbers to make sure
      the packets are fed into the HW in order.
      
      When packets get dropped on the way through the stack, the driver
      will get out of sync and have to use fallback encryption, but unless
      TCP seq number is resynced it will never match the packets correctly
      (or even worse - use incorrect record sequence number after TCP seq
      wraps).
      
      Existing drivers (mlx5) feed the entire record on every out-of-order
      event, allowing FW/HW to always be in sync.
      
      This patch adds an alternative, more akin to the RX resync.  When
      driver sees a frame which is past its expected sequence number the
      stream must have gotten out of order (if the sequence number is
      smaller than expected its likely a retransmission which doesn't
      require resync).  Driver will ask the stack to perform TX sync
      before it submits the next full record, and fall back to software
      crypto until stack has performed the sync.
      
      Signed-off-by: default avatarJakub Kicinski <jakub.kicinski@netronome.com>
      Reviewed-by: default avatarDirk van der Merwe <dirk.vandermerwe@netronome.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      50180074
    • Jakub Kicinski's avatar
      net/tls: add kernel-driven TLS RX resync · f953d33b
      Jakub Kicinski authored
      
      TLS offload device may lose sync with the TCP stream if packets
      arrive out of order.  Drivers can currently request a resync at
      a specific TCP sequence number.  When a record is found starting
      at that sequence number kernel will inform the device of the
      corresponding record number.
      
      This requires the device to constantly scan the stream for a
      known pattern (constant bytes of the header) after sync is lost.
      
      This patch adds an alternative approach which is entirely under
      the control of the kernel.  Kernel tracks records it had to fully
      decrypt, even though TLS socket is in TLS_HW mode.  If multiple
      records did not have any decrypted parts - it's a pretty strong
      indication that the device is out of sync.
      
      We choose the min number of fully encrypted records to be 2,
      which should hopefully be more than will get retransmitted at
      a time.
      
      After kernel decides the device is out of sync it schedules a
      resync request.  If the TCP socket is empty the resync gets
      performed immediately.  If socket is not empty we leave the
      record parser to resync when next record comes.
      
      Before resync in message parser we peek at the TCP socket and
      don't attempt the sync if the socket already has some of the
      next record queued.
      
      On resync failure (encrypted data continues to flow in) we
      retry with exponential backoff, up to once every 128 records
      (with a 16k record thats at most once every 2M of data).
      
      Signed-off-by: default avatarJakub Kicinski <jakub.kicinski@netronome.com>
      Reviewed-by: default avatarDirk van der Merwe <dirk.vandermerwe@netronome.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      f953d33b
Loading