1. 29 11月, 2018 1 次提交
  2. 28 11月, 2018 1 次提交
  3. 15 11月, 2018 8 次提交
  4. 14 11月, 2018 3 次提交
  5. 13 11月, 2018 7 次提交
  6. 12 11月, 2018 12 次提交
  7. 11 11月, 2018 2 次提交
    • D
      Revert "acpi, nfit: Further restrict userspace ARS start requests" · 2121db09
      Dan Williams 提交于
      The following lockdep splat results from acquiring the init_mutex in
      acpi_nfit_clear_to_send():
      
       WARNING: possible circular locking dependency detected
       lt-daxdev-error/7216 is trying to acquire lock:
       00000000f694db15 (&acpi_desc->init_mutex){+.+.}, at: acpi_nfit_clear_to_send+0x27/0x80 [nfit]
      
       but task is already holding lock:
       00000000182298f2 (&nvdimm_bus->reconfig_mutex){+.+.}, at: __nd_ioctl+0x457/0x610 [libnvdimm]
      
       which lock already depends on the new lock.
      
      
       the existing dependency chain (in reverse order) is:
      
       -> #1 (&nvdimm_bus->reconfig_mutex){+.+.}:
              nvdimm_badblocks_populate+0x41/0x150 [libnvdimm]
              nd_region_notify+0x95/0xb0 [libnvdimm]
              nd_device_notify+0x40/0x50 [libnvdimm]
              ars_complete+0x7f/0xd0 [nfit]
              acpi_nfit_scrub+0xbb/0x410 [nfit]
              process_one_work+0x22b/0x5c0
              worker_thread+0x3c/0x390
              kthread+0x11e/0x140
              ret_from_fork+0x3a/0x50
      
       -> #0 (&acpi_desc->init_mutex){+.+.}:
              __mutex_lock+0x83/0x980
              acpi_nfit_clear_to_send+0x27/0x80 [nfit]
              __nd_ioctl+0x474/0x610 [libnvdimm]
              nd_ioctl+0xa4/0xb0 [libnvdimm]
              do_vfs_ioctl+0xa5/0x6e0
              ksys_ioctl+0x70/0x80
              __x64_sys_ioctl+0x16/0x20
              do_syscall_64+0x60/0x210
              entry_SYSCALL_64_after_hwframe+0x49/0xbe
      
      New infrastructure is needed to be able to perform this check without
      acquiring the lock.
      
      Fixes: 59486121 ("acpi, nfit: Further restrict userspace ARS start")
      Cc: Dave Jiang <dave.jiang@intel.com>
      Signed-off-by: NDan Williams <dan.j.williams@intel.com>
      2121db09
    • D
      acpi, nfit: Fix ARS overflow continuation · 3fa58dca
      Dan Williams 提交于
      When the platform BIOS is unable to report all the media error records
      it requires the OS to restart the scrub at a prescribed location. The
      driver detects the overflow condition, but then fails to report it to
      the ARS state machine after reaping the records. Propagate -ENOSPC
      correctly to continue the ARS operation.
      
      Cc: <stable@vger.kernel.org>
      Fixes: 1cf03c00 ("nfit: scrub and register regions in a workqueue")
      Reported-by: NJacek Zloch <jacek.zloch@intel.com>
      Reviewed-by: NDave Jiang <dave.jiang@intel.com>
      Signed-off-by: NDan Williams <dan.j.williams@intel.com>
      3fa58dca
  8. 10 11月, 2018 6 次提交
    • J
      floppy: fix race condition in __floppy_read_block_0() · de7b75d8
      Jens Axboe 提交于
      LKP recently reported a hang at bootup in the floppy code:
      
      [  245.678853] INFO: task mount:580 blocked for more than 120 seconds.
      [  245.679906]       Tainted: G                T 4.19.0-rc6-00172-ga9f38e1d #1
      [  245.680959] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
      [  245.682181] mount           D 6372   580      1 0x00000004
      [  245.683023] Call Trace:
      [  245.683425]  __schedule+0x2df/0x570
      [  245.683975]  schedule+0x2d/0x80
      [  245.684476]  schedule_timeout+0x19d/0x330
      [  245.685090]  ? wait_for_common+0xa5/0x170
      [  245.685735]  wait_for_common+0xac/0x170
      [  245.686339]  ? do_sched_yield+0x90/0x90
      [  245.686935]  wait_for_completion+0x12/0x20
      [  245.687571]  __floppy_read_block_0+0xfb/0x150
      [  245.688244]  ? floppy_resume+0x40/0x40
      [  245.688844]  floppy_revalidate+0x20f/0x240
      [  245.689486]  check_disk_change+0x43/0x60
      [  245.690087]  floppy_open+0x1ea/0x360
      [  245.690653]  __blkdev_get+0xb4/0x4d0
      [  245.691212]  ? blkdev_get+0x1db/0x370
      [  245.691777]  blkdev_get+0x1f3/0x370
      [  245.692351]  ? path_put+0x15/0x20
      [  245.692871]  ? lookup_bdev+0x4b/0x90
      [  245.693539]  blkdev_get_by_path+0x3d/0x80
      [  245.694165]  mount_bdev+0x2a/0x190
      [  245.694695]  squashfs_mount+0x10/0x20
      [  245.695271]  ? squashfs_alloc_inode+0x30/0x30
      [  245.695960]  mount_fs+0xf/0x90
      [  245.696451]  vfs_kern_mount+0x43/0x130
      [  245.697036]  do_mount+0x187/0xc40
      [  245.697563]  ? memdup_user+0x28/0x50
      [  245.698124]  ksys_mount+0x60/0xc0
      [  245.698639]  sys_mount+0x19/0x20
      [  245.699167]  do_int80_syscall_32+0x61/0x130
      [  245.699813]  entry_INT80_32+0xc7/0xc7
      
      showing that we never complete that read request. The reason is that
      the completion setup is racy - it initializes the completion event
      AFTER submitting the IO, which means that the IO could complete
      before/during the init. If it does, we are passing garbage to
      complete() and we may sleep forever waiting for the event to
      occur.
      
      Fixes: 7b7b68bb ("floppy: bail out in open() if drive is not responding to block0 read")
      Reviewed-by: NOmar Sandoval <osandov@fb.com>
      Signed-off-by: NJens Axboe <axboe@kernel.dk>
      de7b75d8
    • A
      net: mvneta: correct typo · fbd1d524
      Alexandre Belloni 提交于
      The reserved variable should be named reserved1.
      Signed-off-by: NAlexandre Belloni <alexandre.belloni@bootlin.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      fbd1d524
    • S
      net: qualcomm: rmnet: Fix incorrect assignment of real_dev · d02854dc
      Subash Abhinov Kasiviswanathan 提交于
      A null dereference was observed when a sysctl was being set
      from userspace and rmnet was stuck trying to complete some actions
      in the NETDEV_REGISTER callback. This is because the real_dev is set
      only after the device registration handler completes.
      
      sysctl call stack -
      
      <6> Unable to handle kernel NULL pointer dereference at
          virtual address 00000108
      <2> pc : rmnet_vnd_get_iflink+0x1c/0x28
      <2> lr : dev_get_iflink+0x2c/0x40
      <2>  rmnet_vnd_get_iflink+0x1c/0x28
      <2>  inet6_fill_ifinfo+0x15c/0x234
      <2>  inet6_ifinfo_notify+0x68/0xd4
      <2>  ndisc_ifinfo_sysctl_change+0x1b8/0x234
      <2>  proc_sys_call_handler+0xac/0x100
      <2>  proc_sys_write+0x3c/0x4c
      <2>  __vfs_write+0x54/0x14c
      <2>  vfs_write+0xcc/0x188
      <2>  SyS_write+0x60/0xc0
      <2>  el0_svc_naked+0x34/0x38
      
      device register call stack -
      
      <2>  notifier_call_chain+0x84/0xbc
      <2>  raw_notifier_call_chain+0x38/0x48
      <2>  call_netdevice_notifiers_info+0x40/0x70
      <2>  call_netdevice_notifiers+0x38/0x60
      <2>  register_netdevice+0x29c/0x3d8
      <2>  rmnet_vnd_newlink+0x68/0xe8
      <2>  rmnet_newlink+0xa0/0x160
      <2>  rtnl_newlink+0x57c/0x6c8
      <2>  rtnetlink_rcv_msg+0x1dc/0x328
      <2>  netlink_rcv_skb+0xac/0x118
      <2>  rtnetlink_rcv+0x24/0x30
      <2>  netlink_unicast+0x158/0x1f0
      <2>  netlink_sendmsg+0x32c/0x338
      <2>  sock_sendmsg+0x44/0x60
      <2>  SyS_sendto+0x150/0x1ac
      <2>  el0_svc_naked+0x34/0x38
      
      Fixes: b752eff5 ("net: qualcomm: rmnet: Implement ndo_get_iflink")
      Signed-off-by: NSean Tranchetti <stranche@codeaurora.org>
      Signed-off-by: NSubash Abhinov Kasiviswanathan <subashab@codeaurora.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      d02854dc
    • D
      net: aquantia: allow rx checksum offload configuration · bbb67a44
      Dmitry Bogdanov 提交于
      RX Checksum offloads could not be configured and ignored netdev features
      flag for checksumming.
      Signed-off-by: NIgor Russkikh <igor.russkikh@aquantia.com>
      Signed-off-by: NDmitry Bogdanov <dmitry.bogdanov@aquantia.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      bbb67a44
    • D
      net: aquantia: invalid checksumm offload implementation · ad703c2b
      Dmitry Bogdanov 提交于
      Packets with marked invalid IP/UDP/TCP checksums were considered as good
      by the driver. The error was in a logic, processing offload bits in
      RX descriptor.
      Signed-off-by: NIgor Russkikh <igor.russkikh@aquantia.com>
      Signed-off-by: NDmitry Bogdanov <dmitry.bogdanov@aquantia.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      ad703c2b
    • I
      net: aquantia: fixed enable unicast on 32 macvlan · bfaa9f85
      Igor Russkikh 提交于
      Fixed a condition mistake due to which macvlans unicast
      item number 32 was not added in the unicast filter.
      
      The consequence is that when exactly 32 macvlans are created
      on NIC, the last created macvlan receives no traffic because
      its MAC was not registered in HW.
      
      Fixes: 94b3b542 ("net: aquantia: vlan unicast address list correct handling")
      Signed-off-by: NIgor Russkikh <igor.russkikh@aquantia.com>
      Tested-by: NNikita Danilov <nikita.danilov@aquantia.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      bfaa9f85