1. 04 Dec, 2020 9 commits
  2. 03 Dec, 2020 23 commits
  3. 02 Dec, 2020 8 commits
    • Linus Torvalds's avatar
      Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · 3bb61aa6
      Linus Torvalds authored
      Pull arm64 fixes from Will Deacon:
       "I'm sad to say that we've got an unusually large arm64 fixes pull for
        rc7 which addresses numerous significant instrumentation issues with
        our entry code.
      
        Without these patches, lockdep is hopelessly unreliable in some
        configurations [1,2] and syzkaller is therefore not a lot of use
        because it's so noisy.
      
        Although much of this has always been broken, it appears to have been
        exposed more readily by other changes such as 044d0d6d ("lockdep:
        Only trace IRQ edges") and general lockdep improvements around IRQ
        tracing and NMIs.
      
        Fixing this properly required moving much of the instrumentation hooks
        from our entry assembly into C, which Mark has been working on for the
        last few weeks. We're not quite ready to move to the recently added
        generic functions yet, but the code here has been deliberately written
        to mimic that closely so we can look at cleaning things up once we
        have a bit more breathing room.
      
        Having said all that, the second version of these patches was posted
        last week and I pushed it into our CI (kernelci and cki) along with a
        commit which forced on PROVE_LOCKING, NOHZ_FULL and
        CONTEXT_TRACKING_FORCE. The result? We found a real bug in the
        md/raid10 code [3].
      
        Oh, and there's also a really silly typo patch that's unrelated.
      
        Summary:
      
         - Fix numerous issues with instrumentation and exception entry
      
         - Fix hideous typo in unused register field definition"
      
      [1] https://lore.kernel.org/r/CACT4Y+aAzoJ48Mh1wNYD17pJqyEcDnrxGfApir=-j171TnQXhw@mail.gmail.com
      [2] https://lore.kernel.org/r/20201119193819.GA2601289@elver.google.com
      [3] https://lore.kernel.org/r/94c76d5e-466a-bc5f-e6c2-a11b65c39f83@redhat.com
      
      * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
        arm64: mte: Fix typo in macro definition
        arm64: entry: fix EL1 debug transitions
        arm64: entry: fix NMI {user, kernel}->kernel transitions
        arm64: entry: fix non-NMI kernel<->kernel transitions
        arm64: ptrace: prepare for EL1 irq/rcu tracking
        arm64: entry: fix non-NMI user<->kernel transitions
        arm64: entry: move el1 irq/nmi logic to C
        arm64: entry: prepare ret_to_user for function call
        arm64: entry: move enter_from_user_mode to entry-common.c
        arm64: entry: mark entry code as noinstr
        arm64: mark idle code as noinstr
        arm64: syscall: exit userspace before unmasking exceptions
      3bb61aa6
    • Linus Torvalds's avatar
      Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost · 2c6ffa9e
      Linus Torvalds authored
      Pull vdpa fixes from Michael Tsirkin:
       "A couple of fixes that surfaced at the last minute"
      
      * tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost:
        vhost_vdpa: return -EFAULT if copy_to_user() fails
        vdpa: mlx5: fix vdpa/vhost dependencies
      2c6ffa9e
    • Linus Torvalds's avatar
      Merge tag 'sound-5.10-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · bb95d607
      Linus Torvalds authored
      Pull sound fixes from Takashi Iwai:
       "Here are the pending sound fixes for 5.10: all small device-specific
        fixes, and nothing particular stands out, so far"
      
      * tag 'sound-5.10-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ALSA: hda/realtek: Add mute LED quirk to yet another HP x360 model
        ALSA: hda/realtek: Fix bass speaker DAC assignment on Asus Zephyrus G14
        ALSA: hda/generic: Add option to enforce preferred_dacs pairs
        ALSA: usb-audio: US16x08: fix value count for level meters
        ALSA: hda/realtek - Add new codec supported for ALC897
        ASoC: rt5682: change SAR voltage threshold
        ASoC: wm_adsp: fix error return code in wm_adsp_load()
        ALSA: hda/realtek: Enable headset of ASUS UX482EG & B9400CEA with ALC294
        ASoC: qcom: Fix enabling BCLK and LRCLK in LPAIF invalid state
        ALSA: hda/realtek - Fixed Dell AIO wrong sound tone
        ASoC: Intel: bytcr_rt5640: Fix HP Pavilion x2 Detachable quirks
      bb95d607
    • Linus Torvalds's avatar
      Merge tag 'trace-v5.10-rc6-bootconfig' of... · 8a02ec8f
      Linus Torvalds authored
      Merge tag 'trace-v5.10-rc6-bootconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace
      
      Pull bootconfig fixes from Steven Rostedt:
       "Have bootconfig size and checksum be little endian
      
        In case the bootconfig is created on one kind of endian machine, and
        then read on the other kind of endian kernel, the size and checksum
        will be incorrect. Instead, have both the size and checksum always be
        little endian and have the tool and the kernel convert it from little
        endian to or from the host endian"
      
      * tag 'trace-v5.10-rc6-bootconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
        docs: bootconfig: Add the endianness of fields
        tools/bootconfig: Store size and checksum in footer as le32
        bootconfig: Load size and checksum in the footer as le32
      8a02ec8f
    • Yangbo Lu's avatar
      dpaa_eth: copy timestamp fields to new skb in A-050385 workaround · 07500a60
      Yangbo Lu authored
      The timestamp fields should be copied to new skb too in
      A-050385 workaround for later TX timestamping handling.
      
      Fixes: 3c68b8ff ("dpaa_eth: FMan erratum A050385 workaround")
      Signed-off-by: default avatarYangbo Lu <yangbo.lu@nxp.com>
      Acked-by: default avatarCamelia Groza <camelia.groza@nxp.com>
      Link: https://lore.kernel.org/r/20201201075258.1875-1-yangbo.lu@nxp.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      07500a60
    • Antoine Tenart's avatar
      net: ip6_gre: set dev->hard_header_len when using header_ops · 832ba596
      Antoine Tenart authored
      syzkaller managed to crash the kernel using an NBMA ip6gre interface. I
      could reproduce it creating an NBMA ip6gre interface and forwarding
      traffic to it:
      
        skbuff: skb_under_panic: text:ffffffff8250e927 len:148 put:44 head:ffff8c03c7a33
        ------------[ cut here ]------------
        kernel BUG at net/core/skbuff.c:109!
        Call Trace:
        skb_push+0x10/0x10
        ip6gre_header+0x47/0x1b0
        neigh_connected_output+0xae/0xf0
      
      ip6gre tunnel provides its own header_ops->create, and sets it
      conditionally when initializing the tunnel in NBMA mode. When
      header_ops->create is used, dev->hard_header_len should reflect the
      length of the header created. Otherwise, when not used,
      dev->needed_headroom should be used.
      
      Fixes: eb95f52f ("net: ipv6_gre: Fix GRO to work on IPv6 over GRE tap")
      Cc: Maria Pasechnik <mariap@mellanox.com>
      Signed-off-by: default avatarAntoine Tenart <atenart@kernel.org>
      Link: https://lore.kernel.org/r/20201130161911.464106-1-atenart@kernel.orgSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      832ba596
    • Stanislaw Gruszka's avatar
      mt76: usb: fix crash on device removal · 80798201
      Stanislaw Gruszka authored
      Currently 'while (q->queued > 0)' loop was removed from mt76u_stop_tx()
      code. This causes crash on device removal as we try to cleanup empty
      queue:
      
      [   96.495571] kernel BUG at include/linux/skbuff.h:2297!
      [   96.498983] invalid opcode: 0000 [#1] SMP PTI
      [   96.501162] CPU: 3 PID: 27 Comm: kworker/3:0 Not tainted 5.10.0-rc5+ #11
      [   96.502754] Hardware name: LENOVO 20DGS08H00/20DGS08H00, BIOS J5ET48WW (1.19 ) 08/27/2015
      [   96.504378] Workqueue: usb_hub_wq hub_event
      [   96.505983] RIP: 0010:skb_pull+0x2d/0x30
      [   96.507576] Code: 00 00 8b 47 70 39 c6 77 1e 29 f0 89 47 70 3b 47 74 72 17 48 8b 87 c8 00 00 00 89 f6 48 01 f0 48 89 87 c8 00 00 00 c3 31 c0 c3 <0f> 0b 90 0f 1f 44 00 00 53 48 89 fb 48 8b bf c8 00 00 00 8b 43 70
      [   96.509296] RSP: 0018:ffffb11b801639b8 EFLAGS: 00010287
      [   96.511038] RAX: 000000001c6939ed RBX: ffffb11b801639f8 RCX: 0000000000000000
      [   96.512964] RDX: ffffb11b801639f8 RSI: 0000000000000018 RDI: ffff90c64e4fb800
      [   96.514710] RBP: ffff90c654551ee0 R08: ffff90c652bce7a8 R09: ffffb11b80163728
      [   96.516450] R10: 0000000000000001 R11: 0000000000000001 R12: ffff90c64e4fb800
      [   96.519749] R13: 0000000000000010 R14: 0000000000000020 R15: ffff90c64e352ce8
      [   96.523455] FS:  0000000000000000(0000) GS:ffff90c96eec0000(0000) knlGS:0000000000000000
      [   96.527171] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      [   96.530900] CR2: 0000242556f18288 CR3: 0000000146a10002 CR4: 00000000003706e0
      [   96.534678] Call Trace:
      [   96.538418]  mt76x02u_tx_complete_skb+0x1f/0x50 [mt76x02_usb]
      [   96.542231]  mt76_queue_tx_complete+0x23/0x50 [mt76]
      [   96.546028]  mt76u_stop_tx.cold+0x71/0xa2 [mt76_usb]
      [   96.549797]  mt76x0u_stop+0x2f/0x90 [mt76x0u]
      [   96.553638]  drv_stop+0x33/0xd0 [mac80211]
      [   96.557449]  ieee80211_do_stop+0x558/0x860 [mac80211]
      [   96.561262]  ? dev_deactivate_many+0x298/0x2d0
      [   96.565101]  ieee80211_stop+0x16/0x20 [mac80211]
      
      Fix that by adding while loop again. We need loop, not just single
      check, to clean all pending entries.
      
      Additionally move mt76_worker_disable/enable after !mt76_has_tx_pending()
      as we want to tx_worker to run to process tx queues, while we wait for
      exactly that.
      
      I was a bit worried about accessing q->queued without lock, but
      mt76_worker_disable() -> kthread_park() should assure this value will
      be seen updated on other cpus.
      
      Fixes: fe5b5ab5 ("mt76: unify queue tx cleanup code")
      Signed-off-by: default avatarStanislaw Gruszka <stf_xl@wp.pl>
      Acked-by: default avatarFelix Fietkau <nbd@nbd.name>
      Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
      Link: https://lore.kernel.org/r/20201126125520.72912-1-stf_xl@wp.pl
      80798201
    • Golan Ben Ami's avatar