1. 17 Mar, 2023 25 commits
  2. 16 Mar, 2023 6 commits
    • Linus Torvalds's avatar
      Merge tag '6.3-rc2-smb3-client-fixes' of git://git.samba.org/sfrench/cifs-2.6 · 38e04b3e
      Linus Torvalds authored
      Pull cifs client fixes from Steve French:
       "Seven cifs/smb3 client fixes, all also for stable:
      
         - four DFS fixes
      
         - multichannel reconnect fix
      
         - fix smb1 stats for cancel command
      
         - fix for set file size error path"
      
      * tag '6.3-rc2-smb3-client-fixes' of git://git.samba.org/sfrench/cifs-2.6:
        cifs: use DFS root session instead of tcon ses
        cifs: return DFS root session id in DebugData
        cifs: fix use-after-free bug in refresh_cache_worker()
        cifs: set DFS root session in cifs_get_smb_ses()
        cifs: generate signkey for the channel that's reconnecting
        cifs: Fix smb2_set_path_size()
        cifs: Move the in_send statistic to __smb_send_rqst()
      38e04b3e
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · 0ddc84d2
      Linus Torvalds authored
      Pull kvm fixes from Paolo Bonzini:
       "ARM64:
      
         - Address a rather annoying bug w.r.t. guest timer offsetting. The
           synchronization of timer offsets between vCPUs was broken, leading
           to inconsistent timer reads within the VM.
      
        x86:
      
         - New tests for the slow path of the EVTCHNOP_send Xen hypercall
      
         - Add missing nVMX consistency checks for CR0 and CR4
      
         - Fix bug that broke AMD GATag on 512 vCPU machines
      
        Selftests:
      
         - Skip hugetlb tests if huge pages are not available
      
         - Sync KVM exit reasons"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
        KVM: selftests: Sync KVM exit reasons in selftests
        KVM: selftests: Add macro to generate KVM exit reason strings
        KVM: selftests: Print expected and actual exit reason in KVM exit reason assert
        KVM: selftests: Make vCPU exit reason test assertion common
        KVM: selftests: Add EVTCHNOP_send slow path test to xen_shinfo_test
        KVM: selftests: Use enum for test numbers in xen_shinfo_test
        KVM: selftests: Add helpers to make Xen-style VMCALL/VMMCALL hypercalls
        KVM: selftests: Move the guts of kvm_hypercall() to a separate macro
        KVM: SVM: WARN if GATag generation drops VM or vCPU ID information
        KVM: SVM: Modify AVIC GATag to support max number of 512 vCPUs
        KVM: SVM: Fix a benign off-by-one bug in AVIC physical table mask
        selftests: KVM: skip hugetlb tests if huge pages are not available
        KVM: VMX: Use tabs instead of spaces for indentation
        KVM: VMX: Fix indentation coding style issue
        KVM: nVMX: remove unnecessary #ifdef
        KVM: nVMX: add missing consistency checks for CR0 and CR4
        KVM: arm64: timers: Convert per-vcpu virtual offset to a global value
      0ddc84d2
    • Pavel Begunkov's avatar
      io_uring/rsrc: fix folio accounting · d2acf789
      Pavel Begunkov authored
      | BUG: Bad page state in process kworker/u8:0  pfn:5c001
      | page:00000000bfda61c8 refcount:0 mapcount:0 mapping:0000000000000000 index:0x20001 pfn:0x5c001
      | head:0000000011409842 order:9 entire_mapcount:0 nr_pages_mapped:0 pincount:1
      | anon flags: 0x3fffc00000b0004(uptodate|head|mappedtodisk|swapbacked|node=0|zone=0|lastcpupid=0xffff)
      | raw: 03fffc0000000000 fffffc0000700001 ffffffff00700903 0000000100000000
      | raw: 0000000000000200 0000000000000000 00000000ffffffff 0000000000000000
      | head: 03fffc00000b0004 dead000000000100 dead000000000122 ffff00000a809dc1
      | head: 0000000000020000 0000000000000000 00000000ffffffff 0000000000000000
      | page dumped because: nonzero pincount
      | CPU: 3 PID: 9 Comm: kworker/u8:0 Not tainted 6.3.0-rc2-00001-gc6811bf0cd87 #1
      | Hardware name: linux,dummy-virt (DT)
      | Workqueue: events_unbound io_ring_exit_work
      | Call trace:
      |  dump_backtrace+0x13c/0x208
      |  show_stack+0x34/0x58
      |  dump_stack_lvl+0x150/0x1a8
      |  dump_stack+0x20/0x30
      |  bad_page+0xec/0x238
      |  free_tail_pages_check+0x280/0x350
      |  free_pcp_prepare+0x60c/0x830
      |  free_unref_page+0x50/0x498
      |  free_compound_page+0xcc/0x100
      |  free_transhuge_page+0x1f0/0x2b8
      |  destroy_large_folio+0x80/0xc8
      |  __folio_put+0xc4/0xf8
      |  gup_put_folio+0xd0/0x250
      |  unpin_user_page+0xcc/0x128
      |  io_buffer_unmap+0xec/0x2c0
      |  __io_sqe_buffers_unregister+0xa4/0x1e0
      |  io_ring_exit_work+0x68c/0x1188
      |  process_one_work+0x91c/0x1a58
      |  worker_thread+0x48c/0xe30
      |  kthread+0x278/0x2f0
      |  ret_from_fork+0x10/0x20
      
      Mark reports an issue with the recent patches coalescing compound pages
      while registering them in io_uring. The reason is that we try to drop
      excessive references with folio_put_refs(), but pages were acquired
      with pin_user_pages(), which has extra accounting and so should be put
      down with matching unpin_user_pages() or at least gup_put_folio().
      
      As a fix unpin_user_pages() all but first page instead, and let's figure
      out a better API after.
      
      Fixes: 57bebf80 ("io_uring/rsrc: optimise registered huge pages")
      Reported-by: default avatarMark Rutland <mark.rutland@arm.com>
      Reviewed-by: default avatarJens Axboe <axboe@kernel.dk>
      Tested-by: default avatarJens Axboe <axboe@kernel.dk>
      Signed-off-by: default avatarPavel Begunkov <asml.silence@gmail.com>
      Link: https://lore.kernel.org/r/10efd5507d6d1f05ea0f3c601830e08767e189bd.1678980230.git.asml.silence@gmail.comSigned-off-by: default avatarJens Axboe <axboe@kernel.dk>
      d2acf789
    • Pavel Begunkov's avatar
      io_uring/msg_ring: let target know allocated index · 5da28edd
      Pavel Begunkov authored
      msg_ring requests transferring files support auto index selection via
      IORING_FILE_INDEX_ALLOC, however they don't return the selected index
      to the target ring and there is no other good way for the userspace to
      know where is the receieved file.
      
      Return the index for allocated slots and 0 otherwise, which is
      consistent with other fixed file installing requests.
      
      Cc: stable@vger.kernel.org # v6.0+
      Fixes: e6130eba ("io_uring: add support for passing fixed file descriptors")
      Signed-off-by: default avatarPavel Begunkov <asml.silence@gmail.com>
      Link: https://github.com/axboe/liburing/issues/809Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      5da28edd
    • Yu Zhe's avatar
      xen: remove unnecessary (void*) conversions · 7ad2c398
      Yu Zhe authored
      Pointer variables of void * type do not require type cast.
      Signed-off-by: default avatarYu Zhe <yuzhe@nfschina.com>
      Reviewed-by: default avatarJuergen Gross <jgross@suse.com>
      Link: https://lore.kernel.org/r/20230316083954.4223-1-yuzhe@nfschina.comSigned-off-by: default avatarJuergen Gross <jgross@suse.com>
      7ad2c398
    • Li zeming's avatar
      io_uring: rsrc: Optimize return value variable 'ret' · 6acd352d
      Li zeming authored
      The initialization assignment of the variable ret is changed to 0, only
      in 'goto fail;' Use the ret variable as the function return value.
      Signed-off-by: default avatarLi zeming <zeming@nfschina.com>
      Link: https://lore.kernel.org/r/20230317182538.3027-1-zeming@nfschina.comSigned-off-by: default avatarJens Axboe <axboe@kernel.dk>
      6acd352d
  3. 15 Mar, 2023 9 commits