1. 02 2月, 2018 3 次提交
  2. 01 2月, 2018 8 次提交
  3. 30 1月, 2018 9 次提交
  4. 29 1月, 2018 10 次提交
  5. 26 1月, 2018 5 次提交
    • D
      IB/mthca: Fix gup usage in mthca_map_user_db() · 487f6683
      Davidlohr Bueso 提交于
      get_user_pages() must be called with mmap_sem held, currently
      it is not. In fact it is called under the user db_table->mutex.
      To fix this we can convert gup to use the fast alternative,
      and safely avoid taking mmap_sem, if possible. Furthermore
      this is safe wrt to the mutex as other callers that take the
      lock (unmap and alloc_db) are not called under mmap_sem
      (hence possible deadlock).
      Signed-off-by: NDavidlohr Bueso <dbueso@suse.de>
      Signed-off-by: NDoug Ledford <dledford@redhat.com>
      487f6683
    • D
      net: vrf: Add support for sends to local broadcast address · 1e19c4d6
      David Ahern 提交于
      Sukumar reported that sends to the local broadcast address
      (255.255.255.255) are broken. Check for the address in vrf driver
      and do not redirect to the VRF device - similar to multicast
      packets.
      
      With this change sockets can use SO_BINDTODEVICE to specify an
      egress interface and receive responses. Note: the egress interface
      can not be a VRF device but needs to be the enslaved device.
      
      https://bugzilla.kernel.org/show_bug.cgi?id=198521Reported-by: NSukumar Gopalakrishnan <sukumarg1973@gmail.com>
      Signed-off-by: NDavid Ahern <dsahern@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      1e19c4d6
    • F
      r8169: fix memory corruption on retrieval of hardware statistics. · a78e9366
      Francois Romieu 提交于
      Hardware statistics retrieval hurts in tight invocation loops.
      
      Avoid extraneous write and enforce strict ordering of writes targeted to
      the tally counters dump area address registers.
      Signed-off-by: NFrancois Romieu <romieu@fr.zoreil.com>
      Tested-by: NOliver Freyermuth <o.freyermuth@googlemail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      a78e9366
    • L
      drm/nouveau: Move irq setup/teardown to pci ctor/dtor · 0fd189a9
      Lyude Paul 提交于
      For a while we've been having issues with seemingly random interrupts
      coming from nvidia cards when resuming them. Originally the fix for this
      was thought to be just re-arming the MSI interrupt registers right after
      re-allocating our IRQs, however it seems a lot of what we do is both
      wrong and not even nessecary.
      
      This was made apparent by what appeared to be a regression in the
      mainline kernel that started introducing suspend/resume issues for
      nouveau:
      
              a0c9259d (irq/matrix: Spread interrupts on allocation)
      
      After this commit was introduced, we started getting interrupts from the
      GPU before we actually re-allocated our own IRQ (see references below)
      and assigned the IRQ handler. Investigating this turned out that the
      problem was not with the commit, but the fact that nouveau even
      free/allocates it's irqs before and after suspend/resume.
      
      For starters: drivers in the linux kernel haven't had to handle
      freeing/re-allocating their IRQs during suspend/resume cycles for quite
      a while now. Nouveau seems to be one of the few drivers left that still
      does this, despite the fact there's no reason we actually need to since
      disabling interrupts from the device side should be enough, as the
      kernel is already smart enough to know to disable host-side interrupts
      for us before going into suspend. Since we were tearing down our IRQs by
      hand however, that means there was a short period during resume where
      interrupts could be received before we re-allocated our IRQ which would
      lead to us getting an unhandled IRQ. Since we never handle said IRQ and
      re-arm the interrupt registers, this would cause us to miss all of the
      interrupts from the GPU and cause our init process to start timing out
      on anything requiring interrupts.
      
      So, since this whole setup/teardown every suspend/resume cycle is
      useless anyway, move irq setup/teardown into the pci subdev's ctor/dtor
      functions instead so they're only called at driver load and driver
      unload. This should fix most of the issues with pending interrupts on
      resume, along with getting suspend/resume for nouveau to work again.
      
      As well, this probably means we can also just remove the msi rearm call
      inside nvkm_pci_init(). But since our main focus here is to fix
      suspend/resume before 4.15, we'll save that for a later patch.
      Signed-off-by: NLyude Paul <lyude@redhat.com>
      Cc: Karol Herbst <kherbst@redhat.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: stable@vger.kernel.org
      Signed-off-by: NBen Skeggs <bskeggs@redhat.com>
      0fd189a9
    • N
      net: don't call update_pmtu unconditionally · f15ca723
      Nicolas Dichtel 提交于
      Some dst_ops (e.g. md_dst_ops)) doesn't set this handler. It may result to:
      "BUG: unable to handle kernel NULL pointer dereference at           (null)"
      
      Let's add a helper to check if update_pmtu is available before calling it.
      
      Fixes: 52a589d5 ("geneve: update skb dst pmtu on tx path")
      Fixes: a93bf0ff ("vxlan: update skb dst pmtu on tx path")
      CC: Roman Kapl <code@rkapl.cz>
      CC: Xin Long <lucien.xin@gmail.com>
      Signed-off-by: NNicolas Dichtel <nicolas.dichtel@6wind.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f15ca723
  6. 25 1月, 2018 5 次提交