aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSalvatore Bonaccorso <carnil@debian.org>2020-06-24 17:01:02 +0200
committerSalvatore Bonaccorso <carnil@debian.org>2020-06-24 17:01:02 +0200
commit8aa17aa03eb31baf97cf4daf687441b796fff2f5 (patch)
treea276f7a67e32bbdeadc5b94e6059576ec3f4bbd5
parentb822c76e9759da4905cf931bcaba2e39b80d19f9 (diff)
parent997162f8cd684ee4abdb1e7707336177a1844de0 (diff)
downloadkernel_replicant_linux-8aa17aa03eb31baf97cf4daf687441b796fff2f5.tar.gz
kernel_replicant_linux-8aa17aa03eb31baf97cf4daf687441b796fff2f5.tar.bz2
kernel_replicant_linux-8aa17aa03eb31baf97cf4daf687441b796fff2f5.zip
Merge tag 'debian/5.6.14-2'
Release linux (5.6.14-2).
-rw-r--r--debian/changelog718
-rw-r--r--debian/config/config.cloud136
-rw-r--r--debian/installer/modules/arm64/kernel-image3
-rw-r--r--debian/patches-rt/0001-Split-IRQ-off-and-zone-lock-while-freeing-pages-from.patch2
-rw-r--r--debian/patches-rt/0001-bpf-Tighten-the-requirements-for-preallocated-hash-m.patch4
-rw-r--r--debian/patches-rt/0001-drm-vmwgfx-Drop-preempt_disable-in-vmw_fifo_ping_hos.patch2
-rw-r--r--debian/patches-rt/0001-locking-percpu-rwsem-lockdep-Make-percpu-rwsem-use-i.patch2
-rw-r--r--debian/patches-rt/0001-printk-rb-add-printk-ring-buffer-documentation.patch2
-rw-r--r--debian/patches-rt/0001-workqueue-Don-t-assume-that-the-callback-has-interru.patch2
-rw-r--r--debian/patches-rt/0002-Split-IRQ-off-and-zone-lock-while-freeing-pages-from.patch2
-rw-r--r--debian/patches-rt/0002-bpf-Enforce-preallocation-for-instrumentation-progra.patch4
-rw-r--r--debian/patches-rt/0002-drm-vmwgfx-Remove-a-few-unused-functions.patch2
-rw-r--r--debian/patches-rt/0002-locking-percpu-rwsem-Convert-to-bool.patch2
-rw-r--r--debian/patches-rt/0002-printk-rb-add-prb-locking-functions.patch2
-rw-r--r--debian/patches-rt/0002-sched-swait-Add-swait_event_lock_irq.patch2
-rw-r--r--debian/patches-rt/0003-bpf-Update-locking-comment-in-hashtab-code.patch2
-rw-r--r--debian/patches-rt/0003-locking-percpu-rwsem-Move-__this_cpu_inc-into-the-sl.patch2
-rw-r--r--debian/patches-rt/0003-mm-SLxB-change-list_lock-to-raw_spinlock_t.patch26
-rw-r--r--debian/patches-rt/0003-printk-rb-define-ring-buffer-struct-and-initializer.patch2
-rw-r--r--debian/patches-rt/0003-workqueue-Use-swait-for-wq_manager_wait.patch2
-rw-r--r--debian/patches-rt/0004-bpf-tracing-Remove-redundant-preempt_disable-in-__bp.patch2
-rw-r--r--debian/patches-rt/0004-locking-percpu-rwsem-Extract-__percpu_down_read_tryl.patch2
-rw-r--r--debian/patches-rt/0004-mm-SLUB-delay-giving-back-empty-slubs-to-IRQ-enabled.patch14
-rw-r--r--debian/patches-rt/0004-printk-rb-add-writer-interface.patch2
-rw-r--r--debian/patches-rt/0004-workqueue-Convert-the-locks-to-raw-type.patch2
-rw-r--r--debian/patches-rt/0005-bpf-trace-Remove-EXPORT-from-trace_call_bpf.patch2
-rw-r--r--debian/patches-rt/0005-locking-percpu-rwsem-Remove-the-embedded-rwsem.patch2
-rw-r--r--debian/patches-rt/0005-printk-rb-add-basic-non-blocking-reading-interface.patch2
-rw-r--r--debian/patches-rt/0005.5-bpf-disable-preemption-for-bpf-progs-attached-to-upr.patch2
-rw-r--r--debian/patches-rt/0006-bpf-trace-Remove-redundant-preempt_disable-from-trac.patch2
-rw-r--r--debian/patches-rt/0006-locking-percpu-rwsem-Fold-__percpu_up_read.patch2
-rw-r--r--debian/patches-rt/0006-printk-rb-add-blocking-reader-support.patch2
-rw-r--r--debian/patches-rt/0007-locking-percpu-rwsem-Add-might_sleep-for-writer-lock.patch2
-rw-r--r--debian/patches-rt/0007-perf-bpf-Remove-preempt-disable-around-BPF-invocatio.patch6
-rw-r--r--debian/patches-rt/0007-printk-rb-add-functionality-required-by-printk.patch2
-rw-r--r--debian/patches-rt/0008-bpf-Remove-recursion-prevention-from-rcu-free-callba.patch2
-rw-r--r--debian/patches-rt/0008-printk-add-ring-buffer-and-kthread.patch10
-rw-r--r--debian/patches-rt/0009-bpf-Dont-iterate-over-possible-CPUs-with-interrupts-.patch2
-rw-r--r--debian/patches-rt/0009-printk-remove-exclusive-console-hack.patch12
-rw-r--r--debian/patches-rt/0010-bpf-Provide-bpf_prog_run_pin_on_cpu-helper.patch2
-rw-r--r--debian/patches-rt/0010-printk-redirect-emit-store-to-new-ringbuffer.patch18
-rw-r--r--debian/patches-rt/0011-bpf-Replace-cant_sleep-with-cant_migrate.patch2
-rw-r--r--debian/patches-rt/0011-printk_safe-remove-printk-safe-code.patch131
-rw-r--r--debian/patches-rt/0012-bpf-Use-bpf_prog_run_pin_on_cpu-at-simple-call-sites.patch2
-rw-r--r--debian/patches-rt/0012-printk-minimize-console-locking-implementation.patch2
-rw-r--r--debian/patches-rt/0013-bpf-tests-Use-migrate-disable-instead-of-preempt-dis.patch2
-rw-r--r--debian/patches-rt/0013-printk-track-seq-per-console.patch2
-rw-r--r--debian/patches-rt/0014-bpf-Use-migrate_disable-enabe-in-trampoline-code.patch2
-rw-r--r--debian/patches-rt/0014-printk-do-boot_delay_msec-inside-printk_delay.patch2
-rw-r--r--debian/patches-rt/0015-bpf-Use-migrate_disable-enable-in-array-macros-and-c.patch2
-rw-r--r--debian/patches-rt/0015-printk-print-history-for-new-consoles.patch2
-rw-r--r--debian/patches-rt/0016-bpf-Provide-recursion-prevention-helpers.patch2
-rw-r--r--debian/patches-rt/0016-printk-implement-CON_PRINTBUFFER.patch2
-rw-r--r--debian/patches-rt/0017-bpf-Use-recursion-prevention-helpers-in-hashtab-code.patch2
-rw-r--r--debian/patches-rt/0017-printk-add-processor-number-to-output.patch2
-rw-r--r--debian/patches-rt/0018-bpf-Replace-open-coded-recursion-prevention-in-sys_b.patch6
-rw-r--r--debian/patches-rt/0018-console-add-write_atomic-interface.patch2
-rw-r--r--debian/patches-rt/0019-bpf-Factor-out-hashtab-bucket-lock-operations.patch2
-rw-r--r--debian/patches-rt/0019-printk-introduce-emergency-messages.patch2
-rw-r--r--debian/patches-rt/0020-bpf-Prepare-hashtab-locking-for-PREEMPT_RT.patch2
-rw-r--r--debian/patches-rt/0020-serial-8250-implement-write_atomic.patch2
-rw-r--r--debian/patches-rt/0021-bpf-lpm-Make-locking-RT-friendly.patch2
-rw-r--r--debian/patches-rt/0021-printk-implement-KERN_CONT.patch2
-rw-r--r--debian/patches-rt/0022-bpf-stackmap-Dont-trylock-mmap_sem-with-PREEMPT_RT-a.patch2
-rw-r--r--debian/patches-rt/0022-printk-implement-dev-kmsg.patch2
-rw-r--r--debian/patches-rt/0023-printk-implement-syslog.patch2
-rw-r--r--debian/patches-rt/0024-printk-implement-kmsg_dump.patch2
-rw-r--r--debian/patches-rt/0025-printk-remove-unused-code.patch2
-rw-r--r--debian/patches-rt/ARM-Allow-to-enable-RT.patch2
-rw-r--r--debian/patches-rt/ARM-enable-irq-in-translation-section-permission-fau.patch2
-rw-r--r--debian/patches-rt/ARM64-Allow-to-enable-RT.patch2
-rw-r--r--debian/patches-rt/KVM-arm-arm64-downgrade-preempt_disable-d-region-to-.patch2
-rw-r--r--debian/patches-rt/NFSv4-replace-seqcount_t-with-a-seqlock_t.patch2
-rw-r--r--debian/patches-rt/POWERPC-Allow-to-enable-RT.patch2
-rw-r--r--debian/patches-rt/Revert-rt-Improve-the-serial-console-PASS_LIMIT.patch35
-rw-r--r--debian/patches-rt/Use-CONFIG_PREEMPTION.patch2
-rw-r--r--debian/patches-rt/add_migrate_disable.patch18
-rw-r--r--debian/patches-rt/arch-arm64-Add-lazy-preempt-support.patch2
-rw-r--r--debian/patches-rt/arm-enable-highmem-for-rt.patch2
-rw-r--r--debian/patches-rt/arm-highmem-flush-tlb-on-unmap.patch2
-rw-r--r--debian/patches-rt/arm-include-definition-for-cpumask_t.patch2
-rw-r--r--debian/patches-rt/arm-preempt-lazy-support.patch2
-rw-r--r--debian/patches-rt/arm-remove-printk_nmi_.patch2
-rw-r--r--debian/patches-rt/arm64-fpsimd-use-preemp_disable-in-addition-to-local.patch2
-rw-r--r--debian/patches-rt/at91_dont_enable_disable_clock.patch2
-rw-r--r--debian/patches-rt/block-mq-don-t-complete-requests-via-IPI.patch2
-rw-r--r--debian/patches-rt/block-mq-drop-preempt-disable.patch4
-rw-r--r--debian/patches-rt/block-use-cpu-chill.patch4
-rw-r--r--debian/patches-rt/cgroup-use-irqsave-in-cgroup_rstat_flush_locked.patch2
-rw-r--r--debian/patches-rt/clocksource-tclib-allow-higher-clockrates.patch2
-rw-r--r--debian/patches-rt/completion-use-simple-wait-queues.patch4
-rw-r--r--debian/patches-rt/cond-resched-lock-rt-tweak.patch2
-rw-r--r--debian/patches-rt/connector-cn_proc-Protect-send_msg-with-a-local-lock.patch2
-rw-r--r--debian/patches-rt/cpuset-Convert-callback_lock-to-raw_spinlock_t.patch2
-rw-r--r--debian/patches-rt/crypto-Reduce-preempt-disabled-regions-more-algos.patch2
-rw-r--r--debian/patches-rt/crypto-cryptd-add-a-lock-instead-preempt_disable-loc.patch2
-rw-r--r--debian/patches-rt/crypto-limit-more-FPU-enabled-sections.patch2
-rw-r--r--debian/patches-rt/debugobjects-rt.patch2
-rw-r--r--debian/patches-rt/dma-buf-Use-seqlock_t-instread-disabling-preemption.patch2
-rw-r--r--debian/patches-rt/drivers-block-zram-Replace-bit-spinlocks-with-rtmute.patch2
-rw-r--r--debian/patches-rt/drivers-tty-fix-omap-lock-crap.patch2
-rw-r--r--debian/patches-rt/drivers-tty-pl011-irq-disable-madness.patch2
-rw-r--r--debian/patches-rt/drivers-zram-Don-t-disable-preemption-in-zcomp_strea.patch2
-rw-r--r--debian/patches-rt/drm-i915-disable-tracing-on-RT.patch2
-rw-r--r--debian/patches-rt/drm-i915-gt-use-a-LOCAL_IRQ_LOCK-in-__timeline_mark_.patch2
-rw-r--r--debian/patches-rt/drm-i915-skip-DRM_I915_LOW_LEVEL_TRACEPOINTS-with-NO.patch2
-rw-r--r--debian/patches-rt/drmi915_Use_local_lockunlock_irq()_in_intel_pipe_update_startend().patch2
-rw-r--r--debian/patches-rt/drmradeoni915_Use_preempt_disableenable_rt()_where_recommended.patch2
-rw-r--r--debian/patches-rt/efi-Allow-efi-runtime.patch2
-rw-r--r--debian/patches-rt/efi-Disable-runtime-services-on-RT.patch2
-rw-r--r--debian/patches-rt/fs-buffer-Make-BH_Uptodate_Lock-bit_spin_lock-a-regu.patch4
-rw-r--r--debian/patches-rt/fs-dcache-Include-swait.h-header.patch2
-rw-r--r--debian/patches-rt/fs-dcache-bring-back-explicit-INIT_HLIST_BL_HEAD-in.patch2
-rw-r--r--debian/patches-rt/fs-dcache-disable-preemption-on-i_dir_seq-s-write-si.patch2
-rw-r--r--debian/patches-rt/fs-dcache-use-swait_queue-instead-of-waitqueue.patch6
-rw-r--r--debian/patches-rt/fs-epoll-make-nesting-accounting-safe-for-rt-kernel.patch2
-rw-r--r--debian/patches-rt/fs-namespace-use-cpu-chill-in-trylock-loops.patch2
-rw-r--r--debian/patches-rt/fs-nfs-turn-rmdir_sem-into-a-semaphore.patch2
-rw-r--r--debian/patches-rt/fscache-initialize-cookie-hash-table-raw-spinlocks.patch2
-rw-r--r--debian/patches-rt/ftrace-migrate-disable-tracing.patch2
-rw-r--r--debian/patches-rt/futex-Ensure-lock-unlock-symetry-versus-pi_lock-and-.patch2
-rw-r--r--debian/patches-rt/futex-requeue-pi-fix.patch2
-rw-r--r--debian/patches-rt/futex-workaround-migrate_disable-enable-in-different.patch2
-rw-r--r--debian/patches-rt/genirq-disable-irqpoll-on-rt.patch2
-rw-r--r--debian/patches-rt/genirq-update-irq_set_irqchip_state-documentation.patch2
-rw-r--r--debian/patches-rt/hrtimer-Allow-raw-wakeups-during-boot.patch2
-rw-r--r--debian/patches-rt/irqwork-push_most_work_into_softirq_context.patch2
-rw-r--r--debian/patches-rt/jump-label-rt.patch2
-rw-r--r--debian/patches-rt/kconfig-disable-a-few-options-rt.patch2
-rw-r--r--debian/patches-rt/kernel-sched-move-stack-kprobe-clean-up-to-__put_tas.patch4
-rw-r--r--debian/patches-rt/leds-trigger-disable-CPU-trigger-on-RT.patch2
-rw-r--r--debian/patches-rt/list_bl.h-make-list-head-locking-RT-safe.patch2
-rw-r--r--debian/patches-rt/localversion.patch4
-rw-r--r--debian/patches-rt/lockdep-disable-self-test.patch4
-rw-r--r--debian/patches-rt/lockdep-no-softirq-accounting-on-rt.patch6
-rw-r--r--debian/patches-rt/lockdep-selftest-fix-warnings-due-to-missing-PREEMPT.patch2
-rw-r--r--debian/patches-rt/lockdep-selftest-only-do-hardirq-context-test-for-raw-spinlock.patch2
-rw-r--r--debian/patches-rt/locking-Make-spinlock_t-and-rwlock_t-a-RCU-section-o.patch2
-rw-r--r--debian/patches-rt/locking-don-t-check-for-__LINUX_SPINLOCK_TYPES_H-on-.patch2
-rw-r--r--debian/patches-rt/locking-rt-mutex-Flush-block-plug-on-__down_read.patch2
-rw-r--r--debian/patches-rt/locking-rt-mutex-fix-deadlock-in-device-mapper-block.patch2
-rw-r--r--debian/patches-rt/locking-rtmutex-Clean-pi_blocked_on-in-the-error-cas.patch2
-rw-r--r--debian/patches-rt/md-disable-bcache.patch2
-rw-r--r--debian/patches-rt/md-raid5-percpu-handling-rt-aware.patch2
-rw-r--r--debian/patches-rt/mips-disable-highmem-on-rt.patch2
-rw-r--r--debian/patches-rt/mm-Don-t-warn-about-atomic-memory-allocations-during.patch53
-rw-r--r--debian/patches-rt/mm-Warn-on-memory-allocation-in-non-preemptible-cont.patch8
-rw-r--r--debian/patches-rt/mm-compaction-Disable-compact_unevictable_allowed-on.patch2
-rw-r--r--debian/patches-rt/mm-compaction-Really-limit-compact_unevictable_allow.patch2
-rw-r--r--debian/patches-rt/mm-convert-swap-to-percpu-locked.patch2
-rw-r--r--debian/patches-rt/mm-disable-sloub-rt.patch2
-rw-r--r--debian/patches-rt/mm-enable-slub.patch6
-rw-r--r--debian/patches-rt/mm-make-vmstat-rt-aware.patch2
-rw-r--r--debian/patches-rt/mm-memcontrol-Don-t-call-schedule_work_on-in-preempt.patch2
-rw-r--r--debian/patches-rt/mm-memcontrol-do_not_disable_irq.patch16
-rw-r--r--debian/patches-rt/mm-page_alloc-rt-friendly-per-cpu-pages.patch2
-rw-r--r--debian/patches-rt/mm-rt-kmap-atomic-scheduling.patch2
-rw-r--r--debian/patches-rt/mm-scatterlist-dont-disable-irqs-on-RT.patch2
-rw-r--r--debian/patches-rt/mm-slub-Always-flush-the-delayed-empty-slubs-in-flus.patch54
-rw-r--r--debian/patches-rt/mm-vmalloc-use-get-cpu-light.patch12
-rw-r--r--debian/patches-rt/mm-workingset-replace-IRQ-off-check-with-a-lockdep-a.patch2
-rw-r--r--debian/patches-rt/mm-zswap-Do-not-disable-preemption-in-zswap_frontswa.patch2
-rw-r--r--debian/patches-rt/mm_zsmalloc_copy_with_get_cpu_var_and_locking.patch2
-rw-r--r--debian/patches-rt/net-Qdisc-use-a-seqlock-instead-seqcount.patch2
-rw-r--r--debian/patches-rt/net-core-use-local_bh_disable-in-netif_rx_ni.patch4
-rw-r--r--debian/patches-rt/net-dev-always-take-qdisc-s-busylock-in-__dev_xmit_s.patch2
-rw-r--r--debian/patches-rt/net-make-devnet_rename_seq-a-mutex.patch2
-rw-r--r--debian/patches-rt/net-use-cpu-chill.patch2
-rw-r--r--debian/patches-rt/net_disable_NET_RX_BUSY_POLL.patch2
-rw-r--r--debian/patches-rt/oleg-signal-rt-fix.patch2
-rw-r--r--debian/patches-rt/panic-disable-random-on-rt.patch2
-rw-r--r--debian/patches-rt/pci-switchtec-Don-t-use-completion-s-wait-queue.patch20
-rw-r--r--debian/patches-rt/pid.h-include-atomic.h.patch2
-rw-r--r--debian/patches-rt/posix-timers-expiry-lock.patch2
-rw-r--r--debian/patches-rt/posix-timers-thread-posix-cpu-timers-on-rt.patch2
-rw-r--r--debian/patches-rt/power-disable-highmem-on-rt.patch2
-rw-r--r--debian/patches-rt/powerpc-kvm-Disable-in-kernel-MPIC-emulation-for-PRE.patch2
-rw-r--r--debian/patches-rt/powerpc-preempt-lazy-support.patch2
-rw-r--r--debian/patches-rt/powerpc-pseries-iommu-Use-a-locallock-instead-local_ir.patch2
-rw-r--r--debian/patches-rt/powerpc-stackprotector-work-around-stack-guard-init-.patch2
-rw-r--r--debian/patches-rt/preempt-lazy-support.patch36
-rw-r--r--debian/patches-rt/preempt-nort-rt-variants.patch2
-rw-r--r--debian/patches-rt/printk-console-must-not-schedule-for-drivers.patch4
-rw-r--r--debian/patches-rt/printk-devkmsg-llseek-reset-clear-if-it-is-lost.patch2
-rw-r--r--debian/patches-rt/printk-devkmsg-read-Return-EPIPE-when-the-first-mess.patch2
-rw-r--r--debian/patches-rt/printk-hack-out-emergency-loglevel-usage.patch2
-rw-r--r--debian/patches-rt/printk-handle-iterating-while-buffer-changing.patch2
-rw-r--r--debian/patches-rt/printk-kmsg_dump-remove-mutex-usage.patch2
-rw-r--r--debian/patches-rt/printk-only-allow-kernel-to-emergency-message.patch2
-rw-r--r--debian/patches-rt/printk-print-rate-limitted-message-as-info.patch2
-rw-r--r--debian/patches-rt/printk-set-deferred-to-default-loglevel-enforce-mask.patch2
-rw-r--r--debian/patches-rt/ptrace-fix-ptrace-vs-tasklist_lock-race.patch8
-rw-r--r--debian/patches-rt/radix-tree-use-local-locks.patch2
-rw-r--r--debian/patches-rt/random-make-it-work-on-rt.patch6
-rw-r--r--debian/patches-rt/rcu-Use-a-raw_spinlock_t-for-kfree-batching.patch4
-rw-r--r--debian/patches-rt/rcu-Use-rcuc-threads-on-PREEMPT_RT-as-we-did.patch2
-rw-r--r--debian/patches-rt/rcu-enable-rcu_normal_after_boot-by-default-for-RT.patch2
-rw-r--r--debian/patches-rt/rcu-make-RCU_BOOST-default-on-RT.patch2
-rw-r--r--debian/patches-rt/rcutorture-Avoid-problematic-critical-section-nestin.patch2
-rw-r--r--debian/patches-rt/rt-introduce-cpu-chill.patch2
-rw-r--r--debian/patches-rt/rt-local-irq-lock.patch2
-rw-r--r--debian/patches-rt/rt-serial-warn-fix.patch2
-rw-r--r--debian/patches-rt/rtmutex-Make-lock_killable-work.patch2
-rw-r--r--debian/patches-rt/rtmutex-Provide-rt_mutex_slowlock_locked.patch2
-rw-r--r--debian/patches-rt/rtmutex-add-mutex-implementation-based-on-rtmutex.patch2
-rw-r--r--debian/patches-rt/rtmutex-add-rwlock-implementation-based-on-rtmutex.patch2
-rw-r--r--debian/patches-rt/rtmutex-add-rwsem-implementation-based-on-rtmutex.patch2
-rw-r--r--debian/patches-rt/rtmutex-add-sleeping-lock-implementation.patch2
-rw-r--r--debian/patches-rt/rtmutex-add-ww_mutex-addon-for-mutex-rt.patch2
-rw-r--r--debian/patches-rt/rtmutex-avoid-include-hell.patch2
-rw-r--r--debian/patches-rt/rtmutex-export-lockdep-less-version-of-rt_mutex-s-lo.patch2
-rw-r--r--debian/patches-rt/rtmutex-futex-prepare-rt.patch2
-rw-r--r--debian/patches-rt/rtmutex-lock-killable.patch2
-rw-r--r--debian/patches-rt/rtmutex-trylock-is-okay-on-RT.patch2
-rw-r--r--debian/patches-rt/rtmutex-wire-up-RT-s-locking.patch2
-rw-r--r--debian/patches-rt/rtmutex_dont_include_rcu.patch2
-rw-r--r--debian/patches-rt/sched-Provide-cant_migrate.patch2
-rw-r--r--debian/patches-rt/sched-__set_cpus_allowed_ptr-Check-cpus_mask-not-cpu.patch4
-rw-r--r--debian/patches-rt/sched-disable-rt-group-sched-on-rt.patch2
-rw-r--r--debian/patches-rt/sched-disable-ttwu-queue.patch2
-rw-r--r--debian/patches-rt/sched-limit-nr-migrate.patch2
-rw-r--r--debian/patches-rt/sched-might-sleep-do-not-account-rcu-depth.patch4
-rw-r--r--debian/patches-rt/sched-migrate_enable-Remove-__schedule-call.patch4
-rw-r--r--debian/patches-rt/sched-migrate_enable-Use-per-cpu-cpu_stop_work.patch6
-rw-r--r--debian/patches-rt/sched-migrate_enable-Use-stop_one_cpu_nowait.patch12
-rw-r--r--debian/patches-rt/sched-mmdrop-delayed.patch10
-rw-r--r--debian/patches-rt/sched-rt-Provide-migrate_disable-enable-inlines.patch2
-rw-r--r--debian/patches-rt/sched-rt-mutex-wakeup.patch14
-rw-r--r--debian/patches-rt/scsi-fcoe-rt-aware.patch2
-rw-r--r--debian/patches-rt/seqlock-prevent-rt-starvation.patch2
-rw-r--r--debian/patches-rt/serial-8250-export-symbols-which-are-used-by-symbols.patch2
-rw-r--r--debian/patches-rt/serial-8250-fsl-ingenic-mtk-fix-atomic-console.patch2
-rw-r--r--debian/patches-rt/serial-8250-only-atomic-lock-for-console.patch2
-rw-r--r--debian/patches-rt/serial-8250-remove-that-trylock-in-serial8250_consol.patch2
-rw-r--r--debian/patches-rt/series7
-rw-r--r--debian/patches-rt/signal-Prevent-double-free-of-user-struct.patch2
-rw-r--r--debian/patches-rt/signal-revert-ptrace-preempt-magic.patch4
-rw-r--r--debian/patches-rt/signals-allow-rt-tasks-to-cache-one-sigqueue-struct.patch2
-rw-r--r--debian/patches-rt/skbufhead-raw-lock.patch16
-rw-r--r--debian/patches-rt/slub-disable-SLUB_CPU_PARTIAL.patch2
-rw-r--r--debian/patches-rt/slub-enable-irqs-for-no-wait.patch2
-rw-r--r--debian/patches-rt/softirq-Add-preemptible-softirq.patch2
-rw-r--r--debian/patches-rt/softirq-Avoid-a-cancel-dead-lock-in-tasklet-handling.patch2
-rw-r--r--debian/patches-rt/softirq-disable-softirq-stacks-for-rt.patch2
-rw-r--r--debian/patches-rt/softirq-preempt-fix-3-re.patch10
-rw-r--r--debian/patches-rt/spinlock-types-separate-raw.patch2
-rw-r--r--debian/patches-rt/squashfs-make-use-of-local-lock-in-multi_cpu-decompr.patch2
-rw-r--r--debian/patches-rt/srcu-replace-local_irqsave-with-a-locallock.patch2
-rw-r--r--debian/patches-rt/sunrpc-make-svc_xprt_do_enqueue-use-get_cpu_light.patch2
-rw-r--r--debian/patches-rt/sysfs-realtime-entry.patch2
-rw-r--r--debian/patches-rt/thermal-x86_pkg_temp-make-pkg_temp_lock-a-raw-spinlo.patch2
-rw-r--r--debian/patches-rt/time-Properly-initialize-nohz_full_kick_work.patch2
-rw-r--r--debian/patches-rt/timekeeping-split-jiffies-lock.patch2
-rw-r--r--debian/patches-rt/tpm-remove-tpm_dev_wq_lock.patch2
-rw-r--r--debian/patches-rt/tpm_tis-fix-stall-after-iowrite-s.patch2
-rw-r--r--debian/patches-rt/upstream-net-rt-remove-preemption-disabling-in-netif_rx.patch6
-rw-r--r--debian/patches-rt/userfaultfd-Use-a-seqlock-instead-of-seqcount.patch2
-rw-r--r--debian/patches-rt/wait.h-include-atomic.h.patch2
-rw-r--r--debian/patches-rt/x86-Disable-HAVE_ARCH_JUMP_LABEL.patch2
-rw-r--r--debian/patches-rt/x86-Enable-RT-also-on-32bit.patch2
-rw-r--r--debian/patches-rt/x86-Enable-RT.patch2
-rw-r--r--debian/patches-rt/x86-crypto-reduce-preempt-disabled-regions.patch2
-rw-r--r--debian/patches-rt/x86-highmem-add-a-already-used-pte-check.patch2
-rw-r--r--debian/patches-rt/x86-kvm-require-const-tsc-for-rt.patch2
-rw-r--r--debian/patches-rt/x86-preempt-lazy.patch2
-rw-r--r--debian/patches-rt/x86-stackprot-no-random-on-rt.patch2
-rw-r--r--debian/templates/control.libc-dev.in3
267 files changed, 1496 insertions, 450 deletions
diff --git a/debian/changelog b/debian/changelog
index 8a7cfdc49fa3..e98ab9bf5a17 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -59,6 +59,724 @@ linux (5.7~rc5-1~exp1) experimental; urgency=medium
-- Ben Hutchings <benh@debian.org> Sun, 10 May 2020 23:42:53 +0100
+linux (5.6.14-2) unstable; urgency=medium
+
+ [ Vagrant Cascadian ]
+ * [arm64] Add pwm-sun4i to fb-modules udeb.
+
+ [ Salvatore Bonaccorso ]
+ * kernel/relay.c: handle alloc_percpu returning NULL in relay_open
+ (CVE-2019-19462)
+ * fs/binfmt_elf.c: allocate initialized memory in fill_thread_core_info()
+ (CVE-2020-10732)
+ * mm: Fix mremap not considering huge pmd devmap (CVE-2020-10757)
+
+ [ Ben Hutchings ]
+ * [x86] Add support for mitigation of Special Register Buffer Data Sampling
+ (SRBDS) (CVE-2020-0543):
+ - x86/cpu: Add 'table' argument to cpu_matches()
+ - x86/speculation: Add Special Register Buffer Data Sampling (SRBDS)
+ mitigation
+ - x86/speculation: Add SRBDS vulnerability and mitigation documentation
+ - x86/speculation: Add Ivy Bridge to affected list
+ * [x86] speculation: Do not match steppings, to avoid an ABI change
+
+ -- Ben Hutchings <benh@debian.org> Tue, 09 Jun 2020 18:50:00 +0100
+
+linux (5.6.14-1) unstable; urgency=medium
+
+ * New upstream stable update:
+ https://www.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.6.8
+ - mm: check that mm is still valid in madvise()
+ - watchdog: reset last_hw_keepalive time at start
+ - scsi: lpfc: Fix kasan slab-out-of-bounds error in lpfc_unreg_login
+ - xfs: correctly acount for reclaimable slabs
+ - scsi: lpfc: Fix crash after handling a pci error
+ - scsi: lpfc: Fix crash in target side cable pulls hitting WAIT_FOR_UNREG
+ - scsi: libfc: If PRLI rejected, move rport to PLOGI state
+ - ceph: return ceph_mdsc_do_request() errors from __get_parent()
+ - ceph: don't skip updating wanted caps when cap is stale
+ - [armhf] pwm: imx27: Fix clock handling in pwm_imx27_apply()
+ - nvme-tcp: fix possible crash in write_zeroes processing
+ - scsi: iscsi: Report unbind session event when the target has been
+ removed
+ - [x86] ASoC: Intel: atom: Take the drv->lock mutex before calling
+ sst_send_slot_map()
+ - nvme: fix deadlock caused by ANA update wrong locking
+ - drm/amd/display: Update stream adjust in dc_stream_adjust_vmin_vmax
+ - dma-direct: fix data truncation in dma_direct_get_required_mask()
+ - kernel/gcov/fs.c: gcov_seq_next() should increase position index
+ - ipc/util.c: sysvipc_find_ipc() should increase position index
+ - block: fix busy device checking in blk_drop_partitions
+ - [s390x] cio: generate delayed uevent for vfio-ccw subchannels
+ - [s390x] cio: avoid duplicated 'ADD' uevents
+ - loop: Better discard support for block devices
+ - [powerpc*] Revert "powerpc/64: irq_work avoid interrupt when called with
+ hardware irqs enabled"
+ - [powerpc*] pseries: Fix MCE handling on pseries
+ - nvme: fix compat address handling in several ioctls
+ - pwm: renesas-tpu: Fix late Runtime PM enablement
+ - [armel, armhf, arm64] pwm: bcm2835: Dynamically allocate base
+ - scsi: lpfc: Fix erroneous cpu limit of 128 on I/O statistics
+ - scsi: lpfc: Fix lockdep error - register non-static key
+ - perf/core: Disable page faults when getting phys address
+ - drm/amd/display: Calculate scaling ratios on every medium/full update
+ - ASoC: Intel: bytcr_rt5640: Add quirk for MPMAN MPWIN895CL tablet
+ - ALSA: usb-audio: Add Pioneer DJ DJM-250MK2 quirk
+ - xhci: Ensure link state is U3 after setting USB_SS_PORT_LS_U3
+ - xhci: Wait until link state trainsits to U0 after setting
+ USB_SS_PORT_LS_U0
+ - xhci: Finetune host initiated USB3 rootport link suspend and resume
+ - block: fix busy device checking in blk_drop_partitions again
+ - cxgb4: fix adapter crash due to wrong MC size
+ - cxgb4: fix large delays in PTP synchronization
+ - ipv4: Update fib_select_default to handle nexthop objects
+ - ipv6: fix restrict IPV6_ADDRFORM operation
+ - macsec: avoid to set wrong mtu
+ - macvlan: fix null dereference in macvlan_device_event()
+ - mlxsw: Fix some IS_ERR() vs NULL bugs
+ - [arm64] net: bcmgenet: correct per TX/RX ring statistics
+ - net/mlx4_en: avoid indirect call in TX completion
+ - net: netrom: Fix potential nr_neigh refcnt leak in nr_add_node
+ - net: openvswitch: ovs_ct_exit to be done under ovs_lock
+ - [armhf, arm64] net: stmmac: dwmac-meson8b: Add missing boundary to RGMII
+ TX clock array
+ - net/x25: Fix x25_neigh refcnt leak when receiving frame
+ - sched: etf: do not assume all sockets are full blown
+ - tcp: cache line align MAX_TCP_HEADER
+ - team: fix hang in team_mode_get()
+ - tipc: Fix potential tipc_aead refcnt leak in tipc_crypto_rcv
+ - tipc: Fix potential tipc_node refcnt leak in tipc_rcv
+ - vrf: Fix IPv6 with qdisc and xfrm
+ - net: dsa: b53: Lookup VID in ARL searches when VLAN is enabled
+ - net: dsa: b53: Fix valid setting for MDB entries
+ - net: dsa: b53: Fix ARL register definitions
+ - net: dsa: b53: Rework ARL bin logic
+ - net: dsa: b53: b53_arl_rw_op() needs to select IVL or SVL
+ - vxlan: use the correct nlattr array in NL_SET_ERR_MSG_ATTR
+ - geneve: use the correct nlattr array in NL_SET_ERR_MSG_ATTR
+ - xfrm: Always set XFRM_TRANSFORMED in xfrm{4,6}_output_finish
+ - vrf: Check skb for XFRM_TRANSFORMED flag
+ - net: ethernet: ixp4xx: Add error handling in ixp4xx_eth_probe()
+ - KEYS: Avoid false positive ENOMEM error on key read
+ - ALSA: hda: Remove ASUS ROG Zenith from the blacklist
+ - ALSA: usb-audio: Add static mapping table for ALC1220-VB-based mobos
+ - ALSA: usb-audio: Add connector notifier delegation
+ - mac80211: populate debugfs only after cfg80211 init
+ - libbpf: Only check mode flags in get_xdp_id
+ - iio: core: remove extra semi-colon from devm_iio_device_register() macro
+ - iio: imu: st_lsm6dsx: flush hw FIFO before resetting the device
+ - iio: st_sensors: rely on odr mask to know if odr can be set
+ - iio: adc: stm32-adc: fix sleep in atomic context
+ - iio: adc: ti-ads8344: properly byte swap value
+ - USB: sisusbvga: Change port variable from signed to unsigned
+ - USB: Add USB_QUIRK_DELAY_CTRL_MSG and USB_QUIRK_DELAY_INIT for Corsair
+ K70 RGB RAPIDFIRE
+ - USB: early: Handle AMD's spec-compliant identifiers, too
+ - USB: core: Fix free-while-in-use bug in the USB S-Glibrary
+ (CVE-2020-12464)
+ - USB: hub: Fix handling of connect changes during sleep
+ - USB: hub: Revert commit bd0e6c9614b9 ("usb: hub: try old enumeration
+ scheme first for high speed devices")
+ - tty: serial: owl: add "much needed" clk_prepare_enable()
+ - vmalloc: fix remap_vmalloc_range() bounds checks
+ - staging: gasket: Fix incongruency in handling of sysfs entries creation
+ - coredump: fix null pointer dereference on coredump
+ - mm/hugetlb: fix a addressing exception caused by huge_pte_offset
+ - mm/ksm: fix NULL pointer dereference when KSM zero page is enabled
+ - ALSA: usx2y: Fix potential NULL dereference
+ - ALSA: hda/realtek - Fix unexpected init_amp override
+ - ALSA: hda/realtek - Add new codec supported for ALC245
+ - ALSA: hda/hdmi: Add module option to disable audio component binding
+ - ALSA: usb-audio: Fix usb audio refcnt leak when getting spdif
+ - ALSA: usb-audio: Filter out unsupported sample rates on Focusrite
+ devices
+ - tpm/tpm_tis: Free IRQ if probing fails
+ - tpm: fix wrong return value in tpm_pcr_extend
+ - tpm: ibmvtpm: retry on H_CLOSED in tpm_ibmvtpm_send()
+ - [s390x] KVM: Return last valid slot if approx index is out-of-bounds
+ - KVM: Check validity of resolved slot when searching memslots
+ - [x86] KVM: VMX: Enable machine check support for 32bit targets
+ - tty: hvc: fix buffer overflow during hvc_alloc().
+ - tty: rocket, avoid OOB access
+ - usb-storage: Add unusual_devs entry for JMicron JMS566
+ - signal: Avoid corrupting si_pid and si_uid in do_notify_parent
+ - drm/dp_mst: Zero assigned PBN when releasing VCPI slots
+ - audit: check the length of userspace generated audit records
+ - ASoC: dapm: fixup dapm kcontrol widget
+ - SUNRPC: Fix backchannel RPC soft lockups
+ - iwlwifi: pcie: actually release queue memory in TVQM
+ - iwlwifi: mvm: beacon statistics shouldn't go backwards
+ - iwlwifi: pcie: indicate correct RB size to device
+ - iwlwifi: mvm: limit maximum queue appropriately
+ - iwlwifi: mvm: Do not declare support for ACK Enabled Aggregation
+ - iwlwifi: mvm: fix inactive TID removal return value usage
+ - iwlwifi: fix WGDS check when WRDS is disabled
+ - cifs: fix uninitialised lease_key in open_shroot()
+ - [armhf] imx: provide v7_cpu_resume() only on ARM_CPU_SUSPEND=y
+ - [powerpc*] 8xx: Fix STRICT_KERNEL_RWX startup test failure
+ - [powerpc*] setup_64: Set cache-line-size based on cache-block-size
+ - [x86] staging: comedi: dt2815: fix writing hi byte of analog output
+ - [x86] staging: comedi: Fix comedi_device refcnt leak in comedi_open
+ - vt: don't hardcode the mem allocation upper bound
+ - vt: don't use kmalloc() for the unicode screen buffer
+ - [x86] staging: vt6656: Don't set RCR_MULTICAST or RCR_BROADCAST by
+ default.
+ - [x86] staging: vt6656: Fix calling conditions of vnt_set_bss_mode
+ - [x86] staging: vt6656: Fix drivers TBTT timing counter.
+ - [x86] staging: vt6656: Fix pairwise key entry save.
+ - [x86] staging: vt6656: Power save stop wake_up_count wrap around.
+ - [x86] mei: me: fix irq number stored in hw struct
+ - cdc-acm: close race betrween suspend() and acm_softint
+ - cdc-acm: introduce a cool down
+ - UAS: no use logging any details in case of ENODEV
+ - UAS: fix deadlock in error handling and PM flushing work
+ - fpga: dfl: pci: fix return value of cci_pci_sriov_configure
+ - [armhf, arm64] usb: dwc3: gadget: Fix request completion check
+ - usb: f_fs: Clear OS Extended descriptor counts to zero in
+ ffs_data_reset()
+ - [x86] usb: typec: tcpm: Ignore CC and vbus changes in PORT_RESET change
+ - [x86] usb: typec: altmode: Fix typec_altmode_get_partner sometimes
+ returning an invalid pointer
+ - xhci: Fix handling halted endpoint even if endpoint ring appears empty
+ - xhci: prevent bus suspend if a roothub port detected a over-current
+ condition
+ - xhci: Don't clear hub TT buffer on ep0 protocol stall
+ - serial: sh-sci: Make sure status register SCxSR is read in correct
+ sequence
+ - Revert "serial: uartps: Fix uartps_major handling"
+ - Revert "serial: uartps: Use the same dynamic major number for all ports"
+ - Revert "serial: uartps: Fix error path when alloc failed"
+ - Revert "serial: uartps: Do not allow use aliases >= MAX_UART_INSTANCES"
+ - Revert "serial: uartps: Change uart ID port allocation"
+ - Revert "serial: uartps: Move Port ID to device data structure"
+ - Revert "serial: uartps: Register own uart console and driver structures"
+ - [x86] drm/i915/gt: Update PMINTRMSK holding fw
+ https://www.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.6.9
+ - ubifs: Fix ubifs_tnc_lookup() usage in do_kill_orphans()
+ - printk: queue wake_up_klogd irq_work only if per-CPU areas are ready
+ - [armhf] ASoC: stm32: sai: fix sai probe
+ - [armhf, arm64] usb: dwc3: gadget: Do link recovery for SS and SSP
+ - [armel, armhf] ARM: dts: bcm283x: Add cells encoding format to firmware
+ bus
+ - usb: gadget: udc: bdc: Remove unnecessary NULL checks in
+ bdc_req_complete
+ - usb: gadget: udc: atmel: Fix vbus disconnect handling
+ - afs: Make record checking use TASK_UNINTERRUPTIBLE when appropriate
+ - afs: Fix to actually set AFS_SERVER_FL_HAVE_EPOCH
+ - iio:ad7797: Use correct attribute_group
+ - iio: imu: st_lsm6dsx: fix read misalignment on untagged FIFO
+ - iio: imu: st_lsm6dsx: specify slave odr in slv_odr
+ - propagate_one(): mnt_set_mountpoint() needs mount_lock
+ - counter: 104-quad-8: Add lock guards - generic interface
+ - [s390x] ftrace: fix potential crashes when switching tracers
+ - ASoC: q6dsp6: q6afe-dai: add missing channels to MI2S DAIs
+ - iwlwifi: actually check allocated conf_tlv pointer
+ - ASoC: tas571x: disable regulators on failed probe
+ - [armhf, arm64] ASoC: meson: axg-card: fix codec-to-codec link setup
+ - ASoC: wm8960: Fix wrong clock after suspend & resume
+ - nfsd: memory corruption in nfsd4_lock()
+ - [armhf] dts: OMAP3: disable RNG on N950/N9
+ - bpf: Forbid XADD on spilled pointers for unprivileged users
+ - brcmfmac: add stub for monitor interface xmit
+ - i2c: altera: use proper variable to hold errno
+ - clk: asm9260: fix __clk_hw_register_fixed_rate_with_accuracy typo
+ - rtw88: avoid unused function warnings
+ - hwmon: (drivetemp) Return -ENODATA for invalid temperatures
+ - rxrpc: Fix DATA Tx to disable nofrag for UDP on AF_INET6 socket
+ - netfilter: nf_tables: reintroduce the NFT_SET_CONCAT flag
+ - [x86] efi: Don't remap text<->rodata gap read-only for mixed mode
+ - net/cxgb4: Check the return from t4_query_params properly
+ - tipc: fix incorrect increasing of link window
+ - xfs: acquire superblock freeze protection on eofblocks scans
+ - svcrdma: Fix trace point use-after-free race
+ - svcrdma: Fix leak of svc_rdma_recv_ctxt objects
+ - [armhf, arm64] net/mlx5e: Don't trigger IRQ multiple times on XSK wakeup
+ to avoid WQ overruns
+ - [armhf, arm64] net/mlx5e: Get the latest values from counters in
+ switchdev mode
+ - PCI: Avoid ASMedia XHCI USB PME# from D0 defect
+ - PCI: Add Zhaoxin Vendor ID
+ - PCI: Add ACS quirk for Zhaoxin multi-function devices
+ - PCI: Add ACS quirk for Zhaoxin Root/Downstream Ports
+ - PCI: Move Apex Edge TPU class quirk to fix BAR assignment
+ - ARM: dts: bcm283x: Disable dsi0 node
+ - cpumap: Avoid warning when CONFIG_DEBUG_PER_CPU_MAPS is enabled
+ - [s390x] pci: do not set affinity for floating irqs
+ - remoteproc: mtk_scp: use dma_addr_t for DMA API
+ - net/mlx5: Fix failing fw tracer allocation on s390
+ - sched/core: Fix reset-on-fork from RT with uclamp
+ - perf/core: fix parent pid/tid in task exit events
+ - netfilter: nat: fix error handling upon registering inet hook
+ - PM: sleep: core: Switch back to async_schedule_dev()
+ - blk-iocost: Fix error on iocost_ioc_vrate_adj
+ - bpf: Fix handling of XADD on BTF memory
+ - [x86] bpf: Fix encoding for lower 8-bit registers in BPF_STX BPF_B
+ - [x86] bpf: x32: Fix incorrect encoding in BPF_LDX zero-extension
+ - [x86] bpf: x32: Fix clobbering of dst for BPF_JSET
+ - [x86] bpf, x32: Fix logic error in BPF_LDX zero-extension
+ - bpf: Propagate expected_attach_type when verifying freplace programs
+ - mm: shmem: disable interrupt when acquiring info->lock in
+ userfaultfd_copy path
+ - xfs: clear PF_MEMALLOC before exiting xfsaild thread
+ - libbpf: Initialize *nl_pid so gcc 10 is happy
+ - [armhf] net: fec: set GPR bit on suspend by DT configuration.
+ - [x86] hyperv: report value of misc_features
+ - signal: check sig before setting info in kill_pid_usb_asyncio
+ - afs: Fix length of dump of bad YFSFetchStatus record
+ - xfs: fix partially uninitialized structure in xfs_reflink_remap_extent
+ - ALSA: hda: Release resources at error in delayed probe
+ - ALSA: hda: Keep the controller initialization even if no codecs found
+ - ALSA: hda: Explicitly permit using autosuspend if runtime PM is
+ supported
+ - drm/amdgpu: fix wrong vram lost counter increment V2
+ - scsi: target: fix PR IN / READ FULL STATUS for FC
+ - scsi: target: tcmu: reset_ring should reset TCMU_DEV_BIT_BROKEN
+ - objtool: Fix CONFIG_UBSAN_TRAP unreachable warnings
+ - objtool: Support Clang non-section symbols in ORC dump
+ - xen/xenbus: ensure xenbus_map_ring_valloc() returns proper grant status
+ - ALSA: hda: call runtime_allow() for all hda controllers
+ - net: stmmac: socfpga: Allow all RGMII modes
+ - mac80211: fix channel switch trigger from unknown mesh peer
+ - sched/isolation: Allow "isolcpus=" to skip unknown sub-parameters
+ - sched/vtime: Work around an unitialized variable warning
+ - [arm64] Delete the space separator in __emit_inst
+ - ext4: use matching invalidatepage in ext4_writepage
+ - ext4: increase wait time needed before reuse of deleted inode numbers
+ - ext4: convert BUG_ON's to WARN_ON's in mballoc.c
+ - irqchip/gic-v4.1: Add support for VPENDBASER's Dirty+Valid signaling
+ - blk-mq: Put driver tag in blk_mq_dispatch_rq_list() when no budget
+ - irqchip/meson-gpio: Fix HARDIRQ-safe -> HARDIRQ-unsafe lock order
+ - hwmon: (jc42) Fix name to have no illegal characters
+ - sfc: fix XDP-redirect in this driver
+ - taprio: do not use BIT() in TCA_TAPRIO_ATTR_FLAG_* definitions
+ - tipc: Add a missing case of TIPC_DIRECT_MSG type
+ - qed: Fix race condition between scheduling and destroying the slowpath
+ workqueue
+ - Crypto: chelsio - Fixes a hang issue during driver registration
+ - net: use indirect call wrappers for skb_copy_datagram_iter()
+ - qed: Fix use after free in qed_chain_free
+ - ext4: check for non-zero journal inum in ext4_calculate_overhead
+ - ASoC: soc-pcm: fix regression in soc_new_pcm()
+ - ASoC: soc-core: disable route checks for legacy devices
+ - [armhf] ASoC: stm32: spdifrx: fix regmap status check
+ https://www.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.6.10
+ - Revert "ASoC: meson: axg-card: fix codec-to-codec link setup"
+ https://www.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.6.11
+ - drm/scheduler: fix drm_sched_get_cleanup_job
+ - dma-buf: Fix SET_NAME ioctl uapi
+ - drm/amdgpu: invalidate L2 before SDMA IBs (v2)
+ - drm/edid: Fix off-by-one in DispID DTD pixel clock
+ - drm/amd/display: Fix green screen issue after suspend
+ - [x86] drm/i915/gem: Hold obj->vma.lock over for_each_ggtt_vma()
+ - [x86] drm/i915/gt: Check cacheline is valid before acquiring
+ - drm/qxl: qxl_release leak in qxl_draw_dirty_fb()
+ - drm/qxl: qxl_release leak in qxl_hw_surface_alloc()
+ - drm/qxl: qxl_release use after free
+ - NFSv4.1: fix handling of backchannel binding in BIND_CONN_TO_SESSION
+ - btrfs: fix transaction leak in btrfs_recover_relocation
+ - btrfs: fix block group leak when removing fails
+ - btrfs: fix partial loss of prealloc extent past i_size after fsync
+ - btrfs: transaction: Avoid deadlock due to bad initialization timing of
+ fs_info::journal_info
+ - mmc: cqhci: Avoid false "cqhci: CQE stuck on" by not open-coding timeout
+ loop
+ - [arm64] mmc: sdhci-xenon: fix annoying 1.8V regulator warning
+ - mmc: sdhci-pci: Fix eMMC driver strength for BYT-based controllers
+ - [arm64] mmc: sdhci-msm: Enable host capabilities pertains to R1b
+ response
+ - [armhf] mmc: meson-mx-sdio: Set MMC_CAP_WAIT_WHILE_BUSY
+ - [armhf] mmc: meson-mx-sdio: remove the broken ->card_busy() op
+ - ALSA: hda/realtek - Two front mics on a Lenovo ThinkCenter
+ - ALSA: usb-audio: Correct a typo of NuPrime DAC-10 USB ID
+ - ALSA: hda/hdmi: fix without unlocked before return
+ - ALSA: line6: Fix POD HD500 audio playback
+ - ALSA: pcm: oss: Place the plugin buffer overflow checks correctly
+ - [x86] i2c: amd-mp2-pci: Fix Oops in amd_mp2_pci_init() error handling
+ - [x86] hyperv: Suspend/resume the VP assist page for hibernation
+ - [x86] Drivers: hv: vmbus: Fix Suspend-to-Idle for Generation-2 VM
+ - dlmfs_file_write(): fix the bogosity in handling non-zero *ppos
+ - selinux: properly handle multiple messages in selinux_netlink_send()
+ - [amd64] IB/rdmavt: Always return ERR_PTR from rvt_create_mmap_info()
+ - PM: ACPI: Output correct message on target power state
+ - PM: hibernate: Freeze kernel threads in software_resume()
+ - dm writecache: fix data corruption when reloading the target
+ - dm multipath: use updated MPATHF_QUEUE_IO on mapping for bio-based mpath
+ - block: remove the bd_openers checks in blk_drop_partitions
+ - scsi: qla2xxx: set UNLOADING before waiting for session deletion
+ - scsi: qla2xxx: check UNLOADING before posting async work
+ - RDMA/mlx5: Set GRH fields in query QP on RoCE
+ - RDMA/uverbs: Fix a race with disassociate and exit_mmap()
+ - RDMA/mlx4: Initialize ib_spec on the stack
+ - RDMA/core: Prevent mixed use of FDs between shared ufiles
+ - RDMA/core: Fix overwriting of uobj in case of error
+ - RDMA/core: Fix race between destroy and release FD object
+ - RDMA/cm: Fix ordering of xa_alloc_cyclic() in ib_create_cm_id()
+ - RDMA/cm: Fix an error check in cm_alloc_id_priv()
+ - [arm64] dmaengine: hisilicon: Fix build error without PCI_MSI
+ - [x86,arm64] vfio: avoid possible overflow in vfio_iommu_type1_pin_pages
+ - [x86,arm64] vfio/type1: Fix VA->PA translation for PFNMAP VMAs in
+ vaddr_get_pfn()
+ - [arm64] iommu/qcom: Fix local_base status check
+ - dmaengine: fix channel index enumeration
+ - scsi: target/iblock: fix WRITE SAME zeroing
+ - iommu: Properly export iommu_group_get_for_dev()
+ - [amd64] iommu/vt-d: Use right Kconfig option name
+ - [amd64] iommu/amd: Fix legacy interrupt remapping for x2APIC-enabled
+ system
+ - [armhf] i2c: aspeed: Avoid i2c interrupt status clear race condition.
+ - [i386] ALSA: opti9xx: shut up gcc-10 range warning
+ - Fix use after free in get_tree_bdev()
+ - nvme: prevent double free in nvme_alloc_ns() error handling
+ - nfs: Fix potential posix_acl refcnt leak in nfs3_set_acl
+ - [x86] drm/i915: Use proper fault mask in interrupt postinstall too
+ - [arm64] vdso: Add -fasynchronous-unwind-tables to cflags
+ - io_uring: statx must grab the file table for valid fd
+ https://www.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.6.12
+ - vhost: vsock: kick send_pkt worker once device is started
+ - [arm64,armhf] drm/bridge: analogix_dp: Split bind() into probe() and
+ real bind()
+ - [x86] ASoC: topology: Add missing memory checks
+ - [x86] ASoC: topology: Check return value of soc_tplg_create_tlv
+ - [x86] ASoC: topology: Check return value of soc_tplg_*_create
+ - [x86] ASoC: topology: Check soc_tplg_add_route return value
+ - [x86] ASoC: topology: Check return value of pcm_new_ver
+ - [x86] ASoC: topology: Check return value of soc_tplg_dai_config
+ - SUNRPC/cache: Fix unsafe traverse caused double-free in cache_purge
+ - scsi: sg: add sg_remove_request in sg_write (CVE-2020-12770)
+ - [armhf] ASoC: sgtl5000: Fix VAG power-on handling
+ - [x86] ASoC: topology: Fix endianness issue
+ - [arm64,armhf] usb: dwc3: gadget: Properly set maxpacket limit
+ - [x86] ASoC: codecs: hdac_hdmi: Fix incorrect use of list_for_each_entry
+ - wimax/i2400m: Fix potential urb refcnt leak
+ - [armhf] net: stmmac: fix enabling socfpga's ptp_ref_clock
+ - [arm64,armhf] net: stmmac: Fix sub-second increment
+ - cifs: protect updating server->dstaddr with a spinlock
+ - cifs: do not share tcons with DFS
+ - tracing: Fix memory leaks in trace_events_hist.c
+ - ftrace: Fix memory leak caused by not freeing entry in
+ unregister_ftrace_direct()
+ - mac80211: sta_info: Add lockdep condition for RCU list usage
+ - [arm64] net: bcmgenet: suppress warnings on failed Rx SKB allocations
+ - sctp: Fix SHUTDOWN CTSN Ack in the peer restart case
+ - drm/amdgpu: Fix oops when pp_funcs is unset in ACPI event
+ - ALSA: hda: Match both PCI ID and SSID for driver blacklist
+ - [x86] kvm: fix a missing-prototypes "vmread_error"
+ - [x86] platform: GPD pocket fan: Fix error message when temp-limits are
+ out of range
+ - ACPI: PM: s2idle: Fix comment in acpi_s2idle_prepare_late()
+ - mac80211: add ieee80211_is_any_nullfunc()
+ - cgroup, netclassid: remove double cond_resched
+ - mm/mremap: Add comment explaining the untagging behaviour of mremap()
+ https://www.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.6.13
+ - [x86] thunderbolt: Check return value of tb_sw_read() in
+ usb4_switch_op()
+ - USB: serial: qcserial: Add DW5816e support
+ - drm/amdgpu: move kfd suspend after ip_suspend_phase1
+ - drm/amdgpu: drop redundant cg/pg ungate on runpm enter
+ - vt: fix unicode console freeing with a common interface
+ - [arm64] tty: xilinx_uartps: Fix missing id assignment to the console
+ - ext4: don't set dioread_nolock by default for blocksize < pagesize
+ - ext4: disable dioread_nolock whenever delayed allocation is disabled
+ - nvme: refactor nvme_identify_ns_descs error handling
+ - nvme: fix possible hang when ns scanning fails during error recovery
+ - tracing/kprobes: Fix a double initialization typo
+ - [arm64,riscv64] net: macb: Fix runtime PM refcounting
+ - cxgb4: fix EOTID leak when disabling TC-MQPRIO offload
+ - devlink: Fix reporter's recovery condition
+ - devlink: fix return value after hitting end in region read
+ - fq_codel: fix TCA_FQ_CODEL_DROP_BATCH_SIZE sanity checks
+ - ipv6: Use global sernum for dst validation with nexthop objects
+ - neigh: send protocol value in neighbor create notification
+ - net: bridge: vlan: Add a schedule point during VLAN processing
+ - [arm64,armhf] net: dsa: Do not leave DSA master with NULL netdev_ops
+ - [arm64,armhf] net: dsa: Do not make user port errors fatal
+ - [arm64,riscv64] net: macb: fix an issue about leak related system
+ resources
+ - net: macsec: preserve ingress frame ordering
+ - net/mlx4_core: Fix use of ENOSPC around mlx4_counter_alloc()
+ - net: phy: marvell10g: fix temperature sensor on 2110
+ - net_sched: sch_skbprio: add message validation to skbprio_change()
+ - net: stricter validation of untrusted gso packets
+ - net: usb: qmi_wwan: add support for DW5816e
+ - nfp: abm: fix a memory leak bug
+ - sch_choke: avoid potential panic in choke_reset()
+ - sch_sfq: validate silly quantum values
+ - tipc: fix partial topology connection closure
+ - tunnel: Propagate ECT(1) when decapsulating as recommended by RFC6040
+ - bnxt_en: Fix VF anti-spoof filter setup.
+ - bnxt_en: Reduce BNXT_MSIX_VEC_MAX value to supported CQs per PF.
+ - bnxt_en: Improve AER slot reset.
+ - bnxt_en: Return error when allocating zero size context memory.
+ - bnxt_en: Fix VLAN acceleration handling in bnxt_fix_features().
+ - net/mlx5: DR, On creation set CQ's arm_db member to right value
+ - net/mlx5: Fix forced completion access non initialized command entry
+ - net/mlx5: Fix command entry leak in Internal Error State
+ - net/mlx5e: Fix q counters on uplink representors
+ - [arm64,armhf] net: mvpp2: prevent buffer overflow in mvpp22_rss_ctx()
+ - [arm64,armhf] net: mvpp2: cls: Prevent buffer overflow in
+ mvpp2_ethtool_cls_rule_del()
+ - wireguard: queueing: cleanup ptr_ring in error path of packet_queue_init
+ - wireguard: receive: use tunnel helpers for decapsulating ECN markings
+ - wireguard: socket: remove errant restriction on looping to self
+ - wireguard: send/receive: cond_resched() when processing worker
+ ringbuffers
+ - HID: wacom: Read HID_DG_CONTACTMAX directly for non-generic devices
+ - sctp: Fix bundling of SHUTDOWN with COOKIE-ACK
+ - Revert "HID: wacom: generic: read the number of expected touches on a
+ per collection basis"
+ - HID: usbhid: Fix race between usbhid_close() and usbhid_stop()
+ - HID: wacom: Report 2nd-gen Intuos Pro S center button status over BT
+ - USB: uas: add quirk for LaCie 2Big Quadra
+ - [arm64,armhf] usb: chipidea: msm: Ensure proper controller reset using
+ role switch API
+ - USB: serial: garmin_gps: add sanity checking for data length
+ - tracing/boottime: Fix kprobe event API usage
+ - tracing/kprobes: Reject new event if loc is NULL
+ - tracing: Wait for preempt irq delay thread to finish
+ - tracing: Add a vmalloc_sync_mappings() for safe measure
+ - crypto: arch/lib - limit simd usage to 4k chunks
+ - [s390x] KVM: Remove false WARN_ON_ONCE for the PQAP instruction
+ - [x86] KVM: VMX: Explicitly clear RFLAGS.CF and RFLAGS.ZF in VM-Exit RSB
+ path
+ - [arm64,armhf] KVM: vgic: Fix limit condition when writing to
+ GICD_I[CS]ACTIVER
+ - [arm64] KVM: Fix 32bit PC wrap-around
+ - [arm64] hugetlb: avoid potential NULL dereference
+ - driver core: platform: Initialize dma_parms for platform devices
+ - [arm*] amba: Initialize dma_parms for amba devices
+ - [x86] mei: me: disable mei interface on LBG servers.
+ - ipc/mqueue.c: change __do_notify() to bypass check_kill_permission()
+ - epoll: atomically remove wait entry on wake up
+ - eventpoll: fix missing wakeup for ovflist in ep_poll_callback
+ - mm/page_alloc: fix watchdog soft lockups during set_zone_contiguous()
+ - mm: limit boost_watermark on small zones
+ - ceph: fix endianness bug when handling MDS session feature bits
+ - ceph: demote quotarealm lookup warning to a debug message
+ - coredump: fix crash when umh is disabled
+ - [riscv64] set max_pfn to the PFN of the last page
+ - batman-adv: fix batadv_nc_random_weight_tq
+ - batman-adv: Fix refcnt leak in batadv_show_throughput_override
+ - batman-adv: Fix refcnt leak in batadv_store_throughput_override
+ - batman-adv: Fix refcnt leak in batadv_v_ogm_process
+ - [x86] mm/cpa: Flush direct map alias during cpa
+ - [x86] entry/64: Fix unwind hints in register clearing code
+ - [x86] entry/64: Fix unwind hints in kernel exit path
+ - [x86] entry/64: Fix unwind hints in __switch_to_asm()
+ - [x86] entry/64: Fix unwind hints in rewind_stack_do_exit()
+ - [amd64] x86/unwind/orc: Don't skip the first frame for inactive tasks
+ - [amd64] x86/unwind/orc: Prevent unwinding before ORC initialization
+ - [amd64] x86/unwind/orc: Fix error path for bad ORC entry type
+ - [amd64] x86/unwind/orc: Fix premature unwind stoppage due to IRET frames
+ - [x86] KVM: Fixes posted interrupt check for IRQs delivery modes
+ - [x86] arch/x86/kvm/svm/sev.c: change flag passed to GUP fast in
+ sev_pin_memory()
+ - netfilter: nat: never update the UDP checksum when it's 0
+ - netfilter: nf_osf: avoid passing pointer to local var
+ - [x86] kvm: ioapic: Restrict lazy EOI update to edge-triggered interrupts
+ - scripts/decodecode: fix trapping instruction formatting
+ - mm, memcg: fix error return value of mem_cgroup_css_alloc()
+ - bdi: move bdi_dev_name out of line
+ - bdi: add a ->dev_name field to struct backing_dev_info
+ - io_uring: don't use 'fd' for openat/openat2/statx
+ - fsnotify: replace inode pointer with an object id
+ - fanotify: merge duplicate events on parent and child
+ https://www.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.6.14
+ - [x86] KVM: nVMX: Consolidate nested MTF checks to helper function
+ - [x86] kvm: nVMX: reflect MTF VM-exits if injected by L1
+ - xprtrdma: Clean up the post_send path
+ - xprtrdma: Fix trace point use-after-free race
+ - [x86] drm/i915/tgl: Add Wa_14010477008:tgl
+ - [x86] drm/i915/tgl: TBT AUX should use TC power well ops
+ - [x86] drm/i915/display: Load DP_TP_CTL/STATUS offset before use it
+ - shmem: fix possible deadlocks on shmlock_user_lock
+ - net: phy: microchip_t1: add lan87xx_phy_init to initialize the lan87xx
+ phy.
+ - [arm64,armhf] KVM: vgic: Synchronize the whole guest on
+ GIC{D,R}_I{S,C}ACTIVER read
+ - [arm64,armhf] KVM: vgic-v2: Only use the virtual state when userspace
+ accesses pending bits
+ - gpio: pca953x: Fix pca953x_gpio_set_config
+ - SUNRPC: Add "@len" parameter to gss_unwrap()
+ - SUNRPC: Fix GSS privacy computation of auth->au_ralign
+ - [x86] hv_netvsc: Fix netvsc_start_xmit's return type
+ - drop_monitor: work around gcc-10 stringop-overflow warning
+ - virtio-blk: handle block_device_operations callbacks after hot unplug
+ - net_sched: fix tcm_parent in tc filter dump
+ - [arm64,armhf] net: stmmac: gmac5+: fix potential integer overflow on 32
+ bit multiply
+ - [amd64] iommu/amd: Fix race in increase_address_space()/fetch_pte()
+ - [amd64] iommu/amd: Update Device Table in increase_address_space()
+ - mmc: sdhci-acpi: Add SDHCI_QUIRK2_BROKEN_64_BIT_DMA for AMDI0040
+ - [arm64] dpaa2-eth: properly handle buffer size restrictions
+ - mptcp: set correct vfs info for subflows
+ - net: fix a potential recursive NETDEV_FEAT_CHANGE
+ - netlabel: cope with NULL catmap (CVE-2020-10711)
+ - net: phy: fix aneg restart in phy_ethtool_set_eee
+ - [arm64] net: stmmac: fix num_por initialization
+ - pppoe: only process PADT targeted at local interfaces
+ - Revert "ipv6: add mtu lock check in __ip6_rt_update_pmtu"
+ - tcp: fix error recovery in tcp_zerocopy_receive()
+ - tcp: fix SO_RCVLOWAT hangs with fat skbs
+ - virtio_net: fix lockdep warning on 32 bit
+ - [arm64] dpaa2-eth: prevent array underflow in update_cls_rule()
+ - hinic: fix a bug of ndo_stop
+ - net: ipv4: really enforce backoff for redirects
+ - netprio_cgroup: Fix unlimited memory leak of v2 cgroups
+ - net: tcp: fix rx timestamp behavior for tcp_recvmsg
+ - nfp: abm: fix error return code in nfp_abm_vnic_alloc()
+ - r8169: re-establish support for RTL8401 chip version
+ - umh: fix memory leak on execve failure
+ - [arm64] net: broadcom: Select BROADCOM_PHY for BCMGENET
+ - [i386] dmaengine: pch_dma.c: Avoid data race between probe and irq
+ handler
+ - [x86] cpufreq: intel_pstate: Only mention the BIOS disabling turbo mode
+ once
+ - ALSA: hda/hdmi: fix race in monitor detection during probe
+ - drm/qxl: lost qxl_bo_kunmap_atomic_page in qxl_image_init_helper()
+ - fibmap: Warn and return an error in case of block > INT_MAX
+ - io_uring: use cond_resched() in io_ring_ctx_wait_and_kill()
+ - io_uring: check non-sync defer_list carefully
+ - ipc/util.c: sysvipc_find_ipc() incorrectly updates position index
+ - ALSA: hda/realtek - Fix S3 pop noise on Dell Wyse
+ - gfs2: Another gfs2_walk_metadata fix
+ - mmc: sdhci-pci-gli: Fix no irq handler from suspend
+ - [amd64] IB/hfi1: Fix another case where pq is left on waitlist
+ - ACPI: EC: PM: Avoid premature returns from acpi_s2idle_wake()
+ - [x86] pinctrl: sunrisepoint: Fix PAD lock register offset for SPT-H
+ - [x86] pinctrl: baytrail: Enable pin configuration setting for GPIO chip
+ - [arm64] pinctrl: qcom: fix wrong write in update_dual_edge
+ - [x86] pinctrl: cherryview: Add missing spinlock usage in
+ chv_gpio_irq_handler
+ - [arm64,armhf] drm/tegra: Fix SMMU support on Tegra124 and Tegra210
+ - bpf: Fix error return code in map_lookup_and_delete_elem()
+ - ALSA: firewire-lib: fix 'function sizeof not defined' error of
+ tracepoints format
+ - cachefiles: Fix corruption of the return value in
+ cachefiles_read_or_alloc_pages()
+ - i40iw: Fix error handling in i40iw_manage_arp_cache()
+ - [x86] drm/i915/gt: Make timeslicing an explicit engine property
+ - [x86] drm/i915: Don't enable WaIncreaseLatencyIPCEnabled when IPC is
+ disabled
+ - bpf, sockmap: msg_pop_data can incorrecty set an sge length
+ - bpf, sockmap: bpf_tcp_ingress needs to subtract bytes from sg.size
+ - [x86] drm/i915/gem: Remove object_is_locked assertion from
+ unpin_from_display_plane
+ - mmc: sdhci-pci-gli: Fix can not access GL9750 after reboot from Windows
+ 10
+ - mmc: core: Check request type before completing the request
+ - mmc: core: Fix recursive locking issue in CQE recovery path
+ - mmc: block: Fix request completion in the CQE timeout path
+ - gfs2: More gfs2_find_jhead fixes
+ - fork: prevent accidental access to clone3 features
+ - drm/amdgpu: force fbdev into vram
+ - NFS: Fix fscache super_cookie index_key from changing after umount
+ - NFS: Fix fscache super_cookie allocation
+ - NFSv4: Fix fscache cookie aux_data to ensure change_attr is included
+ - hwmon: (drivetemp) Fix SCT support if SCT data tables are not supported
+ - netfilter: conntrack: avoid gcc-10 zero-length-bounds warning
+ - [x86] drm/i915/gvt: Fix kernel oops for 3-level ppgtt guest
+ - [arm64] fix the flush_icache_range arguments in machine_kexec
+ - netfilter: conntrack: fix infinite loop on rmmod
+ - [x86] drm/i915: Mark concurrent submissions with a weak-dependency
+ - nfs: fix NULL deference in nfs4_get_valid_delegation
+ - SUNRPC: Signalled ASYNC tasks need to exit
+ - tracing: Wait for preempt irq delay thread to execute
+ - netfilter: flowtable: set NF_FLOW_TEARDOWN flag on entry expiration
+ - netfilter: nft_set_rbtree: Add missing expired checks
+ - RDMA/rxe: Always return ERR_PTR from rxe_create_mmap_info()
+ - IB/mlx4: Test return value of calls to ib_get_cached_pkey
+ - IB/core: Fix potential NULL pointer dereference in pkey cache
+ - RDMA/core: Fix double put of resource
+ - RDMA/iw_cxgb4: Fix incorrect function parameters
+ - [x86] ftrace: Have ftrace trampolines turn read-only at the end of
+ system boot up
+ - [x86] drm/i915: Handle idling during i915_gem_evict_something busy loops
+ - mm, memcg: fix inconsistent oom event behavior
+ - epoll: call final ep_events_available() check under the lock
+ - bpf: Fix bug in mmap() implementation for BPF array map
+ - NFSv3: fix rpc receive buffer size for MOUNT call
+ - pnp: Use list_for_each_entry() instead of open coding
+ - net/rds: Use ERR_PTR for rds_message_alloc_sgs()
+ - Stop the ad-hoc games with -Wno-maybe-initialized
+ - gcc-10: disable 'zero-length-bounds' warning for now
+ - gcc-10: disable 'array-bounds' warning for now
+ - gcc-10: disable 'stringop-overflow' warning for now
+ - gcc-10: disable 'restrict' warning for now
+ - gcc-10 warnings: fix low-hanging fruit
+ - gcc-10: mark more functions __init to avoid section mismatch warnings
+ - gcc-10: avoid shadowing standard library 'free()' in crypto
+ - bootconfig: Fix to remove bootconfig data from initrd while boot
+ - bootconfig: Fix to prevent warning message if no bootconfig option
+ - usb: usbfs: correct kernel->user page attribute mismatch
+ - USB: usbfs: fix mmap dma mismatch
+ - ALSA: hda/realtek - Limit int mic boost for Thinkpad T530
+ - ALSA: hda/realtek - Add COEF workaround for ASUS ZenBook UX431DA
+ - ALSA: rawmidi: Fix racy buffer resize under concurrent accesses
+ - ALSA: usb-audio: Add control message quirk delay for Kingston HyperX
+ headset
+ - usb: core: hub: limit HUB_QUIRK_DISABLE_AUTOSUSPEND to USB5534B
+ - [arm64,armhf,riscv64] usb: host: xhci-plat: keep runtime active when
+ removing host
+ - USB: gadget: fix illegal array access in binding with UDC
+ (CVE-2020-13143)
+ - usb: xhci: Fix NULL pointer dereference when enqueuing trbs from urb sg
+ list
+ - [x86] Make the "Reducing compressed framebufer size" message be
+ DRM_INFO_ONCE()
+ - [armhf] dts: imx6dl-yapp4: Fix Ursa board Ethernet connection
+ - drm/amd/amdgpu: add raven1 part to the gfxoff quirk list
+ - [x86] drm/i915/tgl+: Fix interrupt handling for DP AUX transactions
+ - [powerpc*] vdso32: Fallback on getres syscall when clock is unknown
+ - cifs: fix leaked reference on requeued write
+ - [x86] KVM: Fix pkru save/restore when guest CR4.PKE=0, move it to x86.c
+ - [x86] Fix early boot crash on gcc-10, third try
+ - [amd64] x86/unwind/orc: Fix error handling in __unwind_start()
+ - exec: Move would_dump into flush_old_exec
+ - [arm64,armhf] clk: rockchip: fix incorrect configuration of rk3228
+ aclk_gpu* clocks
+ - [arm64,armhf] dwc3: Remove check for HWO flag in
+ dwc3_gadget_ep_reclaim_trb_sg()
+ - fanotify: fix merging marks masks with FAN_ONDIR
+ - [arm64] dts: meson-g12b-ugoos-am6: fix usb vbus-supply
+ - Revert "ALSA: hda/realtek: Fix pop noise on ALC225"
+ - [armhf] clk: ti: clkctrl: Fix Bad of_node_put within clkctrl_get_name
+ - clk: Unlink clock if failed to prepare or enable
+ - [arm64] dts: rockchip: Replace RK805 PMIC node name with "pmic" on
+ rk3328 boards
+ - dt-bindings: dma: fsl-edma: fix ls1028a-edma compatible
+ - SUNRPC: Revert 241b1f419f0e ("SUNRPC: Remove xdr_buf_trim()")
+ - bpf: Fix sk_psock refcnt leak when receiving message
+ - RDMA/uverbs: Do not discard the IB_EVENT_DEVICE_FATAL event
+ - RDMA/uverbs: Move IB_EVENT_DEVICE_FATAL to destroy_uobj
+ - [x86] KVM: Fix off-by-one error in kvm_vcpu_ioctl_x86_setup_mce
+ - bpf: Enforce returning 0 for fentry/fexit progs
+ - bpf: Restrict bpf_trace_printk()'s %s usage and add %pks, %pus specifier
+ - Makefile: disallow data races on gcc-10 as well
+
+ [ Ben Hutchings ]
+ * linux-libc-dev: Re-add "Provides: linux-kernel-headers" as several
+ source packages still have this in Build-Depends
+
+ [ Luca Boccassi ]
+ * [cloud] Enable INFINIBAND configs for HyperV/Azure (Closes: #958300)
+
+ [ Bastian Blank ]
+ * [cloud] Re-enable some FB drivers.
+
+ [ Romain Perier ]
+ * Enable support for fsverity
+
+ [ Salvatore Bonaccorso ]
+ * [rt] Update to 5.6.10-rt5 and re-enable
+ * Bump ABI to 2.
+ * xfs: add agf freeblocks verify in xfs_agf_verify (CVE-2020-12655)
+
+ [ Domenico Andreoli ]
+ * [arm64] udeb: Add armada_37xx_wdt to kernel-image (Closes: #961086)
+
+ -- Salvatore Bonaccorso <carnil@debian.org> Sat, 23 May 2020 16:29:21 +0200
+
linux (5.6.7-1) unstable; urgency=medium
* New upstream stable update:
diff --git a/debian/config/config.cloud b/debian/config/config.cloud
index db64df8d233f..9a0ef25e2a75 100644
--- a/debian/config/config.cloud
+++ b/debian/config/config.cloud
@@ -303,7 +303,96 @@ CONFIG_HYPERV=m
##
## file: drivers/infiniband/Kconfig
##
-# CONFIG_INFINIBAND is not set
+CONFIG_INFINIBAND=m
+CONFIG_INFINIBAND_USER_MAD=m
+CONFIG_INFINIBAND_USER_ACCESS=m
+CONFIG_INFINIBAND_ON_DEMAND_PAGING=y
+CONFIG_INFINIBAND_ADDR_TRANS=y
+
+##
+## file: drivers/infiniband/hw/cxgb4/Kconfig
+##
+# CONFIG_INFINIBAND_CXGB4 is not set
+
+##
+## file: drivers/infiniband/hw/hfi1/Kconfig
+##
+# CONFIG_INFINIBAND_HFI1 is not set
+
+##
+## file: drivers/infiniband/hw/i40iw/Kconfig
+##
+# CONFIG_INFINIBAND_I40IW is not set
+
+##
+## file: drivers/infiniband/hw/mlx4/Kconfig
+##
+CONFIG_MLX4_INFINIBAND=m
+
+##
+## file: drivers/infiniband/hw/mlx5/Kconfig
+##
+CONFIG_MLX5_INFINIBAND=m
+
+##
+## file: drivers/infiniband/hw/mthca/Kconfig
+##
+# CONFIG_INFINIBAND_MTHCA is not set
+# CONFIG_INFINIBAND_MTHCA_DEBUG is not set
+
+##
+## file: drivers/infiniband/hw/ocrdma/Kconfig
+##
+# CONFIG_INFINIBAND_OCRDMA is not set
+
+##
+## file: drivers/infiniband/hw/qedr/Kconfig
+##
+# CONFIG_INFINIBAND_QEDR is not set
+
+##
+## file: drivers/infiniband/hw/qib/Kconfig
+##
+# CONFIG_INFINIBAND_QIB is not set
+# CONFIG_INFINIBAND_QIB_DCA is not set
+
+##
+## file: drivers/infiniband/sw/rdmavt/Kconfig
+##
+# CONFIG_INFINIBAND_RDMAVT is not set
+
+##
+## file: drivers/infiniband/sw/rxe/Kconfig
+##
+# CONFIG_RDMA_RXE is not set
+
+##
+## file: drivers/infiniband/ulp/ipoib/Kconfig
+##
+# CONFIG_INFINIBAND_IPOIB is not set
+# CONFIG_INFINIBAND_IPOIB_CM is not set
+# CONFIG_INFINIBAND_IPOIB_DEBUG is not set
+# CONFIG_INFINIBAND_IPOIB_DEBUG_DATA is not set
+
+##
+## file: drivers/infiniband/ulp/iser/Kconfig
+##
+# CONFIG_INFINIBAND_ISER is not set
+
+##
+## file: drivers/infiniband/ulp/isert/Kconfig
+##
+# CONFIG_INFINIBAND_ISERT is not set
+
+##
+## file: drivers/infiniband/ulp/srp/Kconfig
+##
+# CONFIG_INFINIBAND_SRP is not set
+
+##
+## file: drivers/infiniband/ulp/srpt/Kconfig
+##
+# CONFIG_INFINIBAND_SRPT is not set
##
## file: drivers/input/Kconfig
@@ -1209,7 +1298,45 @@ CONFIG_HYPERV_STORAGE=m
##
## file: drivers/video/fbdev/Kconfig
##
-# CONFIG_FB is not set
+# CONFIG_FB_CIRRUS is not set
+# CONFIG_FB_PM2 is not set
+# CONFIG_FB_CYBER2000 is not set
+# CONFIG_FB_ARC is not set
+# CONFIG_FB_ASILIANT is not set
+# CONFIG_FB_IMSTT is not set
+# CONFIG_FB_VGA16 is not set
+# CONFIG_FB_UVESA is not set
+# CONFIG_FB_VESA is not set
+CONFIG_FB_EFI=y
+# CONFIG_FB_N411 is not set
+# CONFIG_FB_HGA is not set
+# CONFIG_FB_OPENCORES is not set
+# CONFIG_FB_S1D13XXX is not set
+# CONFIG_FB_I740 is not set
+# CONFIG_FB_LE80578 is not set
+# CONFIG_FB_CARILLO_RANCH is not set
+# CONFIG_FB_MATROX is not set
+# CONFIG_FB_RADEON is not set
+# CONFIG_FB_ATY128 is not set
+# CONFIG_FB_ATY is not set
+# CONFIG_FB_S3 is not set
+# CONFIG_FB_SAVAGE is not set
+# CONFIG_FB_SIS is not set
+# CONFIG_FB_NEOMAGIC is not set
+# CONFIG_FB_KYRO is not set
+# CONFIG_FB_3DFX is not set
+# CONFIG_FB_VOODOO1 is not set
+# CONFIG_FB_VT8623 is not set
+# CONFIG_FB_TRIDENT is not set
+# CONFIG_FB_ARK is not set
+# CONFIG_FB_PM3 is not set
+# CONFIG_FB_CARMINE is not set
+# CONFIG_FB_IBM_GXT4500 is not set
+# CONFIG_FB_VIRTUAL is not set
+# CONFIG_FB_MB862XX is not set
+CONFIG_FB_HYPERV=m
+# CONFIG_FB_SIMPLE is not set
+# CONFIG_FB_SM712 is not set
##
## file: drivers/virt/Kconfig
@@ -1510,6 +1637,11 @@ CONFIG_NET_MPLS_GSO=m
# CONFIG_X25 is not set
##
+## file: security/Kconfig
+##
+CONFIG_SECURITY_INFINIBAND=y
+
+##
## file: security/integrity/Kconfig
##
# CONFIG_INTEGRITY is not set
diff --git a/debian/installer/modules/arm64/kernel-image b/debian/installer/modules/arm64/kernel-image
index c8c0bd9acdf3..092df564bf37 100644
--- a/debian/installer/modules/arm64/kernel-image
+++ b/debian/installer/modules/arm64/kernel-image
@@ -15,6 +15,9 @@ drivers/soc/**
# Watchdog needed for reboot
sunxi_wdt ?
+# For Turris MOX (u-boot enables the watchdog)
+armada_37xx_wdt ?
+
# SPI devices
drivers/spi/**
diff --git a/debian/patches-rt/0001-Split-IRQ-off-and-zone-lock-while-freeing-pages-from.patch b/debian/patches-rt/0001-Split-IRQ-off-and-zone-lock-while-freeing-pages-from.patch
index d7bf9295e1a6..2659f0194e32 100644
--- a/debian/patches-rt/0001-Split-IRQ-off-and-zone-lock-while-freeing-pages-from.patch
+++ b/debian/patches-rt/0001-Split-IRQ-off-and-zone-lock-while-freeing-pages-from.patch
@@ -2,7 +2,7 @@ From: Peter Zijlstra <peterz@infradead.org>
Date: Mon, 28 May 2018 15:24:20 +0200
Subject: [PATCH 1/4] Split IRQ-off and zone->lock while freeing pages from PCP
list #1
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Split the IRQ-off section while accessing the PCP list from zone->lock
while freeing pages.
diff --git a/debian/patches-rt/0001-bpf-Tighten-the-requirements-for-preallocated-hash-m.patch b/debian/patches-rt/0001-bpf-Tighten-the-requirements-for-preallocated-hash-m.patch
index f03a86a85c59..3bb84ef2e849 100644
--- a/debian/patches-rt/0001-bpf-Tighten-the-requirements-for-preallocated-hash-m.patch
+++ b/debian/patches-rt/0001-bpf-Tighten-the-requirements-for-preallocated-hash-m.patch
@@ -2,7 +2,7 @@ From: Thomas Gleixner <tglx@linutronix.de>
Date: Mon, 24 Feb 2020 15:01:32 +0100
Subject: [PATCH 01/22] bpf: Tighten the requirements for preallocated hash
maps
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
The assumption that only programs attached to perf NMI events can deadlock
on memory allocators is wrong. Assume the following simplified callchain:
@@ -52,7 +52,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
--- a/kernel/bpf/verifier.c
+++ b/kernel/bpf/verifier.c
-@@ -8120,26 +8120,43 @@ static bool is_tracing_prog_type(enum bp
+@@ -8189,26 +8189,43 @@ static bool is_tracing_prog_type(enum bp
}
}
diff --git a/debian/patches-rt/0001-drm-vmwgfx-Drop-preempt_disable-in-vmw_fifo_ping_hos.patch b/debian/patches-rt/0001-drm-vmwgfx-Drop-preempt_disable-in-vmw_fifo_ping_hos.patch
index 79bb927c9493..89c56ef80596 100644
--- a/debian/patches-rt/0001-drm-vmwgfx-Drop-preempt_disable-in-vmw_fifo_ping_hos.patch
+++ b/debian/patches-rt/0001-drm-vmwgfx-Drop-preempt_disable-in-vmw_fifo_ping_hos.patch
@@ -2,7 +2,7 @@ From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Fri, 21 Feb 2020 18:57:11 +0100
Subject: [PATCH] drm/vmwgfx: Drop preempt_disable() in
vmw_fifo_ping_host()
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
vmw_fifo_ping_host() disables preemption around a test and a register
write via vmw_write(). The write function acquires a spinlock_t typed
diff --git a/debian/patches-rt/0001-locking-percpu-rwsem-lockdep-Make-percpu-rwsem-use-i.patch b/debian/patches-rt/0001-locking-percpu-rwsem-lockdep-Make-percpu-rwsem-use-i.patch
index 1488235e17b1..3db1695c1f9c 100644
--- a/debian/patches-rt/0001-locking-percpu-rwsem-lockdep-Make-percpu-rwsem-use-i.patch
+++ b/debian/patches-rt/0001-locking-percpu-rwsem-lockdep-Make-percpu-rwsem-use-i.patch
@@ -2,7 +2,7 @@ From: Peter Zijlstra <peterz@infradead.org>
Date: Fri, 31 Jan 2020 16:07:04 +0100
Subject: [PATCH 1/7] locking/percpu-rwsem, lockdep: Make percpu-rwsem use its
own lockdep_map
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
As preparation for replacing the embedded rwsem, give percpu-rwsem its
own lockdep_map.
diff --git a/debian/patches-rt/0001-printk-rb-add-printk-ring-buffer-documentation.patch b/debian/patches-rt/0001-printk-rb-add-printk-ring-buffer-documentation.patch
index 8b893c91e567..3d5ae34c29a8 100644
--- a/debian/patches-rt/0001-printk-rb-add-printk-ring-buffer-documentation.patch
+++ b/debian/patches-rt/0001-printk-rb-add-printk-ring-buffer-documentation.patch
@@ -1,7 +1,7 @@
From: John Ogness <john.ogness@linutronix.de>
Date: Tue, 12 Feb 2019 15:29:39 +0100
Subject: [PATCH 01/25] printk-rb: add printk ring buffer documentation
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
The full documentation file for the printk ring buffer.
diff --git a/debian/patches-rt/0001-workqueue-Don-t-assume-that-the-callback-has-interru.patch b/debian/patches-rt/0001-workqueue-Don-t-assume-that-the-callback-has-interru.patch
index ae3da3485a8b..cfe545363bd5 100644
--- a/debian/patches-rt/0001-workqueue-Don-t-assume-that-the-callback-has-interru.patch
+++ b/debian/patches-rt/0001-workqueue-Don-t-assume-that-the-callback-has-interru.patch
@@ -2,7 +2,7 @@ From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Tue, 11 Jun 2019 11:21:02 +0200
Subject: [PATCH 1/4] workqueue: Don't assume that the callback has interrupts
disabled
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Due to the TIMER_IRQSAFE flag, the timer callback is invoked with
disabled interrupts. On -RT the callback is invoked in softirq context
diff --git a/debian/patches-rt/0002-Split-IRQ-off-and-zone-lock-while-freeing-pages-from.patch b/debian/patches-rt/0002-Split-IRQ-off-and-zone-lock-while-freeing-pages-from.patch
index abb99170a97c..2f51db351f28 100644
--- a/debian/patches-rt/0002-Split-IRQ-off-and-zone-lock-while-freeing-pages-from.patch
+++ b/debian/patches-rt/0002-Split-IRQ-off-and-zone-lock-while-freeing-pages-from.patch
@@ -2,7 +2,7 @@ From: Peter Zijlstra <peterz@infradead.org>
Date: Mon, 28 May 2018 15:24:21 +0200
Subject: [PATCH 2/4] Split IRQ-off and zone->lock while freeing pages from PCP
list #2
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Split the IRQ-off section while accessing the PCP list from zone->lock
while freeing pages.
diff --git a/debian/patches-rt/0002-bpf-Enforce-preallocation-for-instrumentation-progra.patch b/debian/patches-rt/0002-bpf-Enforce-preallocation-for-instrumentation-progra.patch
index f665d1e3cb09..b40b9980ae6e 100644
--- a/debian/patches-rt/0002-bpf-Enforce-preallocation-for-instrumentation-progra.patch
+++ b/debian/patches-rt/0002-bpf-Enforce-preallocation-for-instrumentation-progra.patch
@@ -2,7 +2,7 @@ From: Thomas Gleixner <tglx@linutronix.de>
Date: Mon, 24 Feb 2020 15:01:33 +0100
Subject: [PATCH 02/22] bpf: Enforce preallocation for instrumentation programs
on RT
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Aside of the general unsafety of run-time map allocation for
instrumentation type programs RT enabled kernels have another constraint:
@@ -22,7 +22,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
--- a/kernel/bpf/verifier.c
+++ b/kernel/bpf/verifier.c
-@@ -8145,16 +8145,21 @@ static int check_map_prog_compatibility(
+@@ -8214,16 +8214,21 @@ static int check_map_prog_compatibility(
* of the memory allocator or at a place where a recursion into the
* memory allocator would see inconsistent state.
*
diff --git a/debian/patches-rt/0002-drm-vmwgfx-Remove-a-few-unused-functions.patch b/debian/patches-rt/0002-drm-vmwgfx-Remove-a-few-unused-functions.patch
index c106a9c8fdbf..55494f06e0a5 100644
--- a/debian/patches-rt/0002-drm-vmwgfx-Remove-a-few-unused-functions.patch
+++ b/debian/patches-rt/0002-drm-vmwgfx-Remove-a-few-unused-functions.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Fri, 21 Feb 2020 19:04:23 +0100
Subject: [PATCH] drm/vmwgfx: Remove a few unused functions
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
I noticed that there is a prototype for vmw_fifo_ping_host_locked() but
no function. Then I looked further and noticed more functions which are
diff --git a/debian/patches-rt/0002-locking-percpu-rwsem-Convert-to-bool.patch b/debian/patches-rt/0002-locking-percpu-rwsem-Convert-to-bool.patch
index 069773797eba..279f0881cad0 100644
--- a/debian/patches-rt/0002-locking-percpu-rwsem-Convert-to-bool.patch
+++ b/debian/patches-rt/0002-locking-percpu-rwsem-Convert-to-bool.patch
@@ -1,7 +1,7 @@
From: Peter Zijlstra <peterz@infradead.org>
Date: Fri, 31 Jan 2020 16:07:05 +0100
Subject: [PATCH 2/7] locking/percpu-rwsem: Convert to bool
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Use bool where possible.
diff --git a/debian/patches-rt/0002-printk-rb-add-prb-locking-functions.patch b/debian/patches-rt/0002-printk-rb-add-prb-locking-functions.patch
index 615134fe069e..31693b005880 100644
--- a/debian/patches-rt/0002-printk-rb-add-prb-locking-functions.patch
+++ b/debian/patches-rt/0002-printk-rb-add-prb-locking-functions.patch
@@ -1,7 +1,7 @@
From: John Ogness <john.ogness@linutronix.de>
Date: Tue, 12 Feb 2019 15:29:40 +0100
Subject: [PATCH 02/25] printk-rb: add prb locking functions
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Add processor-reentrant spin locking functions. These allow
restricting the number of possible contexts to 2, which can simplify
diff --git a/debian/patches-rt/0002-sched-swait-Add-swait_event_lock_irq.patch b/debian/patches-rt/0002-sched-swait-Add-swait_event_lock_irq.patch
index 4930d9fbb8fd..95aee8674177 100644
--- a/debian/patches-rt/0002-sched-swait-Add-swait_event_lock_irq.patch
+++ b/debian/patches-rt/0002-sched-swait-Add-swait_event_lock_irq.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Wed, 22 May 2019 12:42:26 +0200
Subject: [PATCH 2/4] sched/swait: Add swait_event_lock_irq()
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
The swait_event_lock_irq() is inspired by wait_event_lock_irq(). This is
required by the workqueue code once it switches to swait.
diff --git a/debian/patches-rt/0003-bpf-Update-locking-comment-in-hashtab-code.patch b/debian/patches-rt/0003-bpf-Update-locking-comment-in-hashtab-code.patch
index b568f4486fcc..d5b1a23072a4 100644
--- a/debian/patches-rt/0003-bpf-Update-locking-comment-in-hashtab-code.patch
+++ b/debian/patches-rt/0003-bpf-Update-locking-comment-in-hashtab-code.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Mon, 24 Feb 2020 15:01:34 +0100
Subject: [PATCH 03/22] bpf: Update locking comment in hashtab code
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
The comment where the bucket lock is acquired says:
diff --git a/debian/patches-rt/0003-locking-percpu-rwsem-Move-__this_cpu_inc-into-the-sl.patch b/debian/patches-rt/0003-locking-percpu-rwsem-Move-__this_cpu_inc-into-the-sl.patch
index 3a98662a6435..8022d89a3a9a 100644
--- a/debian/patches-rt/0003-locking-percpu-rwsem-Move-__this_cpu_inc-into-the-sl.patch
+++ b/debian/patches-rt/0003-locking-percpu-rwsem-Move-__this_cpu_inc-into-the-sl.patch
@@ -2,7 +2,7 @@ From: Peter Zijlstra <peterz@infradead.org>
Date: Fri, 31 Jan 2020 16:07:06 +0100
Subject: [PATCH 3/7] locking/percpu-rwsem: Move __this_cpu_inc() into the
slowpath
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
As preparation to rework __percpu_down_read() move the
__this_cpu_inc() into it.
diff --git a/debian/patches-rt/0003-mm-SLxB-change-list_lock-to-raw_spinlock_t.patch b/debian/patches-rt/0003-mm-SLxB-change-list_lock-to-raw_spinlock_t.patch
index 430e60724323..e72dbecc7423 100644
--- a/debian/patches-rt/0003-mm-SLxB-change-list_lock-to-raw_spinlock_t.patch
+++ b/debian/patches-rt/0003-mm-SLxB-change-list_lock-to-raw_spinlock_t.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Mon, 28 May 2018 15:24:22 +0200
Subject: [PATCH 3/4] mm/SLxB: change list_lock to raw_spinlock_t
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
The list_lock is used with used with IRQs off on RT. Make it a raw_spinlock_t
otherwise the interrupts won't be disabled on -RT. The locking rules remain
@@ -477,7 +477,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
return x;
}
#endif /* CONFIG_SLUB_DEBUG || CONFIG_SYSFS */
-@@ -2876,7 +2876,7 @@ static void __slab_free(struct kmem_cach
+@@ -2873,7 +2873,7 @@ static void __slab_free(struct kmem_cach
do {
if (unlikely(n)) {
@@ -486,7 +486,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
n = NULL;
}
prior = page->freelist;
-@@ -2908,7 +2908,7 @@ static void __slab_free(struct kmem_cach
+@@ -2905,7 +2905,7 @@ static void __slab_free(struct kmem_cach
* Otherwise the list_lock will synchronize with
* other processors updating the list of slabs.
*/
@@ -495,7 +495,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
}
}
-@@ -2949,7 +2949,7 @@ static void __slab_free(struct kmem_cach
+@@ -2946,7 +2946,7 @@ static void __slab_free(struct kmem_cach
add_partial(n, page, DEACTIVATE_TO_TAIL);
stat(s, FREE_ADD_PARTIAL);
}
@@ -504,7 +504,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
return;
slab_empty:
-@@ -2964,7 +2964,7 @@ static void __slab_free(struct kmem_cach
+@@ -2961,7 +2961,7 @@ static void __slab_free(struct kmem_cach
remove_full(s, n, page);
}
@@ -513,7 +513,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
stat(s, FREE_SLAB);
discard_slab(s, page);
}
-@@ -3368,7 +3368,7 @@ static void
+@@ -3362,7 +3362,7 @@ static void
init_kmem_cache_node(struct kmem_cache_node *n)
{
n->nr_partial = 0;
@@ -522,7 +522,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
INIT_LIST_HEAD(&n->partial);
#ifdef CONFIG_SLUB_DEBUG
atomic_long_set(&n->nr_slabs, 0);
-@@ -3749,7 +3749,7 @@ static void free_partial(struct kmem_cac
+@@ -3743,7 +3743,7 @@ static void free_partial(struct kmem_cac
struct page *page, *h;
BUG_ON(irqs_disabled());
@@ -531,7 +531,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
list_for_each_entry_safe(page, h, &n->partial, slab_list) {
if (!page->inuse) {
remove_partial(n, page);
-@@ -3759,7 +3759,7 @@ static void free_partial(struct kmem_cac
+@@ -3753,7 +3753,7 @@ static void free_partial(struct kmem_cac
"Objects remaining in %s on __kmem_cache_shutdown()");
}
}
@@ -540,7 +540,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
list_for_each_entry_safe(page, h, &discard, slab_list)
discard_slab(s, page);
-@@ -4031,7 +4031,7 @@ int __kmem_cache_shrink(struct kmem_cach
+@@ -4025,7 +4025,7 @@ int __kmem_cache_shrink(struct kmem_cach
for (i = 0; i < SHRINK_PROMOTE_MAX; i++)
INIT_LIST_HEAD(promote + i);
@@ -549,7 +549,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
/*
* Build lists of slabs to discard or promote.
-@@ -4062,7 +4062,7 @@ int __kmem_cache_shrink(struct kmem_cach
+@@ -4056,7 +4056,7 @@ int __kmem_cache_shrink(struct kmem_cach
for (i = SHRINK_PROMOTE_MAX - 1; i >= 0; i--)
list_splice(promote + i, &n->partial);
@@ -558,7 +558,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
/* Release empty slabs */
list_for_each_entry_safe(page, t, &discard, slab_list)
-@@ -4460,7 +4460,7 @@ static int validate_slab_node(struct kme
+@@ -4454,7 +4454,7 @@ static int validate_slab_node(struct kme
struct page *page;
unsigned long flags;
@@ -567,7 +567,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
list_for_each_entry(page, &n->partial, slab_list) {
validate_slab(s, page);
-@@ -4482,7 +4482,7 @@ static int validate_slab_node(struct kme
+@@ -4476,7 +4476,7 @@ static int validate_slab_node(struct kme
s->name, count, atomic_long_read(&n->nr_slabs));
out:
@@ -576,7 +576,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
return count;
}
-@@ -4661,12 +4661,12 @@ static int list_locations(struct kmem_ca
+@@ -4655,12 +4655,12 @@ static int list_locations(struct kmem_ca
if (!atomic_long_read(&n->nr_slabs))
continue;
diff --git a/debian/patches-rt/0003-printk-rb-define-ring-buffer-struct-and-initializer.patch b/debian/patches-rt/0003-printk-rb-define-ring-buffer-struct-and-initializer.patch
index 644cd19b4c57..f8eb4df5b9af 100644
--- a/debian/patches-rt/0003-printk-rb-define-ring-buffer-struct-and-initializer.patch
+++ b/debian/patches-rt/0003-printk-rb-define-ring-buffer-struct-and-initializer.patch
@@ -1,7 +1,7 @@
From: John Ogness <john.ogness@linutronix.de>
Date: Tue, 12 Feb 2019 15:29:41 +0100
Subject: [PATCH 03/25] printk-rb: define ring buffer struct and initializer
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
See Documentation/printk-ringbuffer.txt for details about the
initializer arguments.
diff --git a/debian/patches-rt/0003-workqueue-Use-swait-for-wq_manager_wait.patch b/debian/patches-rt/0003-workqueue-Use-swait-for-wq_manager_wait.patch
index 9c705688e479..c58b9adfa895 100644
--- a/debian/patches-rt/0003-workqueue-Use-swait-for-wq_manager_wait.patch
+++ b/debian/patches-rt/0003-workqueue-Use-swait-for-wq_manager_wait.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Tue, 11 Jun 2019 11:21:09 +0200
Subject: [PATCH 3/4] workqueue: Use swait for wq_manager_wait
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
In order for the workqueue code use raw_spinlock_t typed locking there
must not be a spinlock_t typed lock be acquired. A wait_queue_head uses
diff --git a/debian/patches-rt/0004-bpf-tracing-Remove-redundant-preempt_disable-in-__bp.patch b/debian/patches-rt/0004-bpf-tracing-Remove-redundant-preempt_disable-in-__bp.patch
index f3057a9a3bb1..36973fed5bc7 100644
--- a/debian/patches-rt/0004-bpf-tracing-Remove-redundant-preempt_disable-in-__bp.patch
+++ b/debian/patches-rt/0004-bpf-tracing-Remove-redundant-preempt_disable-in-__bp.patch
@@ -2,7 +2,7 @@ From: Thomas Gleixner <tglx@linutronix.de>
Date: Mon, 24 Feb 2020 15:01:35 +0100
Subject: [PATCH 04/22] bpf/tracing: Remove redundant preempt_disable() in
__bpf_trace_run()
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
__bpf_trace_run() disables preemption around the BPF_PROG_RUN() invocation.
diff --git a/debian/patches-rt/0004-locking-percpu-rwsem-Extract-__percpu_down_read_tryl.patch b/debian/patches-rt/0004-locking-percpu-rwsem-Extract-__percpu_down_read_tryl.patch
index 3d7132d003b6..a873625f9873 100644
--- a/debian/patches-rt/0004-locking-percpu-rwsem-Extract-__percpu_down_read_tryl.patch
+++ b/debian/patches-rt/0004-locking-percpu-rwsem-Extract-__percpu_down_read_tryl.patch
@@ -2,7 +2,7 @@ From: Peter Zijlstra <peterz@infradead.org>
Date: Fri, 31 Jan 2020 16:07:07 +0100
Subject: [PATCH 4/7] locking/percpu-rwsem: Extract
__percpu_down_read_trylock()
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
In preparation for removing the embedded rwsem and building a custom
lock, extract the read-trylock primitive.
diff --git a/debian/patches-rt/0004-mm-SLUB-delay-giving-back-empty-slubs-to-IRQ-enabled.patch b/debian/patches-rt/0004-mm-SLUB-delay-giving-back-empty-slubs-to-IRQ-enabled.patch
index 59fbd252d399..d58a0853eb7b 100644
--- a/debian/patches-rt/0004-mm-SLUB-delay-giving-back-empty-slubs-to-IRQ-enabled.patch
+++ b/debian/patches-rt/0004-mm-SLUB-delay-giving-back-empty-slubs-to-IRQ-enabled.patch
@@ -2,7 +2,7 @@ From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 21 Jun 2018 17:29:19 +0200
Subject: [PATCH 4/4] mm/SLUB: delay giving back empty slubs to IRQ enabled
regions
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
__free_slab() is invoked with disabled interrupts which increases the
irq-off time while __free_pages() is doing the work.
@@ -169,15 +169,15 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
return p;
}
-@@ -3169,6 +3224,7 @@ int kmem_cache_alloc_bulk(struct kmem_ca
+@@ -3166,6 +3221,7 @@ int kmem_cache_alloc_bulk(struct kmem_ca
void **p)
{
struct kmem_cache_cpu *c;
+ LIST_HEAD(to_free);
int i;
- if (IS_ENABLED(CONFIG_PREEMPT_RT) && IS_ENABLED(CONFIG_DEBUG_ATOMIC_SLEEP))
-@@ -3204,7 +3260,7 @@ int kmem_cache_alloc_bulk(struct kmem_ca
+ /* memcg and kmem_cache debug support */
+@@ -3198,7 +3254,7 @@ int kmem_cache_alloc_bulk(struct kmem_ca
* of re-populating per CPU c->freelist
*/
p[i] = ___slab_alloc(s, flags, NUMA_NO_NODE,
@@ -186,7 +186,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
if (unlikely(!p[i]))
goto error;
-@@ -3219,6 +3275,7 @@ int kmem_cache_alloc_bulk(struct kmem_ca
+@@ -3213,6 +3269,7 @@ int kmem_cache_alloc_bulk(struct kmem_ca
}
c->tid = next_tid(c->tid);
local_irq_enable();
@@ -194,7 +194,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
/* Clear memory outside IRQ disabled fastpath loop */
if (unlikely(slab_want_init_on_alloc(flags, s))) {
-@@ -3233,6 +3290,7 @@ int kmem_cache_alloc_bulk(struct kmem_ca
+@@ -3227,6 +3284,7 @@ int kmem_cache_alloc_bulk(struct kmem_ca
return i;
error:
local_irq_enable();
@@ -202,7 +202,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
slab_post_alloc_hook(s, flags, i, p);
__kmem_cache_free_bulk(s, i, p);
return 0;
-@@ -4269,6 +4327,12 @@ void __init kmem_cache_init(void)
+@@ -4263,6 +4321,12 @@ void __init kmem_cache_init(void)
{
static __initdata struct kmem_cache boot_kmem_cache,
boot_kmem_cache_node;
diff --git a/debian/patches-rt/0004-printk-rb-add-writer-interface.patch b/debian/patches-rt/0004-printk-rb-add-writer-interface.patch
index dcc0e099023b..cd156d68e82a 100644
--- a/debian/patches-rt/0004-printk-rb-add-writer-interface.patch
+++ b/debian/patches-rt/0004-printk-rb-add-writer-interface.patch
@@ -1,7 +1,7 @@
From: John Ogness <john.ogness@linutronix.de>
Date: Tue, 12 Feb 2019 15:29:42 +0100
Subject: [PATCH 04/25] printk-rb: add writer interface
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Add the writer functions prb_reserve() and prb_commit(). These make
use of processor-reentrant spin locks to limit the number of possible
diff --git a/debian/patches-rt/0004-workqueue-Convert-the-locks-to-raw-type.patch b/debian/patches-rt/0004-workqueue-Convert-the-locks-to-raw-type.patch
index a02d2a39dd16..05af31a30a0b 100644
--- a/debian/patches-rt/0004-workqueue-Convert-the-locks-to-raw-type.patch
+++ b/debian/patches-rt/0004-workqueue-Convert-the-locks-to-raw-type.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Wed, 22 May 2019 12:43:56 +0200
Subject: [PATCH 4/4] workqueue: Convert the locks to raw type
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
After all the workqueue and the timer rework, we can finally make the
worker_pool lock raw.
diff --git a/debian/patches-rt/0005-bpf-trace-Remove-EXPORT-from-trace_call_bpf.patch b/debian/patches-rt/0005-bpf-trace-Remove-EXPORT-from-trace_call_bpf.patch
index e2be4976a7b1..277b0ed95ff5 100644
--- a/debian/patches-rt/0005-bpf-trace-Remove-EXPORT-from-trace_call_bpf.patch
+++ b/debian/patches-rt/0005-bpf-trace-Remove-EXPORT-from-trace_call_bpf.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Mon, 24 Feb 2020 15:01:36 +0100
Subject: [PATCH 05/22] bpf/trace: Remove EXPORT from trace_call_bpf()
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
All callers are built in. No point to export this.
diff --git a/debian/patches-rt/0005-locking-percpu-rwsem-Remove-the-embedded-rwsem.patch b/debian/patches-rt/0005-locking-percpu-rwsem-Remove-the-embedded-rwsem.patch
index 733c5e395f5b..d94b609f87f3 100644
--- a/debian/patches-rt/0005-locking-percpu-rwsem-Remove-the-embedded-rwsem.patch
+++ b/debian/patches-rt/0005-locking-percpu-rwsem-Remove-the-embedded-rwsem.patch
@@ -1,7 +1,7 @@
From: Peter Zijlstra <peterz@infradead.org>
Date: Fri, 31 Jan 2020 16:07:08 +0100
Subject: [PATCH 5/7] locking/percpu-rwsem: Remove the embedded rwsem
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
The filesystem freezer uses percpu-rwsem in a way that is effectively
write_non_owner() and achieves this with a few horrible hacks that
diff --git a/debian/patches-rt/0005-printk-rb-add-basic-non-blocking-reading-interface.patch b/debian/patches-rt/0005-printk-rb-add-basic-non-blocking-reading-interface.patch
index ed38d95c108e..992b2fb33398 100644
--- a/debian/patches-rt/0005-printk-rb-add-basic-non-blocking-reading-interface.patch
+++ b/debian/patches-rt/0005-printk-rb-add-basic-non-blocking-reading-interface.patch
@@ -1,7 +1,7 @@
From: John Ogness <john.ogness@linutronix.de>
Date: Tue, 12 Feb 2019 15:29:43 +0100
Subject: [PATCH 05/25] printk-rb: add basic non-blocking reading interface
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Add reader iterator static declaration/initializer, dynamic
initializer, and functions to iterate and retrieve ring buffer data.
diff --git a/debian/patches-rt/0005.5-bpf-disable-preemption-for-bpf-progs-attached-to-upr.patch b/debian/patches-rt/0005.5-bpf-disable-preemption-for-bpf-progs-attached-to-upr.patch
index 4babc6450f17..843b65891515 100644
--- a/debian/patches-rt/0005.5-bpf-disable-preemption-for-bpf-progs-attached-to-upr.patch
+++ b/debian/patches-rt/0005.5-bpf-disable-preemption-for-bpf-progs-attached-to-upr.patch
@@ -1,7 +1,7 @@
From: Alexei Starovoitov <ast@kernel.org>
Date: Mon, 24 Feb 2020 11:27:15 -0800
Subject: [PATCH] bpf: disable preemption for bpf progs attached to uprobe
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
trace_call_bpf() no longer disables preemption on its own.
All callers of this function has to do it explicitly.
diff --git a/debian/patches-rt/0006-bpf-trace-Remove-redundant-preempt_disable-from-trac.patch b/debian/patches-rt/0006-bpf-trace-Remove-redundant-preempt_disable-from-trac.patch
index 21d7fa442696..8148a98340b6 100644
--- a/debian/patches-rt/0006-bpf-trace-Remove-redundant-preempt_disable-from-trac.patch
+++ b/debian/patches-rt/0006-bpf-trace-Remove-redundant-preempt_disable-from-trac.patch
@@ -2,7 +2,7 @@ From: Thomas Gleixner <tglx@linutronix.de>
Date: Mon, 24 Feb 2020 15:01:37 +0100
Subject: [PATCH 06/22] bpf/trace: Remove redundant preempt_disable from
trace_call_bpf()
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Similar to __bpf_trace_run this is redundant because __bpf_trace_run() is
invoked from a trace point via __DO_TRACE() which already disables
diff --git a/debian/patches-rt/0006-locking-percpu-rwsem-Fold-__percpu_up_read.patch b/debian/patches-rt/0006-locking-percpu-rwsem-Fold-__percpu_up_read.patch
index 897181c2ec07..aff40c6e6e59 100644
--- a/debian/patches-rt/0006-locking-percpu-rwsem-Fold-__percpu_up_read.patch
+++ b/debian/patches-rt/0006-locking-percpu-rwsem-Fold-__percpu_up_read.patch
@@ -1,7 +1,7 @@
From: Davidlohr Bueso <dave@stgolabs.net>
Date: Fri, 31 Jan 2020 16:07:09 +0100
Subject: [PATCH 6/7] locking/percpu-rwsem: Fold __percpu_up_read()
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Now that __percpu_up_read() is only ever used from percpu_up_read()
merge them, it's a small function.
diff --git a/debian/patches-rt/0006-printk-rb-add-blocking-reader-support.patch b/debian/patches-rt/0006-printk-rb-add-blocking-reader-support.patch
index b932e97812cb..154df9149a0c 100644
--- a/debian/patches-rt/0006-printk-rb-add-blocking-reader-support.patch
+++ b/debian/patches-rt/0006-printk-rb-add-blocking-reader-support.patch
@@ -1,7 +1,7 @@
From: John Ogness <john.ogness@linutronix.de>
Date: Tue, 12 Feb 2019 15:29:44 +0100
Subject: [PATCH 06/25] printk-rb: add blocking reader support
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Add a blocking read function for readers. An irq_work function is
used to signal the wait queue so that write notification can
diff --git a/debian/patches-rt/0007-locking-percpu-rwsem-Add-might_sleep-for-writer-lock.patch b/debian/patches-rt/0007-locking-percpu-rwsem-Add-might_sleep-for-writer-lock.patch
index ae219050762a..4808756c82b1 100644
--- a/debian/patches-rt/0007-locking-percpu-rwsem-Add-might_sleep-for-writer-lock.patch
+++ b/debian/patches-rt/0007-locking-percpu-rwsem-Add-might_sleep-for-writer-lock.patch
@@ -2,7 +2,7 @@ From: Davidlohr Bueso <dave@stgolabs.net>
Date: Fri, 31 Jan 2020 16:07:10 +0100
Subject: [PATCH 7/7] locking/percpu-rwsem: Add might_sleep() for writer
locking
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
We are missing this annotation in percpu_down_write(). Correct
this.
diff --git a/debian/patches-rt/0007-perf-bpf-Remove-preempt-disable-around-BPF-invocatio.patch b/debian/patches-rt/0007-perf-bpf-Remove-preempt-disable-around-BPF-invocatio.patch
index 98a6d3168252..bbbf2691b120 100644
--- a/debian/patches-rt/0007-perf-bpf-Remove-preempt-disable-around-BPF-invocatio.patch
+++ b/debian/patches-rt/0007-perf-bpf-Remove-preempt-disable-around-BPF-invocatio.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Mon, 24 Feb 2020 15:01:38 +0100
Subject: [PATCH 07/22] perf/bpf: Remove preempt disable around BPF invocation
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
The BPF invocation from the perf event overflow handler does not require to
disable preemption because this is called from NMI or at least hard
@@ -15,7 +15,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
--- a/kernel/events/core.c
+++ b/kernel/events/core.c
-@@ -9206,7 +9206,6 @@ static void bpf_overflow_handler(struct
+@@ -9202,7 +9202,6 @@ static void bpf_overflow_handler(struct
int ret = 0;
ctx.regs = perf_arch_bpf_user_pt_regs(regs);
@@ -23,7 +23,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
if (unlikely(__this_cpu_inc_return(bpf_prog_active) != 1))
goto out;
rcu_read_lock();
-@@ -9214,7 +9213,6 @@ static void bpf_overflow_handler(struct
+@@ -9210,7 +9209,6 @@ static void bpf_overflow_handler(struct
rcu_read_unlock();
out:
__this_cpu_dec(bpf_prog_active);
diff --git a/debian/patches-rt/0007-printk-rb-add-functionality-required-by-printk.patch b/debian/patches-rt/0007-printk-rb-add-functionality-required-by-printk.patch
index 7e530c565d51..454935eeccbe 100644
--- a/debian/patches-rt/0007-printk-rb-add-functionality-required-by-printk.patch
+++ b/debian/patches-rt/0007-printk-rb-add-functionality-required-by-printk.patch
@@ -1,7 +1,7 @@
From: John Ogness <john.ogness@linutronix.de>
Date: Tue, 12 Feb 2019 15:29:45 +0100
Subject: [PATCH 07/25] printk-rb: add functionality required by printk
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
The printk subsystem needs to be able to query the size of the ring
buffer, seek to specific entries within the ring buffer, and track
diff --git a/debian/patches-rt/0008-bpf-Remove-recursion-prevention-from-rcu-free-callba.patch b/debian/patches-rt/0008-bpf-Remove-recursion-prevention-from-rcu-free-callba.patch
index e13b402f882f..71ef61fd1cd2 100644
--- a/debian/patches-rt/0008-bpf-Remove-recursion-prevention-from-rcu-free-callba.patch
+++ b/debian/patches-rt/0008-bpf-Remove-recursion-prevention-from-rcu-free-callba.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Mon, 24 Feb 2020 15:01:39 +0100
Subject: [PATCH 08/22] bpf: Remove recursion prevention from rcu free callback
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
If an element is freed via RCU then recursion into BPF instrumentation
functions is not a concern. The element is already detached from the map
diff --git a/debian/patches-rt/0008-printk-add-ring-buffer-and-kthread.patch b/debian/patches-rt/0008-printk-add-ring-buffer-and-kthread.patch
index 7f5d827e5c4f..1206dcd34d73 100644
--- a/debian/patches-rt/0008-printk-add-ring-buffer-and-kthread.patch
+++ b/debian/patches-rt/0008-printk-add-ring-buffer-and-kthread.patch
@@ -1,7 +1,7 @@
From: John Ogness <john.ogness@linutronix.de>
Date: Tue, 12 Feb 2019 15:29:46 +0100
Subject: [PATCH 08/25] printk: add ring buffer and kthread
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
The printk ring buffer provides an NMI-safe interface for writing
messages to a ring buffer. Using such a buffer for alleviates printk
@@ -48,7 +48,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
DECLARE_WAIT_QUEUE_HEAD(log_wait);
/* the next printk record to read by syslog(READ) or /proc/kmsg */
static u64 syslog_seq;
-@@ -780,6 +787,10 @@ static ssize_t msg_print_ext_body(char *
+@@ -792,6 +799,10 @@ static ssize_t msg_print_ext_body(char *
return p - buf;
}
@@ -59,7 +59,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
/* /dev/kmsg - userspace message inject/listen interface */
struct devkmsg_user {
u64 seq;
-@@ -1620,6 +1631,34 @@ SYSCALL_DEFINE3(syslog, int, type, char
+@@ -1648,6 +1659,34 @@ SYSCALL_DEFINE3(syslog, int, type, char
return do_syslog(type, buf, len, SYSLOG_FROM_READER);
}
@@ -94,7 +94,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
/*
* Special console_lock variants that help to reduce the risk of soft-lockups.
* They allow to pass console_lock to another printk() call using a busy wait.
-@@ -2974,6 +3013,72 @@ void wake_up_klogd(void)
+@@ -3005,6 +3044,72 @@ void wake_up_klogd(void)
preempt_enable();
}
@@ -166,4 +166,4 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
+
void defer_console_output(void)
{
- preempt_disable();
+ if (!printk_percpu_data_ready())
diff --git a/debian/patches-rt/0009-bpf-Dont-iterate-over-possible-CPUs-with-interrupts-.patch b/debian/patches-rt/0009-bpf-Dont-iterate-over-possible-CPUs-with-interrupts-.patch
index 919dc0605abf..bc5975dc4ff6 100644
--- a/debian/patches-rt/0009-bpf-Dont-iterate-over-possible-CPUs-with-interrupts-.patch
+++ b/debian/patches-rt/0009-bpf-Dont-iterate-over-possible-CPUs-with-interrupts-.patch
@@ -2,7 +2,7 @@ From: Thomas Gleixner <tglx@linutronix.de>
Date: Mon, 24 Feb 2020 15:01:40 +0100
Subject: [PATCH 09/22] bpf: Dont iterate over possible CPUs with interrupts
disabled
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
pcpu_freelist_populate() is disabling interrupts and then iterates over the
possible CPUs. The reason why this disables interrupts is to silence
diff --git a/debian/patches-rt/0009-printk-remove-exclusive-console-hack.patch b/debian/patches-rt/0009-printk-remove-exclusive-console-hack.patch
index 7a88d116bf40..fc75c2bdc583 100644
--- a/debian/patches-rt/0009-printk-remove-exclusive-console-hack.patch
+++ b/debian/patches-rt/0009-printk-remove-exclusive-console-hack.patch
@@ -1,7 +1,7 @@
From: John Ogness <john.ogness@linutronix.de>
Date: Tue, 12 Feb 2019 15:29:47 +0100
Subject: [PATCH 09/25] printk: remove exclusive console hack
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
In order to support printing the printk log history when new
consoles are registered, a global exclusive_console variable is
@@ -41,7 +41,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
/* the next printk record to read after the last 'clear' command */
static u64 clear_seq;
-@@ -1815,8 +1809,6 @@ static void call_console_drivers(const c
+@@ -1843,8 +1837,6 @@ static void call_console_drivers(const c
return;
for_each_console(con) {
@@ -50,7 +50,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
if (!(con->flags & CON_ENABLED))
continue;
if (!con->write)
-@@ -2109,7 +2101,6 @@ static u64 syslog_seq;
+@@ -2137,7 +2129,6 @@ static u64 syslog_seq;
static u32 syslog_idx;
static u64 console_seq;
static u32 console_idx;
@@ -58,7 +58,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
static u64 log_first_seq;
static u32 log_first_idx;
static u64 log_next_seq;
-@@ -2478,12 +2469,6 @@ void console_unlock(void)
+@@ -2506,12 +2497,6 @@ void console_unlock(void)
goto skip;
}
@@ -71,7 +71,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
len += msg_print_text(msg,
console_msg_format & MSG_FORMAT_SYSLOG,
printk_time, text + len, sizeof(text) - len);
-@@ -2809,17 +2794,6 @@ void register_console(struct console *ne
+@@ -2837,17 +2822,6 @@ void register_console(struct console *ne
* for us.
*/
logbuf_lock_irqsave(flags);
@@ -89,7 +89,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
console_seq = syslog_seq;
console_idx = syslog_idx;
logbuf_unlock_irqrestore(flags);
-@@ -2833,6 +2807,10 @@ void register_console(struct console *ne
+@@ -2861,6 +2835,10 @@ void register_console(struct console *ne
* boot consoles, real consoles, etc - this is to ensure that end
* users know there might be something in the kernel's log buffer that
* went to the bootconsole (that they do not see on the real console)
diff --git a/debian/patches-rt/0010-bpf-Provide-bpf_prog_run_pin_on_cpu-helper.patch b/debian/patches-rt/0010-bpf-Provide-bpf_prog_run_pin_on_cpu-helper.patch
index a01cbb454c50..cb53641d9fd0 100644
--- a/debian/patches-rt/0010-bpf-Provide-bpf_prog_run_pin_on_cpu-helper.patch
+++ b/debian/patches-rt/0010-bpf-Provide-bpf_prog_run_pin_on_cpu-helper.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Mon, 24 Feb 2020 19:41:53 +0100
Subject: [PATCH V4 10/22] bpf: Provide bpf_prog_run_pin_on_cpu() helper
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
BPF programs require to run on one CPU to completion as they use per CPU
storage, but according to Alexei they don't need reentrancy protection as
diff --git a/debian/patches-rt/0010-printk-redirect-emit-store-to-new-ringbuffer.patch b/debian/patches-rt/0010-printk-redirect-emit-store-to-new-ringbuffer.patch
index 2cdf25490d6b..59813e2d4629 100644
--- a/debian/patches-rt/0010-printk-redirect-emit-store-to-new-ringbuffer.patch
+++ b/debian/patches-rt/0010-printk-redirect-emit-store-to-new-ringbuffer.patch
@@ -1,7 +1,7 @@
From: John Ogness <john.ogness@linutronix.de>
Date: Tue, 12 Feb 2019 15:29:48 +0100
Subject: [PATCH 10/25] printk: redirect emit/store to new ringbuffer
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
vprintk_emit and vprintk_store are the main functions that all printk
variants eventually go through. Change these to store the message in
@@ -26,7 +26,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
--- a/kernel/printk/printk.c
+++ b/kernel/printk/printk.c
-@@ -517,90 +517,6 @@ static u32 log_next(u32 idx)
+@@ -529,90 +529,6 @@ static u32 log_next(u32 idx)
return idx + msg->len;
}
@@ -117,7 +117,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
/* insert record into the buffer, discard old ones, update heads */
static int log_store(u32 caller_id, int facility, int level,
enum log_flags flags, u64 ts_nsec,
-@@ -608,57 +524,39 @@ static int log_store(u32 caller_id, int
+@@ -620,57 +536,39 @@ static int log_store(u32 caller_id, int
const char *text, u16 text_len)
{
struct printk_log *msg;
@@ -188,7 +188,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
return msg->text_len;
}
-@@ -1729,70 +1627,6 @@ static int console_lock_spinning_disable
+@@ -1757,70 +1655,6 @@ static int console_lock_spinning_disable
return 1;
}
@@ -259,7 +259,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
/*
* Call the console drivers, asking them to write out
* log_buf[start] to log_buf[end - 1].
-@@ -1813,7 +1647,7 @@ static void call_console_drivers(const c
+@@ -1841,7 +1675,7 @@ static void call_console_drivers(const c
continue;
if (!con->write)
continue;
@@ -268,7 +268,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
!(con->flags & CON_ANYTIME))
continue;
if (con->flags & CON_EXTENDED)
-@@ -1843,6 +1677,8 @@ static inline u32 printk_caller_id(void)
+@@ -1871,6 +1705,8 @@ static inline u32 printk_caller_id(void)
0x80000000 + raw_smp_processor_id();
}
@@ -277,7 +277,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
/*
* Continuation lines are buffered, and not committed to the record buffer
* until the line is complete, or a race forces it. The line fragments
-@@ -1898,56 +1734,45 @@ static bool cont_add(u32 caller_id, int
+@@ -1926,56 +1762,45 @@ static bool cont_add(u32 caller_id, int
return true;
}
@@ -365,7 +365,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
if (text_len && text[text_len-1] == '\n') {
text_len--;
lflags |= LOG_NEWLINE;
-@@ -1978,58 +1803,10 @@ int vprintk_store(int facility, int leve
+@@ -2006,58 +1831,10 @@ int vprintk_store(int facility, int leve
if (dict)
lflags |= LOG_NEWLINE;
@@ -427,7 +427,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
return printed_len;
}
EXPORT_SYMBOL(vprintk_emit);
-@@ -2494,7 +2271,7 @@ void console_unlock(void)
+@@ -2522,7 +2299,7 @@ void console_unlock(void)
console_lock_spinning_enable();
stop_critical_timings(); /* don't trace print latency */
diff --git a/debian/patches-rt/0011-bpf-Replace-cant_sleep-with-cant_migrate.patch b/debian/patches-rt/0011-bpf-Replace-cant_sleep-with-cant_migrate.patch
index ac5570d6d32c..7bc7a9a79428 100644
--- a/debian/patches-rt/0011-bpf-Replace-cant_sleep-with-cant_migrate.patch
+++ b/debian/patches-rt/0011-bpf-Replace-cant_sleep-with-cant_migrate.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Mon, 24 Feb 2020 15:01:42 +0100
Subject: [PATCH 11/22] bpf: Replace cant_sleep() with cant_migrate()
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
As already discussed in the previous change which introduced
BPF_RUN_PROG_PIN_ON_CPU() BPF only requires to disable migration to
diff --git a/debian/patches-rt/0011-printk_safe-remove-printk-safe-code.patch b/debian/patches-rt/0011-printk_safe-remove-printk-safe-code.patch
index 65bdeb9c89b8..76ec49ecec19 100644
--- a/debian/patches-rt/0011-printk_safe-remove-printk-safe-code.patch
+++ b/debian/patches-rt/0011-printk_safe-remove-printk-safe-code.patch
@@ -1,7 +1,7 @@
From: John Ogness <john.ogness@linutronix.de>
Date: Tue, 12 Feb 2019 15:29:49 +0100
Subject: [PATCH 11/25] printk_safe: remove printk safe code
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
vprintk variants are now NMI-safe so there is no longer a need for
the "safe" calls.
@@ -14,17 +14,16 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
arch/powerpc/kernel/traps.c | 1
arch/powerpc/kernel/watchdog.c | 5
include/linux/hardirq.h | 2
- include/linux/printk.h | 27 --
- init/main.c | 1
+ include/linux/printk.h | 21 --
kernel/kexec_core.c | 1
kernel/panic.c | 3
kernel/printk/Makefile | 1
- kernel/printk/internal.h | 30 --
- kernel/printk/printk.c | 13 -
- kernel/printk/printk_safe.c | 415 -----------------------------------------
+ kernel/printk/internal.h | 35 ---
+ kernel/printk/printk.c | 47 ----
+ kernel/printk/printk_safe.c | 406 -----------------------------------------
kernel/trace/trace.c | 2
lib/nmi_backtrace.c | 6
- 13 files changed, 7 insertions(+), 500 deletions(-)
+ 12 files changed, 7 insertions(+), 523 deletions(-)
delete mode 100644 kernel/printk/printk_safe.c
--- a/arch/powerpc/kernel/traps.c
@@ -90,25 +89,19 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
#ifdef CONFIG_PRINTK
asmlinkage __printf(5, 0)
int vprintk_emit(int facility, int level,
-@@ -202,9 +190,6 @@ void __init setup_log_buf(int early);
+@@ -202,8 +190,6 @@ void __init setup_log_buf(int early);
void dump_stack_print_info(const char *log_lvl);
void show_regs_print_info(const char *log_lvl);
extern asmlinkage void dump_stack(void) __cold;
--extern void printk_safe_init(void);
-extern void printk_safe_flush(void);
-extern void printk_safe_flush_on_panic(void);
#else
static inline __printf(1, 0)
int vprintk(const char *s, va_list args)
-@@ -268,18 +253,6 @@ static inline void show_regs_print_info(
- static inline void dump_stack(void)
+@@ -268,13 +254,6 @@ static inline void dump_stack(void)
{
}
--
--static inline void printk_safe_init(void)
--{
--}
--
+
-static inline void printk_safe_flush(void)
-{
-}
@@ -119,16 +112,6 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
#endif
extern int kptr_restrict;
---- a/init/main.c
-+++ b/init/main.c
-@@ -907,7 +907,6 @@ asmlinkage __visible void __init start_k
- boot_init_stack_canary();
-
- time_init();
-- printk_safe_init();
- perf_event_init();
- profile_init();
- call_function_init();
--- a/kernel/kexec_core.c
+++ b/kernel/kexec_core.c
@@ -978,7 +978,6 @@ void crash_kexec(struct pt_regs *regs)
@@ -167,13 +150,16 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
obj-$(CONFIG_A11Y_BRAILLE_CONSOLE) += braille.o
--- a/kernel/printk/internal.h
+++ b/kernel/printk/internal.h
-@@ -20,32 +20,6 @@ int vprintk_store(int facility, int leve
+@@ -20,35 +20,6 @@ int vprintk_store(int facility, int leve
__printf(1, 0) int vprintk_default(const char *fmt, va_list args);
__printf(1, 0) int vprintk_deferred(const char *fmt, va_list args);
__printf(1, 0) int vprintk_func(const char *fmt, va_list args);
-void __printk_safe_enter(void);
-void __printk_safe_exit(void);
-
+-void printk_safe_init(void);
+-bool printk_percpu_data_ready(void);
+-
-#define printk_safe_enter_irqsave(flags) \
- do { \
- local_irq_save(flags); \
@@ -200,7 +186,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
void defer_console_output(void);
-@@ -58,10 +32,10 @@ void defer_console_output(void);
+@@ -61,12 +32,10 @@ void defer_console_output(void);
* semaphore and some of console functions (console_unlock()/etc.), so
* printk-safe must preserve the existing local IRQ guarantees.
*/
@@ -212,10 +198,60 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
#define printk_safe_enter_irq() local_irq_disable()
#define printk_safe_exit_irq() local_irq_enable()
-
+-static inline void printk_safe_init(void) { }
+-static inline bool printk_percpu_data_ready(void) { return false; }
-#endif /* CONFIG_PRINTK */
--- a/kernel/printk/printk.c
+++ b/kernel/printk/printk.c
-@@ -1736,13 +1736,6 @@ static bool cont_add(u32 caller_id, int
+@@ -461,18 +461,6 @@ static char __log_buf[__LOG_BUF_LEN] __a
+ static char *log_buf = __log_buf;
+ static u32 log_buf_len = __LOG_BUF_LEN;
+
+-/*
+- * We cannot access per-CPU data (e.g. per-CPU flush irq_work) before
+- * per_cpu_areas are initialised. This variable is set to true when
+- * it's safe to access per-CPU data.
+- */
+-static bool __printk_percpu_data_ready __read_mostly;
+-
+-bool printk_percpu_data_ready(void)
+-{
+- return __printk_percpu_data_ready;
+-}
+-
+ /* Return log buffer address */
+ char *log_buf_addr_get(void)
+ {
+@@ -1061,28 +1049,12 @@ static void __init log_buf_add_cpu(void)
+ static inline void log_buf_add_cpu(void) {}
+ #endif /* CONFIG_SMP */
+
+-static void __init set_percpu_data_ready(void)
+-{
+- printk_safe_init();
+- /* Make sure we set this flag only after printk_safe() init is done */
+- barrier();
+- __printk_percpu_data_ready = true;
+-}
+-
+ void __init setup_log_buf(int early)
+ {
+ unsigned long flags;
+ char *new_log_buf;
+ unsigned int free;
+
+- /*
+- * Some archs call setup_log_buf() multiple times - first is very
+- * early, e.g. from setup_arch(), and second - when percpu_areas
+- * are initialised.
+- */
+- if (!early)
+- set_percpu_data_ready();
+-
+ if (log_buf != __log_buf)
+ return;
+
+@@ -1764,13 +1736,6 @@ static bool cont_add(u32 caller_id, int
}
#endif /* 0 */
@@ -229,7 +265,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
/* ring buffer used as memory allocator for temporary sprint buffers */
DECLARE_STATIC_PRINTKRB(sprint_rb,
ilog2(PRINTK_RECORD_MAX + sizeof(struct prb_entry) +
-@@ -1811,6 +1804,11 @@ asmlinkage int vprintk_emit(int facility
+@@ -1839,6 +1804,11 @@ asmlinkage int vprintk_emit(int facility
}
EXPORT_SYMBOL(vprintk_emit);
@@ -241,7 +277,27 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
asmlinkage int vprintk(const char *fmt, va_list args)
{
return vprintk_func(fmt, args);
-@@ -3212,5 +3210,4 @@ void kmsg_dump_rewind(struct kmsg_dumper
+@@ -2788,9 +2758,6 @@ static DEFINE_PER_CPU(struct irq_work, w
+
+ void wake_up_klogd(void)
+ {
+- if (!printk_percpu_data_ready())
+- return;
+-
+ preempt_disable();
+ if (waitqueue_active(&log_wait)) {
+ this_cpu_or(printk_pending, PRINTK_PENDING_WAKEUP);
+@@ -2868,9 +2835,6 @@ late_initcall(init_printk_kthread);
+
+ void defer_console_output(void)
+ {
+- if (!printk_percpu_data_ready())
+- return;
+-
+ preempt_disable();
+ __this_cpu_or(printk_pending, PRINTK_PENDING_OUTPUT);
+ irq_work_queue(this_cpu_ptr(&wake_up_klogd_work));
+@@ -3246,5 +3210,4 @@ void kmsg_dump_rewind(struct kmsg_dumper
logbuf_unlock_irqrestore(flags);
}
EXPORT_SYMBOL_GPL(kmsg_dump_rewind);
@@ -249,7 +305,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
#endif
--- a/kernel/printk/printk_safe.c
+++ /dev/null
-@@ -1,415 +0,0 @@
+@@ -1,406 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0-or-later
-/*
- * printk_safe.c - Safe printk for printk-deadlock-prone contexts
@@ -279,7 +335,6 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
- * There are situations when we want to make sure that all buffers
- * were handled or when IRQs are blocked.
- */
--static int printk_safe_irq_ready __read_mostly;
-
-#define SAFE_LOG_BUF_LEN ((1 << CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT) - \
- sizeof(atomic_t) - \
@@ -303,7 +358,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
-/* Get flushed in a more safe context. */
-static void queue_flush_work(struct printk_safe_seq_buf *s)
-{
-- if (printk_safe_irq_ready)
+- if (printk_percpu_data_ready())
- irq_work_queue(&s->work);
-}
-
@@ -654,14 +709,6 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
-#endif
- }
-
-- /*
-- * In the highly unlikely event that a NMI were to trigger at
-- * this moment. Make sure IRQ work is set up before this
-- * variable is set.
-- */
-- barrier();
-- printk_safe_irq_ready = 1;
--
- /* Flush pending messages that did not have scheduled IRQ works. */
- printk_safe_flush();
-}
diff --git a/debian/patches-rt/0012-bpf-Use-bpf_prog_run_pin_on_cpu-at-simple-call-sites.patch b/debian/patches-rt/0012-bpf-Use-bpf_prog_run_pin_on_cpu-at-simple-call-sites.patch
index 4aa518872ebc..c3abf04c334a 100644
--- a/debian/patches-rt/0012-bpf-Use-bpf_prog_run_pin_on_cpu-at-simple-call-sites.patch
+++ b/debian/patches-rt/0012-bpf-Use-bpf_prog_run_pin_on_cpu-at-simple-call-sites.patch
@@ -2,7 +2,7 @@ From: David Miller <davem@davemloft.net>
Date: Mon, 24 Feb 2020 15:01:43 +0100
Subject: [PATCH 12/22] bpf: Use bpf_prog_run_pin_on_cpu() at simple call
sites.
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
All of these cases are strictly of the form:
diff --git a/debian/patches-rt/0012-printk-minimize-console-locking-implementation.patch b/debian/patches-rt/0012-printk-minimize-console-locking-implementation.patch
index c933ae854130..6a11dfae9eaf 100644
--- a/debian/patches-rt/0012-printk-minimize-console-locking-implementation.patch
+++ b/debian/patches-rt/0012-printk-minimize-console-locking-implementation.patch
@@ -1,7 +1,7 @@
From: John Ogness <john.ogness@linutronix.de>
Date: Tue, 12 Feb 2019 15:29:50 +0100
Subject: [PATCH 12/25] printk: minimize console locking implementation
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Since printing of the printk buffer is now handled by the printk
kthread, minimize the console locking functions to just handle
diff --git a/debian/patches-rt/0013-bpf-tests-Use-migrate-disable-instead-of-preempt-dis.patch b/debian/patches-rt/0013-bpf-tests-Use-migrate-disable-instead-of-preempt-dis.patch
index 6eb0d12242ab..5c78fae8da0e 100644
--- a/debian/patches-rt/0013-bpf-tests-Use-migrate-disable-instead-of-preempt-dis.patch
+++ b/debian/patches-rt/0013-bpf-tests-Use-migrate-disable-instead-of-preempt-dis.patch
@@ -2,7 +2,7 @@ From: David Miller <davem@davemloft.net>
Date: Mon, 24 Feb 2020 15:01:44 +0100
Subject: [PATCH 13/22] bpf/tests: Use migrate disable instead of preempt
disable
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Replace the preemption disable/enable with migrate_disable/enable() to
reflect the actual requirement and to allow PREEMPT_RT to substitute it
diff --git a/debian/patches-rt/0013-printk-track-seq-per-console.patch b/debian/patches-rt/0013-printk-track-seq-per-console.patch
index bcd4928c876b..96f5fb4cf749 100644
--- a/debian/patches-rt/0013-printk-track-seq-per-console.patch
+++ b/debian/patches-rt/0013-printk-track-seq-per-console.patch
@@ -1,7 +1,7 @@
From: John Ogness <john.ogness@linutronix.de>
Date: Tue, 12 Feb 2019 15:29:51 +0100
Subject: [PATCH 13/25] printk: track seq per console
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Allow each console to track which seq record was last printed. This
simplifies identifying dropped records.
diff --git a/debian/patches-rt/0014-bpf-Use-migrate_disable-enabe-in-trampoline-code.patch b/debian/patches-rt/0014-bpf-Use-migrate_disable-enabe-in-trampoline-code.patch
index 70e4a0791d25..b340bf027dae 100644
--- a/debian/patches-rt/0014-bpf-Use-migrate_disable-enabe-in-trampoline-code.patch
+++ b/debian/patches-rt/0014-bpf-Use-migrate_disable-enabe-in-trampoline-code.patch
@@ -1,7 +1,7 @@
From: David Miller <davem@davemloft.net>
Date: Mon, 24 Feb 2020 15:01:45 +0100
Subject: [PATCH 14/22] bpf: Use migrate_disable/enabe() in trampoline code.
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Instead of preemption disable/enable to reflect the purpose. This allows
PREEMPT_RT to substitute it with an actual migration disable
diff --git a/debian/patches-rt/0014-printk-do-boot_delay_msec-inside-printk_delay.patch b/debian/patches-rt/0014-printk-do-boot_delay_msec-inside-printk_delay.patch
index 642ede0652fa..155cfc64a004 100644
--- a/debian/patches-rt/0014-printk-do-boot_delay_msec-inside-printk_delay.patch
+++ b/debian/patches-rt/0014-printk-do-boot_delay_msec-inside-printk_delay.patch
@@ -1,7 +1,7 @@
From: John Ogness <john.ogness@linutronix.de>
Date: Tue, 12 Feb 2019 15:29:52 +0100
Subject: [PATCH 14/25] printk: do boot_delay_msec inside printk_delay
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Both functions needed to be called one after the other, so just
integrate boot_delay_msec into printk_delay for simplification.
diff --git a/debian/patches-rt/0015-bpf-Use-migrate_disable-enable-in-array-macros-and-c.patch b/debian/patches-rt/0015-bpf-Use-migrate_disable-enable-in-array-macros-and-c.patch
index 748cb8931dba..4ee2bfbbde0b 100644
--- a/debian/patches-rt/0015-bpf-Use-migrate_disable-enable-in-array-macros-and-c.patch
+++ b/debian/patches-rt/0015-bpf-Use-migrate_disable-enable-in-array-macros-and-c.patch
@@ -2,7 +2,7 @@ From: David Miller <davem@davemloft.net>
Date: Mon, 24 Feb 2020 15:01:46 +0100
Subject: [PATCH 15/22] bpf: Use migrate_disable/enable in array macros and
cgroup/lirc code.
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Replace the preemption disable/enable with migrate_disable/enable() to
reflect the actual requirement and to allow PREEMPT_RT to substitute it
diff --git a/debian/patches-rt/0015-printk-print-history-for-new-consoles.patch b/debian/patches-rt/0015-printk-print-history-for-new-consoles.patch
index 434bcb731576..282d44cbb1ef 100644
--- a/debian/patches-rt/0015-printk-print-history-for-new-consoles.patch
+++ b/debian/patches-rt/0015-printk-print-history-for-new-consoles.patch
@@ -1,7 +1,7 @@
From: John Ogness <john.ogness@linutronix.de>
Date: Tue, 12 Feb 2019 15:29:53 +0100
Subject: [PATCH 15/25] printk: print history for new consoles
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
When new consoles register, they currently print how many messages
they have missed. However, many (or all) of those messages may still
diff --git a/debian/patches-rt/0016-bpf-Provide-recursion-prevention-helpers.patch b/debian/patches-rt/0016-bpf-Provide-recursion-prevention-helpers.patch
index 99068f4ffccc..a254fea2797a 100644
--- a/debian/patches-rt/0016-bpf-Provide-recursion-prevention-helpers.patch
+++ b/debian/patches-rt/0016-bpf-Provide-recursion-prevention-helpers.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Mon, 24 Feb 2020 15:01:47 +0100
Subject: [PATCH 16/22] bpf: Provide recursion prevention helpers
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
The places which need to prevent the execution of trace type BPF programs
to prevent deadlocks on the hash bucket lock do this open coded.
diff --git a/debian/patches-rt/0016-printk-implement-CON_PRINTBUFFER.patch b/debian/patches-rt/0016-printk-implement-CON_PRINTBUFFER.patch
index 8fa12eb80bad..938c9ece4e1c 100644
--- a/debian/patches-rt/0016-printk-implement-CON_PRINTBUFFER.patch
+++ b/debian/patches-rt/0016-printk-implement-CON_PRINTBUFFER.patch
@@ -1,7 +1,7 @@
From: John Ogness <john.ogness@linutronix.de>
Date: Tue, 12 Feb 2019 15:29:54 +0100
Subject: [PATCH 16/25] printk: implement CON_PRINTBUFFER
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
If the CON_PRINTBUFFER flag is not set, do not replay the history
for that console.
diff --git a/debian/patches-rt/0017-bpf-Use-recursion-prevention-helpers-in-hashtab-code.patch b/debian/patches-rt/0017-bpf-Use-recursion-prevention-helpers-in-hashtab-code.patch
index 309171a7e03c..0e96501ab1ee 100644
--- a/debian/patches-rt/0017-bpf-Use-recursion-prevention-helpers-in-hashtab-code.patch
+++ b/debian/patches-rt/0017-bpf-Use-recursion-prevention-helpers-in-hashtab-code.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Mon, 24 Feb 2020 15:01:48 +0100
Subject: [PATCH 17/22] bpf: Use recursion prevention helpers in hashtab code
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
The required protection is that the caller cannot be migrated to a
different CPU as these places take either a hash bucket lock or might
diff --git a/debian/patches-rt/0017-printk-add-processor-number-to-output.patch b/debian/patches-rt/0017-printk-add-processor-number-to-output.patch
index 899e9f7cb579..0faa537690c9 100644
--- a/debian/patches-rt/0017-printk-add-processor-number-to-output.patch
+++ b/debian/patches-rt/0017-printk-add-processor-number-to-output.patch
@@ -1,7 +1,7 @@
From: John Ogness <john.ogness@linutronix.de>
Date: Tue, 12 Feb 2019 15:29:55 +0100
Subject: [PATCH 17/25] printk: add processor number to output
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
It can be difficult to sort printk out if multiple processors are
printing simultaneously. Add the processor number to the printk
diff --git a/debian/patches-rt/0018-bpf-Replace-open-coded-recursion-prevention-in-sys_b.patch b/debian/patches-rt/0018-bpf-Replace-open-coded-recursion-prevention-in-sys_b.patch
index a5939b7fc23c..3fa3c37fa643 100644
--- a/debian/patches-rt/0018-bpf-Replace-open-coded-recursion-prevention-in-sys_b.patch
+++ b/debian/patches-rt/0018-bpf-Replace-open-coded-recursion-prevention-in-sys_b.patch
@@ -2,7 +2,7 @@ From: Thomas Gleixner <tglx@linutronix.de>
Date: Mon, 24 Feb 2020 15:01:49 +0100
Subject: [PATCH 18/22] bpf: Replace open coded recursion prevention in
sys_bpf()
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
The required protection is that the caller cannot be migrated to a
different CPU as these functions end up in places which take either a hash
@@ -67,7 +67,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
maybe_wait_bpf_programs(map);
return err;
-@@ -1138,13 +1131,11 @@ static int map_delete_elem(union bpf_att
+@@ -1136,13 +1129,11 @@ static int map_delete_elem(union bpf_att
goto out;
}
@@ -83,7 +83,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
maybe_wait_bpf_programs(map);
out:
kfree(key);
-@@ -1256,13 +1247,11 @@ int generic_map_delete_batch(struct bpf_
+@@ -1254,13 +1245,11 @@ int generic_map_delete_batch(struct bpf_
break;
}
diff --git a/debian/patches-rt/0018-console-add-write_atomic-interface.patch b/debian/patches-rt/0018-console-add-write_atomic-interface.patch
index c65c87b58622..6f8fc136b394 100644
--- a/debian/patches-rt/0018-console-add-write_atomic-interface.patch
+++ b/debian/patches-rt/0018-console-add-write_atomic-interface.patch
@@ -1,7 +1,7 @@
From: John Ogness <john.ogness@linutronix.de>
Date: Tue, 12 Feb 2019 15:29:56 +0100
Subject: [PATCH 18/25] console: add write_atomic interface
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Add a write_atomic callback to the console. This is an optional
function for console drivers. The function must be atomic (including
diff --git a/debian/patches-rt/0019-bpf-Factor-out-hashtab-bucket-lock-operations.patch b/debian/patches-rt/0019-bpf-Factor-out-hashtab-bucket-lock-operations.patch
index ee5076c225a4..8785c4b2749c 100644
--- a/debian/patches-rt/0019-bpf-Factor-out-hashtab-bucket-lock-operations.patch
+++ b/debian/patches-rt/0019-bpf-Factor-out-hashtab-bucket-lock-operations.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Mon, 24 Feb 2020 15:01:50 +0100
Subject: [PATCH 19/22] bpf: Factor out hashtab bucket lock operations
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
As a preparation for making the BPF locking RT friendly, factor out the
hash bucket lock operations into inline functions. This allows to do the
diff --git a/debian/patches-rt/0019-printk-introduce-emergency-messages.patch b/debian/patches-rt/0019-printk-introduce-emergency-messages.patch
index 2f2d3fae5e0b..4476c73fefc0 100644
--- a/debian/patches-rt/0019-printk-introduce-emergency-messages.patch
+++ b/debian/patches-rt/0019-printk-introduce-emergency-messages.patch
@@ -1,7 +1,7 @@
From: John Ogness <john.ogness@linutronix.de>
Date: Tue, 12 Feb 2019 15:29:57 +0100
Subject: [PATCH 19/25] printk: introduce emergency messages
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Console messages are generally either critical or non-critical.
Critical messages are messages such as crashes or sysrq output.
diff --git a/debian/patches-rt/0020-bpf-Prepare-hashtab-locking-for-PREEMPT_RT.patch b/debian/patches-rt/0020-bpf-Prepare-hashtab-locking-for-PREEMPT_RT.patch
index 9d1af4c883f3..d39a99c946f2 100644
--- a/debian/patches-rt/0020-bpf-Prepare-hashtab-locking-for-PREEMPT_RT.patch
+++ b/debian/patches-rt/0020-bpf-Prepare-hashtab-locking-for-PREEMPT_RT.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Mon, 24 Feb 2020 15:01:51 +0100
Subject: [PATCH 20/22] bpf: Prepare hashtab locking for PREEMPT_RT
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
PREEMPT_RT forbids certain operations like memory allocations (even with
GFP_ATOMIC) from atomic contexts. This is required because even with
diff --git a/debian/patches-rt/0020-serial-8250-implement-write_atomic.patch b/debian/patches-rt/0020-serial-8250-implement-write_atomic.patch
index ddb12d000ec1..4ebaf25f44d4 100644
--- a/debian/patches-rt/0020-serial-8250-implement-write_atomic.patch
+++ b/debian/patches-rt/0020-serial-8250-implement-write_atomic.patch
@@ -1,7 +1,7 @@
From: John Ogness <john.ogness@linutronix.de>
Date: Tue, 12 Feb 2019 15:29:58 +0100
Subject: [PATCH 20/25] serial: 8250: implement write_atomic
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Implement a non-sleeping NMI-safe write_atomic console function in
order to support emergency printk messages.
diff --git a/debian/patches-rt/0021-bpf-lpm-Make-locking-RT-friendly.patch b/debian/patches-rt/0021-bpf-lpm-Make-locking-RT-friendly.patch
index 449f96510772..194126707686 100644
--- a/debian/patches-rt/0021-bpf-lpm-Make-locking-RT-friendly.patch
+++ b/debian/patches-rt/0021-bpf-lpm-Make-locking-RT-friendly.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Mon, 24 Feb 2020 15:01:52 +0100
Subject: [PATCH 21/22] bpf, lpm: Make locking RT friendly
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
The LPM trie map cannot be used in contexts like perf, kprobes and tracing
as this map type dynamically allocates memory.
diff --git a/debian/patches-rt/0021-printk-implement-KERN_CONT.patch b/debian/patches-rt/0021-printk-implement-KERN_CONT.patch
index f2d5d5368c5a..bce309b85fab 100644
--- a/debian/patches-rt/0021-printk-implement-KERN_CONT.patch
+++ b/debian/patches-rt/0021-printk-implement-KERN_CONT.patch
@@ -1,7 +1,7 @@
From: John Ogness <john.ogness@linutronix.de>
Date: Tue, 12 Feb 2019 15:29:59 +0100
Subject: [PATCH 21/25] printk: implement KERN_CONT
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Implement KERN_CONT based on the printing CPU rather than on the
printing task. As long as the KERN_CONT messages are coming from the
diff --git a/debian/patches-rt/0022-bpf-stackmap-Dont-trylock-mmap_sem-with-PREEMPT_RT-a.patch b/debian/patches-rt/0022-bpf-stackmap-Dont-trylock-mmap_sem-with-PREEMPT_RT-a.patch
index 1157198d91fb..85daf1e4e1b5 100644
--- a/debian/patches-rt/0022-bpf-stackmap-Dont-trylock-mmap_sem-with-PREEMPT_RT-a.patch
+++ b/debian/patches-rt/0022-bpf-stackmap-Dont-trylock-mmap_sem-with-PREEMPT_RT-a.patch
@@ -2,7 +2,7 @@ From: David Miller <davem@davemloft.net>
Date: Mon, 24 Feb 2020 15:01:53 +0100
Subject: [PATCH 22/22] bpf/stackmap: Dont trylock mmap_sem with PREEMPT_RT and
interrupts disabled
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
In a RT kernel down_read_trylock() cannot be used from NMI context and
up_read_non_owner() is another problematic issue.
diff --git a/debian/patches-rt/0022-printk-implement-dev-kmsg.patch b/debian/patches-rt/0022-printk-implement-dev-kmsg.patch
index 7dfa8c35a214..2b795690fb1d 100644
--- a/debian/patches-rt/0022-printk-implement-dev-kmsg.patch
+++ b/debian/patches-rt/0022-printk-implement-dev-kmsg.patch
@@ -1,7 +1,7 @@
From: John Ogness <john.ogness@linutronix.de>
Date: Tue, 12 Feb 2019 15:30:00 +0100
Subject: [PATCH 22/25] printk: implement /dev/kmsg
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Since printk messages are now logged to a new ring buffer, update
the /dev/kmsg functions to pull the messages from there.
diff --git a/debian/patches-rt/0023-printk-implement-syslog.patch b/debian/patches-rt/0023-printk-implement-syslog.patch
index bb7081acdc64..17b45c9da137 100644
--- a/debian/patches-rt/0023-printk-implement-syslog.patch
+++ b/debian/patches-rt/0023-printk-implement-syslog.patch
@@ -1,7 +1,7 @@
From: John Ogness <john.ogness@linutronix.de>
Date: Tue, 12 Feb 2019 15:30:01 +0100
Subject: [PATCH 23/25] printk: implement syslog
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Since printk messages are now logged to a new ring buffer, update
the syslog functions to pull the messages from there.
diff --git a/debian/patches-rt/0024-printk-implement-kmsg_dump.patch b/debian/patches-rt/0024-printk-implement-kmsg_dump.patch
index aa0393464f89..c7695d513a6f 100644
--- a/debian/patches-rt/0024-printk-implement-kmsg_dump.patch
+++ b/debian/patches-rt/0024-printk-implement-kmsg_dump.patch
@@ -1,7 +1,7 @@
From: John Ogness <john.ogness@linutronix.de>
Date: Tue, 12 Feb 2019 15:30:02 +0100
Subject: [PATCH 24/25] printk: implement kmsg_dump
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Since printk messages are now logged to a new ring buffer, update
the kmsg_dump functions to pull the messages from there.
diff --git a/debian/patches-rt/0025-printk-remove-unused-code.patch b/debian/patches-rt/0025-printk-remove-unused-code.patch
index 11fcf57c41bd..59aef3f1ddc5 100644
--- a/debian/patches-rt/0025-printk-remove-unused-code.patch
+++ b/debian/patches-rt/0025-printk-remove-unused-code.patch
@@ -1,7 +1,7 @@
From: John Ogness <john.ogness@linutronix.de>
Date: Tue, 12 Feb 2019 15:30:03 +0100
Subject: [PATCH 25/25] printk: remove unused code
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Code relating to the safe context and anything dealing with the
previous log buffer implementation is no longer in use. Remove it.
diff --git a/debian/patches-rt/ARM-Allow-to-enable-RT.patch b/debian/patches-rt/ARM-Allow-to-enable-RT.patch
index 39b1da640ade..926e5075d15a 100644
--- a/debian/patches-rt/ARM-Allow-to-enable-RT.patch
+++ b/debian/patches-rt/ARM-Allow-to-enable-RT.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Fri, 11 Oct 2019 13:14:29 +0200
Subject: [PATCH] ARM: Allow to enable RT
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Allow to select RT.
diff --git a/debian/patches-rt/ARM-enable-irq-in-translation-section-permission-fau.patch b/debian/patches-rt/ARM-enable-irq-in-translation-section-permission-fau.patch
index ea51729f89d7..fb0a6435dc3f 100644
--- a/debian/patches-rt/ARM-enable-irq-in-translation-section-permission-fau.patch
+++ b/debian/patches-rt/ARM-enable-irq-in-translation-section-permission-fau.patch
@@ -1,7 +1,7 @@
From: "Yadi.hu" <yadi.hu@windriver.com>
Date: Wed, 10 Dec 2014 10:32:09 +0800
Subject: ARM: enable irq in translation/section permission fault handlers
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Probably happens on all ARM, with
CONFIG_PREEMPT_RT
diff --git a/debian/patches-rt/ARM64-Allow-to-enable-RT.patch b/debian/patches-rt/ARM64-Allow-to-enable-RT.patch
index 490283f59e5b..d558df8dcc05 100644
--- a/debian/patches-rt/ARM64-Allow-to-enable-RT.patch
+++ b/debian/patches-rt/ARM64-Allow-to-enable-RT.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Fri, 11 Oct 2019 13:14:35 +0200
Subject: [PATCH] ARM64: Allow to enable RT
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Allow to select RT.
diff --git a/debian/patches-rt/KVM-arm-arm64-downgrade-preempt_disable-d-region-to-.patch b/debian/patches-rt/KVM-arm-arm64-downgrade-preempt_disable-d-region-to-.patch
index 7c9ca69ebcbd..e926b8decc3b 100644
--- a/debian/patches-rt/KVM-arm-arm64-downgrade-preempt_disable-d-region-to-.patch
+++ b/debian/patches-rt/KVM-arm-arm64-downgrade-preempt_disable-d-region-to-.patch
@@ -1,7 +1,7 @@
From: Josh Cartwright <joshc@ni.com>
Date: Thu, 11 Feb 2016 11:54:01 -0600
Subject: KVM: arm/arm64: downgrade preempt_disable()d region to migrate_disable()
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
kvm_arch_vcpu_ioctl_run() disables the use of preemption when updating
the vgic and timer states to prevent the calling task from migrating to
diff --git a/debian/patches-rt/NFSv4-replace-seqcount_t-with-a-seqlock_t.patch b/debian/patches-rt/NFSv4-replace-seqcount_t-with-a-seqlock_t.patch
index c0f9ef4814fa..2556bbcf30ba 100644
--- a/debian/patches-rt/NFSv4-replace-seqcount_t-with-a-seqlock_t.patch
+++ b/debian/patches-rt/NFSv4-replace-seqcount_t-with-a-seqlock_t.patch
@@ -5,7 +5,7 @@ Cc: Anna Schumaker <anna.schumaker@netapp.com>,
linux-nfs@vger.kernel.org, linux-kernel@vger.kernel.org,
tglx@linutronix.de
Subject: NFSv4: replace seqcount_t with a seqlock_t
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
The raw_write_seqcount_begin() in nfs4_reclaim_open_state() causes a
preempt_disable() on -RT. The spin_lock()/spin_unlock() in that section does
diff --git a/debian/patches-rt/POWERPC-Allow-to-enable-RT.patch b/debian/patches-rt/POWERPC-Allow-to-enable-RT.patch
index 461c43f9fa61..bf13d5c35024 100644
--- a/debian/patches-rt/POWERPC-Allow-to-enable-RT.patch
+++ b/debian/patches-rt/POWERPC-Allow-to-enable-RT.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Fri, 11 Oct 2019 13:14:41 +0200
Subject: [PATCH] POWERPC: Allow to enable RT
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Allow to select RT.
diff --git a/debian/patches-rt/Revert-rt-Improve-the-serial-console-PASS_LIMIT.patch b/debian/patches-rt/Revert-rt-Improve-the-serial-console-PASS_LIMIT.patch
new file mode 100644
index 000000000000..1ed0ce3bf82b
--- /dev/null
+++ b/debian/patches-rt/Revert-rt-Improve-the-serial-console-PASS_LIMIT.patch
@@ -0,0 +1,35 @@
+From e9238e71d20c836b81afde8de19074249c1934e1 Mon Sep 17 00:00:00 2001
+From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
+Date: Thu, 23 Apr 2020 18:17:16 +0200
+Subject: [PATCH] Revert "rt: Improve the serial console PASS_LIMIT"
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
+
+There is no need to loop for longer. The message of too much work was
+removed in commit
+ 9d7c249a1ef9b ("serial: 8250: drop the printk from serial8250_interrupt()")
+
+Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
+---
+ drivers/tty/serial/8250/8250_core.c | 11 +----------
+ 1 file changed, 1 insertion(+), 10 deletions(-)
+
+--- a/drivers/tty/serial/8250/8250_core.c
++++ b/drivers/tty/serial/8250/8250_core.c
+@@ -55,16 +55,7 @@ static struct uart_driver serial8250_reg
+
+ static unsigned int skip_txen_test; /* force skip of txen test at init time */
+
+-/*
+- * On -rt we can have a more delays, and legitimately
+- * so - so don't drop work spuriously and spam the
+- * syslog:
+- */
+-#ifdef CONFIG_PREEMPT_RT
+-# define PASS_LIMIT 1000000
+-#else
+-# define PASS_LIMIT 512
+-#endif
++#define PASS_LIMIT 512
+
+ #include <asm/serial.h>
+ /*
diff --git a/debian/patches-rt/Use-CONFIG_PREEMPTION.patch b/debian/patches-rt/Use-CONFIG_PREEMPTION.patch
index 793066c6e6e6..62000190f416 100644
--- a/debian/patches-rt/Use-CONFIG_PREEMPTION.patch
+++ b/debian/patches-rt/Use-CONFIG_PREEMPTION.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Fri, 26 Jul 2019 11:30:49 +0200
Subject: [PATCH] Use CONFIG_PREEMPTION
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Thisi is an all-in-one patch of the current `PREEMPTION' branch.
diff --git a/debian/patches-rt/add_migrate_disable.patch b/debian/patches-rt/add_migrate_disable.patch
index 29e66cd469af..a2133ba6892e 100644
--- a/debian/patches-rt/add_migrate_disable.patch
+++ b/debian/patches-rt/add_migrate_disable.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Sat, 27 May 2017 19:02:06 +0200
Subject: kernel/sched/core: add migrate_disable()
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
[bristot@redhat.com: rt: Increase/decrease the nr of migratory tasks when enabling/disabling migration
Link: https://lkml.kernel.org/r/e981d271cbeca975bca710e2fbcc6078c09741b0.1498482127.git.bristot@redhat.com
@@ -378,7 +378,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
-@@ -1483,7 +1483,7 @@ static inline bool is_cpu_allowed(struct
+@@ -1478,7 +1478,7 @@ static inline bool is_cpu_allowed(struct
if (!cpumask_test_cpu(cpu, p->cpus_ptr))
return false;
@@ -387,7 +387,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
return cpu_online(cpu);
return cpu_active(cpu);
-@@ -1607,9 +1607,18 @@ static int migration_cpu_stop(void *data
+@@ -1602,9 +1602,18 @@ static int migration_cpu_stop(void *data
void set_cpus_allowed_common(struct task_struct *p, const struct cpumask *new_mask)
{
cpumask_copy(&p->cpus_mask, new_mask);
@@ -407,7 +407,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
void do_set_cpus_allowed(struct task_struct *p, const struct cpumask *new_mask)
{
struct rq *rq = task_rq(p);
-@@ -1698,7 +1707,8 @@ static int __set_cpus_allowed_ptr(struct
+@@ -1693,7 +1702,8 @@ static int __set_cpus_allowed_ptr(struct
}
/* Can the task run on the task's current CPU? If so, we're done */
@@ -417,7 +417,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
goto out;
if (task_running(rq, p) || p->state == TASK_WAKING) {
-@@ -4029,6 +4039,8 @@ pick_next_task(struct rq *rq, struct tas
+@@ -4023,6 +4033,8 @@ pick_next_task(struct rq *rq, struct tas
BUG();
}
@@ -426,7 +426,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
/*
* __schedule() is the main scheduler function.
*
-@@ -4099,6 +4111,9 @@ static void __sched notrace __schedule(b
+@@ -4093,6 +4105,9 @@ static void __sched notrace __schedule(b
rq_lock(rq, &rf);
smp_mb__after_spinlock();
@@ -436,7 +436,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
/* Promote REQ to ACT */
rq->clock_update_flags <<= 1;
update_rq_clock(rq);
-@@ -6347,6 +6362,7 @@ static void migrate_tasks(struct rq *dea
+@@ -6341,6 +6356,7 @@ static void migrate_tasks(struct rq *dea
break;
next = __pick_migrate_task(rq);
@@ -444,7 +444,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
/*
* Rules for changing task_struct::cpus_mask are holding
-@@ -8049,3 +8065,164 @@ const u32 sched_prio_to_wmult[40] = {
+@@ -8043,3 +8059,164 @@ const u32 sched_prio_to_wmult[40] = {
};
#undef CREATE_TRACE_POINTS
@@ -624,7 +624,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
#undef __PN
--- a/kernel/sched/sched.h
+++ b/kernel/sched/sched.h
-@@ -999,6 +999,10 @@ struct rq {
+@@ -1005,6 +1005,10 @@ struct rq {
/* Must be inspected within a rcu lock section */
struct cpuidle_state *idle_state;
#endif
diff --git a/debian/patches-rt/arch-arm64-Add-lazy-preempt-support.patch b/debian/patches-rt/arch-arm64-Add-lazy-preempt-support.patch
index 00bea1a1b79c..28ec016a799e 100644
--- a/debian/patches-rt/arch-arm64-Add-lazy-preempt-support.patch
+++ b/debian/patches-rt/arch-arm64-Add-lazy-preempt-support.patch
@@ -1,7 +1,7 @@
From: Anders Roxell <anders.roxell@linaro.org>
Date: Thu, 14 May 2015 17:52:17 +0200
Subject: arch/arm64: Add lazy preempt support
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
arm64 is missing support for PREEMPT_RT. The main feature which is
lacking is support for lazy preemption. The arch-specific entry code,
diff --git a/debian/patches-rt/arm-enable-highmem-for-rt.patch b/debian/patches-rt/arm-enable-highmem-for-rt.patch
index 663fdbb687a8..ed9eb6f0ec10 100644
--- a/debian/patches-rt/arm-enable-highmem-for-rt.patch
+++ b/debian/patches-rt/arm-enable-highmem-for-rt.patch
@@ -1,7 +1,7 @@
Subject: arm: Enable highmem for rt
From: Thomas Gleixner <tglx@linutronix.de>
Date: Wed, 13 Feb 2013 11:03:11 +0100
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
fixup highmem for ARM.
diff --git a/debian/patches-rt/arm-highmem-flush-tlb-on-unmap.patch b/debian/patches-rt/arm-highmem-flush-tlb-on-unmap.patch
index 281e5f5ccb87..2cb4d41e4f16 100644
--- a/debian/patches-rt/arm-highmem-flush-tlb-on-unmap.patch
+++ b/debian/patches-rt/arm-highmem-flush-tlb-on-unmap.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Mon, 11 Mar 2013 21:37:27 +0100
Subject: arm/highmem: Flush tlb on unmap
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
The tlb should be flushed on unmap and thus make the mapping entry
invalid. This is only done in the non-debug case which does not look
diff --git a/debian/patches-rt/arm-include-definition-for-cpumask_t.patch b/debian/patches-rt/arm-include-definition-for-cpumask_t.patch
index ce7d72a28ef1..b40606b978b7 100644
--- a/debian/patches-rt/arm-include-definition-for-cpumask_t.patch
+++ b/debian/patches-rt/arm-include-definition-for-cpumask_t.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Thu, 22 Dec 2016 17:28:33 +0100
Subject: [PATCH] arm: include definition for cpumask_t
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
This definition gets pulled in by other files. With the (later) split of
RCU and spinlock.h it won't compile anymore.
diff --git a/debian/patches-rt/arm-preempt-lazy-support.patch b/debian/patches-rt/arm-preempt-lazy-support.patch
index 3ac17a3da0bc..4ee6d5f29b41 100644
--- a/debian/patches-rt/arm-preempt-lazy-support.patch
+++ b/debian/patches-rt/arm-preempt-lazy-support.patch
@@ -1,7 +1,7 @@
Subject: arm: Add support for lazy preemption
From: Thomas Gleixner <tglx@linutronix.de>
Date: Wed, 31 Oct 2012 12:04:11 +0100
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Implement the arm pieces for lazy preempt.
diff --git a/debian/patches-rt/arm-remove-printk_nmi_.patch b/debian/patches-rt/arm-remove-printk_nmi_.patch
index 64796bf8e7ec..e9d212a53726 100644
--- a/debian/patches-rt/arm-remove-printk_nmi_.patch
+++ b/debian/patches-rt/arm-remove-printk_nmi_.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Fri, 15 Feb 2019 14:34:20 +0100
Subject: [PATCH] arm: remove printk_nmi_.*()
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
It is no longer provided by the printk core code.
diff --git a/debian/patches-rt/arm64-fpsimd-use-preemp_disable-in-addition-to-local.patch b/debian/patches-rt/arm64-fpsimd-use-preemp_disable-in-addition-to-local.patch
index ccc565b25bd5..32a9554061bd 100644
--- a/debian/patches-rt/arm64-fpsimd-use-preemp_disable-in-addition-to-local.patch
+++ b/debian/patches-rt/arm64-fpsimd-use-preemp_disable-in-addition-to-local.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Wed, 25 Jul 2018 14:02:38 +0200
Subject: [PATCH] arm64: fpsimd: Delay freeing memory in fpsimd_flush_thread()
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
fpsimd_flush_thread() invokes kfree() via sve_free() within a preempt disabled
section which is not working on -RT.
diff --git a/debian/patches-rt/at91_dont_enable_disable_clock.patch b/debian/patches-rt/at91_dont_enable_disable_clock.patch
index e8bd33499939..dd7f009f4d9f 100644
--- a/debian/patches-rt/at91_dont_enable_disable_clock.patch
+++ b/debian/patches-rt/at91_dont_enable_disable_clock.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Wed, 09 Mar 2016 10:51:06 +0100
Subject: arm: at91: do not disable/enable clocks in a row
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Currently the driver will disable the clock and enable it one line later
if it is switching from periodic mode into one shot.
diff --git a/debian/patches-rt/block-mq-don-t-complete-requests-via-IPI.patch b/debian/patches-rt/block-mq-don-t-complete-requests-via-IPI.patch
index 61ae417f2c18..7aeea6d409f5 100644
--- a/debian/patches-rt/block-mq-don-t-complete-requests-via-IPI.patch
+++ b/debian/patches-rt/block-mq-don-t-complete-requests-via-IPI.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Thu, 29 Jan 2015 15:10:08 +0100
Subject: block/mq: don't complete requests via IPI
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
The IPI runs in hardirq context and there are sleeping locks. Assume caches are
shared and complete them on the local CPU.
diff --git a/debian/patches-rt/block-mq-drop-preempt-disable.patch b/debian/patches-rt/block-mq-drop-preempt-disable.patch
index 2f2877a304e7..ec5ba01c6c29 100644
--- a/debian/patches-rt/block-mq-drop-preempt-disable.patch
+++ b/debian/patches-rt/block-mq-drop-preempt-disable.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Tue, 14 Jul 2015 14:26:34 +0200
Subject: block/mq: do not invoke preempt_disable()
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
preempt_disable() and get_cpu() don't play well together with the sleeping
locks it tries to allocate later.
@@ -32,7 +32,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
}
static void hctx_unlock(struct blk_mq_hw_ctx *hctx, int srcu_idx)
-@@ -1454,14 +1454,14 @@ static void __blk_mq_delay_run_hw_queue(
+@@ -1456,14 +1456,14 @@ static void __blk_mq_delay_run_hw_queue(
return;
if (!async && !(hctx->flags & BLK_MQ_F_BLOCKING)) {
diff --git a/debian/patches-rt/block-use-cpu-chill.patch b/debian/patches-rt/block-use-cpu-chill.patch
index 8f377dfa8b4b..6b1efda1b468 100644
--- a/debian/patches-rt/block-use-cpu-chill.patch
+++ b/debian/patches-rt/block-use-cpu-chill.patch
@@ -1,7 +1,7 @@
Subject: block: Use cpu_chill() for retry loops
From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 20 Dec 2012 18:28:26 +0100
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Retry loops on RT might loop forever when the modifying side was
preempted. Steven also observed a live lock when there was a
@@ -28,7 +28,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
#include "blk.h"
-@@ -115,7 +116,7 @@ static void ioc_release_fn(struct work_s
+@@ -116,7 +117,7 @@ static void ioc_release_fn(struct work_s
spin_unlock(&q->queue_lock);
} else {
spin_unlock_irqrestore(&ioc->lock, flags);
diff --git a/debian/patches-rt/cgroup-use-irqsave-in-cgroup_rstat_flush_locked.patch b/debian/patches-rt/cgroup-use-irqsave-in-cgroup_rstat_flush_locked.patch
index e3b54f25e329..491c190f3e6d 100644
--- a/debian/patches-rt/cgroup-use-irqsave-in-cgroup_rstat_flush_locked.patch
+++ b/debian/patches-rt/cgroup-use-irqsave-in-cgroup_rstat_flush_locked.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Tue, 3 Jul 2018 18:19:48 +0200
Subject: [PATCH] cgroup: use irqsave in cgroup_rstat_flush_locked()
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
All callers of cgroup_rstat_flush_locked() acquire cgroup_rstat_lock
either with spin_lock_irq() or spin_lock_irqsave().
diff --git a/debian/patches-rt/clocksource-tclib-allow-higher-clockrates.patch b/debian/patches-rt/clocksource-tclib-allow-higher-clockrates.patch
index 7e115d75f469..2713bc2ac574 100644
--- a/debian/patches-rt/clocksource-tclib-allow-higher-clockrates.patch
+++ b/debian/patches-rt/clocksource-tclib-allow-higher-clockrates.patch
@@ -1,7 +1,7 @@
From: Benedikt Spranger <b.spranger@linutronix.de>
Date: Mon, 8 Mar 2010 18:57:04 +0100
Subject: clocksource: TCLIB: Allow higher clock rates for clock events
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
As default the TCLIB uses the 32KiHz base clock rate for clock events.
Add a compile time selection to allow higher clock resulution.
diff --git a/debian/patches-rt/completion-use-simple-wait-queues.patch b/debian/patches-rt/completion-use-simple-wait-queues.patch
index 1b2485935502..6179ce809e77 100644
--- a/debian/patches-rt/completion-use-simple-wait-queues.patch
+++ b/debian/patches-rt/completion-use-simple-wait-queues.patch
@@ -1,7 +1,7 @@
Subject: completion: Use simple wait queues
From: Thomas Gleixner <tglx@linutronix.de>
Date: Fri, 11 Jan 2013 11:23:51 +0100
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Completions have no long lasting callbacks and therefor do not need
the complex waitqueue variant. Use simple waitqueues which reduces the
@@ -51,7 +51,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
default:
--- a/drivers/usb/gadget/function/f_fs.c
+++ b/drivers/usb/gadget/function/f_fs.c
-@@ -1703,7 +1703,7 @@ static void ffs_data_put(struct ffs_data
+@@ -1704,7 +1704,7 @@ static void ffs_data_put(struct ffs_data
pr_info("%s(): freeing\n", __func__);
ffs_data_clear(ffs);
BUG_ON(waitqueue_active(&ffs->ev.waitq) ||
diff --git a/debian/patches-rt/cond-resched-lock-rt-tweak.patch b/debian/patches-rt/cond-resched-lock-rt-tweak.patch
index 0187eb386305..8e4dc13522da 100644
--- a/debian/patches-rt/cond-resched-lock-rt-tweak.patch
+++ b/debian/patches-rt/cond-resched-lock-rt-tweak.patch
@@ -1,7 +1,7 @@
Subject: sched: Use the proper LOCK_OFFSET for cond_resched()
From: Thomas Gleixner <tglx@linutronix.de>
Date: Sun, 17 Jul 2011 22:51:33 +0200
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
RT does not increment preempt count when a 'sleeping' spinlock is
locked. Update PREEMPT_LOCK_OFFSET for that case.
diff --git a/debian/patches-rt/connector-cn_proc-Protect-send_msg-with-a-local-lock.patch b/debian/patches-rt/connector-cn_proc-Protect-send_msg-with-a-local-lock.patch
index 1b41e234131d..2a8125a72b14 100644
--- a/debian/patches-rt/connector-cn_proc-Protect-send_msg-with-a-local-lock.patch
+++ b/debian/patches-rt/connector-cn_proc-Protect-send_msg-with-a-local-lock.patch
@@ -2,7 +2,7 @@ From: Mike Galbraith <umgwanakikbuti@gmail.com>
Date: Sun, 16 Oct 2016 05:11:54 +0200
Subject: [PATCH] connector/cn_proc: Protect send_msg() with a local lock
on RT
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
|BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:931
|in_atomic(): 1, irqs_disabled(): 0, pid: 31807, name: sleep
diff --git a/debian/patches-rt/cpuset-Convert-callback_lock-to-raw_spinlock_t.patch b/debian/patches-rt/cpuset-Convert-callback_lock-to-raw_spinlock_t.patch
index f941a1b15f21..a86e84bd5609 100644
--- a/debian/patches-rt/cpuset-Convert-callback_lock-to-raw_spinlock_t.patch
+++ b/debian/patches-rt/cpuset-Convert-callback_lock-to-raw_spinlock_t.patch
@@ -1,7 +1,7 @@
From: Mike Galbraith <efault@gmx.de>
Date: Sun, 8 Jan 2017 09:32:25 +0100
Subject: [PATCH] cpuset: Convert callback_lock to raw_spinlock_t
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
The two commits below add up to a cpuset might_sleep() splat for RT:
diff --git a/debian/patches-rt/crypto-Reduce-preempt-disabled-regions-more-algos.patch b/debian/patches-rt/crypto-Reduce-preempt-disabled-regions-more-algos.patch
index fbdf952b9c4a..c80561d87b34 100644
--- a/debian/patches-rt/crypto-Reduce-preempt-disabled-regions-more-algos.patch
+++ b/debian/patches-rt/crypto-Reduce-preempt-disabled-regions-more-algos.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Fri, 21 Feb 2014 17:24:04 +0100
Subject: crypto: Reduce preempt disabled regions, more algos
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Don Estabrook reported
| kernel: WARNING: CPU: 2 PID: 858 at kernel/sched/core.c:2428 migrate_disable+0xed/0x100()
diff --git a/debian/patches-rt/crypto-cryptd-add-a-lock-instead-preempt_disable-loc.patch b/debian/patches-rt/crypto-cryptd-add-a-lock-instead-preempt_disable-loc.patch
index 564a6a3796a9..1e023e5920b6 100644
--- a/debian/patches-rt/crypto-cryptd-add-a-lock-instead-preempt_disable-loc.patch
+++ b/debian/patches-rt/crypto-cryptd-add-a-lock-instead-preempt_disable-loc.patch
@@ -2,7 +2,7 @@ From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Thu, 26 Jul 2018 18:52:00 +0200
Subject: [PATCH] crypto: cryptd - add a lock instead
preempt_disable/local_bh_disable
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
cryptd has a per-CPU lock which protected with local_bh_disable() and
preempt_disable().
diff --git a/debian/patches-rt/crypto-limit-more-FPU-enabled-sections.patch b/debian/patches-rt/crypto-limit-more-FPU-enabled-sections.patch
index 2f281613776c..89ef289c05b9 100644
--- a/debian/patches-rt/crypto-limit-more-FPU-enabled-sections.patch
+++ b/debian/patches-rt/crypto-limit-more-FPU-enabled-sections.patch
@@ -4,7 +4,7 @@ Subject: [PATCH] crypto: limit more FPU-enabled sections
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Those crypto drivers use SSE/AVX/… for their crypto work and in order to
do so in kernel they need to enable the "FPU" in kernel mode which
diff --git a/debian/patches-rt/debugobjects-rt.patch b/debian/patches-rt/debugobjects-rt.patch
index e95722089e7a..0f5c1dc2eaae 100644
--- a/debian/patches-rt/debugobjects-rt.patch
+++ b/debian/patches-rt/debugobjects-rt.patch
@@ -1,7 +1,7 @@
Subject: debugobjects: Make RT aware
From: Thomas Gleixner <tglx@linutronix.de>
Date: Sun, 17 Jul 2011 21:41:35 +0200
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Avoid filling the pool / allocating memory with irqs off().
diff --git a/debian/patches-rt/dma-buf-Use-seqlock_t-instread-disabling-preemption.patch b/debian/patches-rt/dma-buf-Use-seqlock_t-instread-disabling-preemption.patch
index 0c670cd4cda2..05eb640617d0 100644
--- a/debian/patches-rt/dma-buf-Use-seqlock_t-instread-disabling-preemption.patch
+++ b/debian/patches-rt/dma-buf-Use-seqlock_t-instread-disabling-preemption.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Wed, 14 Aug 2019 16:38:43 +0200
Subject: [PATCH] dma-buf: Use seqlock_t instread disabling preemption
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
"dma reservation" disables preemption while acquiring the write access
for "seqcount".
diff --git a/debian/patches-rt/drivers-block-zram-Replace-bit-spinlocks-with-rtmute.patch b/debian/patches-rt/drivers-block-zram-Replace-bit-spinlocks-with-rtmute.patch
index c8bd79ec540a..6e92b7961932 100644
--- a/debian/patches-rt/drivers-block-zram-Replace-bit-spinlocks-with-rtmute.patch
+++ b/debian/patches-rt/drivers-block-zram-Replace-bit-spinlocks-with-rtmute.patch
@@ -2,7 +2,7 @@ From: Mike Galbraith <umgwanakikbuti@gmail.com>
Date: Thu, 31 Mar 2016 04:08:28 +0200
Subject: [PATCH] drivers/block/zram: Replace bit spinlocks with rtmutex
for -rt
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
They're nondeterministic, and lead to ___might_sleep() splats in -rt.
OTOH, they're a lot less wasteful than an rtmutex per page.
diff --git a/debian/patches-rt/drivers-tty-fix-omap-lock-crap.patch b/debian/patches-rt/drivers-tty-fix-omap-lock-crap.patch
index 395fd9a786d0..523023d9947e 100644
--- a/debian/patches-rt/drivers-tty-fix-omap-lock-crap.patch
+++ b/debian/patches-rt/drivers-tty-fix-omap-lock-crap.patch
@@ -1,7 +1,7 @@
Subject: tty/serial/omap: Make the locking RT aware
From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 28 Jul 2011 13:32:57 +0200
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
The lock is a sleeping lock and local_irq_save() is not the
optimsation we are looking for. Redo it to make it work on -RT and
diff --git a/debian/patches-rt/drivers-tty-pl011-irq-disable-madness.patch b/debian/patches-rt/drivers-tty-pl011-irq-disable-madness.patch
index 0db32830a1bb..ebb76c162348 100644
--- a/debian/patches-rt/drivers-tty-pl011-irq-disable-madness.patch
+++ b/debian/patches-rt/drivers-tty-pl011-irq-disable-madness.patch
@@ -1,7 +1,7 @@
Subject: tty/serial/pl011: Make the locking work on RT
From: Thomas Gleixner <tglx@linutronix.de>
Date: Tue, 08 Jan 2013 21:36:51 +0100
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
The lock is a sleeping lock and local_irq_save() is not the optimsation
we are looking for. Redo it to make it work on -RT and non-RT.
diff --git a/debian/patches-rt/drivers-zram-Don-t-disable-preemption-in-zcomp_strea.patch b/debian/patches-rt/drivers-zram-Don-t-disable-preemption-in-zcomp_strea.patch
index 4914f48413f2..bbbcbdcf5731 100644
--- a/debian/patches-rt/drivers-zram-Don-t-disable-preemption-in-zcomp_strea.patch
+++ b/debian/patches-rt/drivers-zram-Don-t-disable-preemption-in-zcomp_strea.patch
@@ -2,7 +2,7 @@ From: Mike Galbraith <umgwanakikbuti@gmail.com>
Date: Thu, 20 Oct 2016 11:15:22 +0200
Subject: [PATCH] drivers/zram: Don't disable preemption in
zcomp_stream_get/put()
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
In v4.7, the driver switched to percpu compression streams, disabling
preemption via get/put_cpu_ptr(). Use a per-zcomp_strm lock here. We
diff --git a/debian/patches-rt/drm-i915-disable-tracing-on-RT.patch b/debian/patches-rt/drm-i915-disable-tracing-on-RT.patch
index b51b9b654891..7d70c9cd346c 100644
--- a/debian/patches-rt/drm-i915-disable-tracing-on-RT.patch
+++ b/debian/patches-rt/drm-i915-disable-tracing-on-RT.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Thu, 6 Dec 2018 09:52:20 +0100
Subject: [PATCH] drm/i915: disable tracing on -RT
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Luca Abeni reported this:
| BUG: scheduling while atomic: kworker/u8:2/15203/0x00000003
diff --git a/debian/patches-rt/drm-i915-gt-use-a-LOCAL_IRQ_LOCK-in-__timeline_mark_.patch b/debian/patches-rt/drm-i915-gt-use-a-LOCAL_IRQ_LOCK-in-__timeline_mark_.patch
index a9da12495173..27f545cee39c 100644
--- a/debian/patches-rt/drm-i915-gt-use-a-LOCAL_IRQ_LOCK-in-__timeline_mark_.patch
+++ b/debian/patches-rt/drm-i915-gt-use-a-LOCAL_IRQ_LOCK-in-__timeline_mark_.patch
@@ -1,7 +1,7 @@
From: Mike Galbraith <efault@gmx.de>
Date: Fri, 7 Feb 2020 07:11:06 +0100
Subject: [PATCH] drm/i915/gt: use a LOCAL_IRQ_LOCK in __timeline_mark_lock()
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Quoting drm/i915/gt: Mark up the nested engine-pm timeline lock as irqsafe
diff --git a/debian/patches-rt/drm-i915-skip-DRM_I915_LOW_LEVEL_TRACEPOINTS-with-NO.patch b/debian/patches-rt/drm-i915-skip-DRM_I915_LOW_LEVEL_TRACEPOINTS-with-NO.patch
index bbfd948300b1..d1f805260066 100644
--- a/debian/patches-rt/drm-i915-skip-DRM_I915_LOW_LEVEL_TRACEPOINTS-with-NO.patch
+++ b/debian/patches-rt/drm-i915-skip-DRM_I915_LOW_LEVEL_TRACEPOINTS-with-NO.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Wed, 19 Dec 2018 10:47:02 +0100
Subject: [PATCH] drm/i915: skip DRM_I915_LOW_LEVEL_TRACEPOINTS with NOTRACE
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
The order of the header files is important. If this header file is
included after tracepoint.h was included then the NOTRACE here becomes a
diff --git a/debian/patches-rt/drmi915_Use_local_lockunlock_irq()_in_intel_pipe_update_startend().patch b/debian/patches-rt/drmi915_Use_local_lockunlock_irq()_in_intel_pipe_update_startend().patch
index 27cc7c8b9ec9..1932ed06c474 100644
--- a/debian/patches-rt/drmi915_Use_local_lockunlock_irq()_in_intel_pipe_update_startend().patch
+++ b/debian/patches-rt/drmi915_Use_local_lockunlock_irq()_in_intel_pipe_update_startend().patch
@@ -1,7 +1,7 @@
Subject: drm,i915: Use local_lock/unlock_irq() in intel_pipe_update_start/end()
From: Mike Galbraith <umgwanakikbuti@gmail.com>
Date: Sat, 27 Feb 2016 09:01:42 +0100
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
[ 8.014039] BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:918
diff --git a/debian/patches-rt/drmradeoni915_Use_preempt_disableenable_rt()_where_recommended.patch b/debian/patches-rt/drmradeoni915_Use_preempt_disableenable_rt()_where_recommended.patch
index 208910948602..7a683401309f 100644
--- a/debian/patches-rt/drmradeoni915_Use_preempt_disableenable_rt()_where_recommended.patch
+++ b/debian/patches-rt/drmradeoni915_Use_preempt_disableenable_rt()_where_recommended.patch
@@ -1,7 +1,7 @@
Subject: drm,radeon,i915: Use preempt_disable/enable_rt() where recommended
From: Mike Galbraith <umgwanakikbuti@gmail.com>
Date: Sat, 27 Feb 2016 08:09:11 +0100
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
DRM folks identified the spots, so use them.
diff --git a/debian/patches-rt/efi-Allow-efi-runtime.patch b/debian/patches-rt/efi-Allow-efi-runtime.patch
index 05915105c4f1..1fd9f420784a 100644
--- a/debian/patches-rt/efi-Allow-efi-runtime.patch
+++ b/debian/patches-rt/efi-Allow-efi-runtime.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Thu, 26 Jul 2018 15:06:10 +0200
Subject: [PATCH] efi: Allow efi=runtime
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
In case the command line option "efi=noruntime" is default at built-time, the user
could overwrite its state by `efi=runtime' and allow it again.
diff --git a/debian/patches-rt/efi-Disable-runtime-services-on-RT.patch b/debian/patches-rt/efi-Disable-runtime-services-on-RT.patch
index 758cf5c097b8..fa79d299b40f 100644
--- a/debian/patches-rt/efi-Disable-runtime-services-on-RT.patch
+++ b/debian/patches-rt/efi-Disable-runtime-services-on-RT.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Thu, 26 Jul 2018 15:03:16 +0200
Subject: [PATCH] efi: Disable runtime services on RT
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Based on meassurements the EFI functions get_variable /
get_next_variable take up to 2us which looks okay.
diff --git a/debian/patches-rt/fs-buffer-Make-BH_Uptodate_Lock-bit_spin_lock-a-regu.patch b/debian/patches-rt/fs-buffer-Make-BH_Uptodate_Lock-bit_spin_lock-a-regu.patch
index 2e0dd9d1d4c0..aae0a82b22fc 100644
--- a/debian/patches-rt/fs-buffer-Make-BH_Uptodate_Lock-bit_spin_lock-a-regu.patch
+++ b/debian/patches-rt/fs-buffer-Make-BH_Uptodate_Lock-bit_spin_lock-a-regu.patch
@@ -2,7 +2,7 @@ From: Thomas Gleixner <tglx@linutronix.de>
Date: Fri, 15 Nov 2019 18:54:20 +0100
Subject: [PATCH] fs/buffer: Make BH_Uptodate_Lock bit_spin_lock a regular
spinlock_t
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Bit spinlocks are problematic if PREEMPT_RT is enabled, because they
disable preemption, which is undesired for latency reasons and breaks when
@@ -103,7 +103,7 @@ after
return;
}
EXPORT_SYMBOL(end_buffer_async_write);
-@@ -3385,6 +3379,7 @@ struct buffer_head *alloc_buffer_head(gf
+@@ -3396,6 +3390,7 @@ struct buffer_head *alloc_buffer_head(gf
struct buffer_head *ret = kmem_cache_zalloc(bh_cachep, gfp_flags);
if (ret) {
INIT_LIST_HEAD(&ret->b_assoc_buffers);
diff --git a/debian/patches-rt/fs-dcache-Include-swait.h-header.patch b/debian/patches-rt/fs-dcache-Include-swait.h-header.patch
index 1951b70edb0c..c6e7758045e1 100644
--- a/debian/patches-rt/fs-dcache-Include-swait.h-header.patch
+++ b/debian/patches-rt/fs-dcache-Include-swait.h-header.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Thu, 16 Apr 2020 12:42:15 +0200
Subject: [PATCH] fs/dcache: Include swait.h header
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Include the swait.h header so it compiles even if not all patches are
applied.
diff --git a/debian/patches-rt/fs-dcache-bring-back-explicit-INIT_HLIST_BL_HEAD-in.patch b/debian/patches-rt/fs-dcache-bring-back-explicit-INIT_HLIST_BL_HEAD-in.patch
index 07a7a5ea026c..f7739e41740f 100644
--- a/debian/patches-rt/fs-dcache-bring-back-explicit-INIT_HLIST_BL_HEAD-in.patch
+++ b/debian/patches-rt/fs-dcache-bring-back-explicit-INIT_HLIST_BL_HEAD-in.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Wed, 13 Sep 2017 12:32:34 +0200
Subject: [PATCH] fs/dcache: bring back explicit INIT_HLIST_BL_HEAD init
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Commit 3d375d78593c ("mm: update callers to use HASH_ZERO flag") removed
INIT_HLIST_BL_HEAD and uses the ZERO flag instead for the init. However
diff --git a/debian/patches-rt/fs-dcache-disable-preemption-on-i_dir_seq-s-write-si.patch b/debian/patches-rt/fs-dcache-disable-preemption-on-i_dir_seq-s-write-si.patch
index 7ab0f010e583..8eb701bba50c 100644
--- a/debian/patches-rt/fs-dcache-disable-preemption-on-i_dir_seq-s-write-si.patch
+++ b/debian/patches-rt/fs-dcache-disable-preemption-on-i_dir_seq-s-write-si.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Fri, 20 Oct 2017 11:29:53 +0200
Subject: [PATCH] fs/dcache: disable preemption on i_dir_seq's write side
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
i_dir_seq is an opencoded seqcounter. Based on the code it looks like we
could have two writers in parallel despite the fact that the d_lock is
diff --git a/debian/patches-rt/fs-dcache-use-swait_queue-instead-of-waitqueue.patch b/debian/patches-rt/fs-dcache-use-swait_queue-instead-of-waitqueue.patch
index 5634b04b8a44..d43630d95cae 100644
--- a/debian/patches-rt/fs-dcache-use-swait_queue-instead-of-waitqueue.patch
+++ b/debian/patches-rt/fs-dcache-use-swait_queue-instead-of-waitqueue.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Wed, 14 Sep 2016 14:35:49 +0200
Subject: [PATCH] fs/dcache: use swait_queue instead of waitqueue
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
__d_lookup_done() invokes wake_up_all() while holding a hlist_bl_lock()
which disables preemption. As a workaround convert it to swait.
@@ -24,7 +24,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
--- a/fs/afs/dir_silly.c
+++ b/fs/afs/dir_silly.c
-@@ -202,7 +202,7 @@ int afs_silly_iput(struct dentry *dentry
+@@ -210,7 +210,7 @@ int afs_silly_iput(struct dentry *dentry
struct dentry *alias;
int ret;
@@ -164,7 +164,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
spin_lock(&dentry->d_lock);
--- a/fs/proc/base.c
+++ b/fs/proc/base.c
-@@ -1983,7 +1983,7 @@ bool proc_fill_cache(struct file *file,
+@@ -1995,7 +1995,7 @@ bool proc_fill_cache(struct file *file,
child = d_hash_and_lookup(dir, &qname);
if (!child) {
diff --git a/debian/patches-rt/fs-epoll-make-nesting-accounting-safe-for-rt-kernel.patch b/debian/patches-rt/fs-epoll-make-nesting-accounting-safe-for-rt-kernel.patch
index 628e8a4bb9b2..e524f9f37974 100644
--- a/debian/patches-rt/fs-epoll-make-nesting-accounting-safe-for-rt-kernel.patch
+++ b/debian/patches-rt/fs-epoll-make-nesting-accounting-safe-for-rt-kernel.patch
@@ -2,7 +2,7 @@ From: Jason Baron <jbaron@akamai.com>
Subject: [PATCH] fs/epoll: make nesting accounting safe for -rt kernel
Date: Fri, 17 Jan 2020 14:16:47 -0500
Message-Id: <1579288607-11868-1-git-send-email-jbaron@akamai.com>
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Davidlohr Bueso pointed out that when CONFIG_DEBUG_LOCK_ALLOC is set
ep_poll_safewake() can take several non-raw spinlocks after disabling
diff --git a/debian/patches-rt/fs-namespace-use-cpu-chill-in-trylock-loops.patch b/debian/patches-rt/fs-namespace-use-cpu-chill-in-trylock-loops.patch
index 69aa277e006c..fb68e5040b9f 100644
--- a/debian/patches-rt/fs-namespace-use-cpu-chill-in-trylock-loops.patch
+++ b/debian/patches-rt/fs-namespace-use-cpu-chill-in-trylock-loops.patch
@@ -1,7 +1,7 @@
Subject: fs: namespace: Use cpu_chill() in trylock loops
From: Thomas Gleixner <tglx@linutronix.de>
Date: Wed, 07 Mar 2012 21:00:34 +0100
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Retry loops on RT might loop forever when the modifying side was
preempted. Use cpu_chill() instead of cpu_relax() to let the system
diff --git a/debian/patches-rt/fs-nfs-turn-rmdir_sem-into-a-semaphore.patch b/debian/patches-rt/fs-nfs-turn-rmdir_sem-into-a-semaphore.patch
index c384cfe13acb..938d1539fedb 100644
--- a/debian/patches-rt/fs-nfs-turn-rmdir_sem-into-a-semaphore.patch
+++ b/debian/patches-rt/fs-nfs-turn-rmdir_sem-into-a-semaphore.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Thu, 15 Sep 2016 10:51:27 +0200
Subject: [PATCH] fs/nfs: turn rmdir_sem into a semaphore
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
The RW semaphore had a reader side which used the _non_owner version
because it most likely took the reader lock in one thread and released it
diff --git a/debian/patches-rt/fscache-initialize-cookie-hash-table-raw-spinlocks.patch b/debian/patches-rt/fscache-initialize-cookie-hash-table-raw-spinlocks.patch
index 05876ca537d7..0e50c679e4ac 100644
--- a/debian/patches-rt/fscache-initialize-cookie-hash-table-raw-spinlocks.patch
+++ b/debian/patches-rt/fscache-initialize-cookie-hash-table-raw-spinlocks.patch
@@ -1,7 +1,7 @@
From: Clark Williams <williams@redhat.com>
Date: Tue, 3 Jul 2018 13:34:30 -0500
Subject: [PATCH] fscache: initialize cookie hash table raw spinlocks
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
The fscache cookie mechanism uses a hash table of hlist_bl_head structures. The
PREEMPT_RT patcheset adds a raw spinlock to this structure and so on PREEMPT_RT
diff --git a/debian/patches-rt/ftrace-migrate-disable-tracing.patch b/debian/patches-rt/ftrace-migrate-disable-tracing.patch
index b18d9eff2544..fe977f3dd77e 100644
--- a/debian/patches-rt/ftrace-migrate-disable-tracing.patch
+++ b/debian/patches-rt/ftrace-migrate-disable-tracing.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Sun, 17 Jul 2011 21:56:42 +0200
Subject: trace: Add migrate-disabled counter to tracing output
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
diff --git a/debian/patches-rt/futex-Ensure-lock-unlock-symetry-versus-pi_lock-and-.patch b/debian/patches-rt/futex-Ensure-lock-unlock-symetry-versus-pi_lock-and-.patch
index 770d8fbc7014..92b55d2d455e 100644
--- a/debian/patches-rt/futex-Ensure-lock-unlock-symetry-versus-pi_lock-and-.patch
+++ b/debian/patches-rt/futex-Ensure-lock-unlock-symetry-versus-pi_lock-and-.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Fri, 1 Mar 2013 11:17:42 +0100
Subject: futex: Ensure lock/unlock symetry versus pi_lock and hash bucket lock
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
In exit_pi_state_list() we have the following locking construct:
diff --git a/debian/patches-rt/futex-requeue-pi-fix.patch b/debian/patches-rt/futex-requeue-pi-fix.patch
index ba6251fba813..8825dc481970 100644
--- a/debian/patches-rt/futex-requeue-pi-fix.patch
+++ b/debian/patches-rt/futex-requeue-pi-fix.patch
@@ -1,7 +1,7 @@
From: Steven Rostedt <rostedt@goodmis.org>
Date: Tue, 14 Jul 2015 14:26:34 +0200
Subject: futex: Fix bug on when a requeued RT task times out
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Requeue with timeout causes a bug with PREEMPT_RT.
diff --git a/debian/patches-rt/futex-workaround-migrate_disable-enable-in-different.patch b/debian/patches-rt/futex-workaround-migrate_disable-enable-in-different.patch
index a84f005c5fc2..ec0b49216537 100644
--- a/debian/patches-rt/futex-workaround-migrate_disable-enable-in-different.patch
+++ b/debian/patches-rt/futex-workaround-migrate_disable-enable-in-different.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Wed, 8 Mar 2017 14:23:35 +0100
Subject: [PATCH] futex: workaround migrate_disable/enable in different context
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
migrate_enable() invokes __schedule() and it expects a preempt count of one.
Holding a raw_spinlock_t with disabled interrupts should not allow scheduling.
diff --git a/debian/patches-rt/genirq-disable-irqpoll-on-rt.patch b/debian/patches-rt/genirq-disable-irqpoll-on-rt.patch
index d0902a885b8a..fe63389b4f43 100644
--- a/debian/patches-rt/genirq-disable-irqpoll-on-rt.patch
+++ b/debian/patches-rt/genirq-disable-irqpoll-on-rt.patch
@@ -1,7 +1,7 @@
From: Ingo Molnar <mingo@elte.hu>
Date: Fri, 3 Jul 2009 08:29:57 -0500
Subject: genirq: Disable irqpoll on -rt
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Creates long latencies for no value
diff --git a/debian/patches-rt/genirq-update-irq_set_irqchip_state-documentation.patch b/debian/patches-rt/genirq-update-irq_set_irqchip_state-documentation.patch
index c33e8632c6da..000432293763 100644
--- a/debian/patches-rt/genirq-update-irq_set_irqchip_state-documentation.patch
+++ b/debian/patches-rt/genirq-update-irq_set_irqchip_state-documentation.patch
@@ -1,7 +1,7 @@
From: Josh Cartwright <joshc@ni.com>
Date: Thu, 11 Feb 2016 11:54:00 -0600
Subject: genirq: update irq_set_irqchip_state documentation
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
On -rt kernels, the use of migrate_disable()/migrate_enable() is
sufficient to guarantee a task isn't moved to another CPU. Update the
diff --git a/debian/patches-rt/hrtimer-Allow-raw-wakeups-during-boot.patch b/debian/patches-rt/hrtimer-Allow-raw-wakeups-during-boot.patch
index 40cd120c471c..b6920841c433 100644
--- a/debian/patches-rt/hrtimer-Allow-raw-wakeups-during-boot.patch
+++ b/debian/patches-rt/hrtimer-Allow-raw-wakeups-during-boot.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Fri, 9 Aug 2019 15:25:21 +0200
Subject: [PATCH] hrtimer: Allow raw wakeups during boot
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
There are a few wake-up timers during the early boot which are essencial for
the system to make progress. At this stage there are no softirq spawn for the
diff --git a/debian/patches-rt/irqwork-push_most_work_into_softirq_context.patch b/debian/patches-rt/irqwork-push_most_work_into_softirq_context.patch
index 6c2b34d98bbd..d2935d7749fe 100644
--- a/debian/patches-rt/irqwork-push_most_work_into_softirq_context.patch
+++ b/debian/patches-rt/irqwork-push_most_work_into_softirq_context.patch
@@ -1,7 +1,7 @@
Subject: irqwork: push most work into softirq context
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Tue, 23 Jun 2015 15:32:51 +0200
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Initially we defered all irqwork into softirq because we didn't want the
latency spikes if perf or another user was busy and delayed the RT task.
diff --git a/debian/patches-rt/jump-label-rt.patch b/debian/patches-rt/jump-label-rt.patch
index d43c0381b3e2..224fdf4558d6 100644
--- a/debian/patches-rt/jump-label-rt.patch
+++ b/debian/patches-rt/jump-label-rt.patch
@@ -1,7 +1,7 @@
Subject: jump-label: disable if stop_machine() is used
From: Thomas Gleixner <tglx@linutronix.de>
Date: Wed, 08 Jul 2015 17:14:48 +0200
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Some architectures are using stop_machine() while switching the opcode which
leads to latency spikes.
diff --git a/debian/patches-rt/kconfig-disable-a-few-options-rt.patch b/debian/patches-rt/kconfig-disable-a-few-options-rt.patch
index 108798c9adbe..9c81c099e21a 100644
--- a/debian/patches-rt/kconfig-disable-a-few-options-rt.patch
+++ b/debian/patches-rt/kconfig-disable-a-few-options-rt.patch
@@ -1,7 +1,7 @@
Subject: kconfig: Disable config options which are not RT compatible
From: Thomas Gleixner <tglx@linutronix.de>
Date: Sun, 24 Jul 2011 12:11:43 +0200
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Disable stuff which is known to have issues on RT
diff --git a/debian/patches-rt/kernel-sched-move-stack-kprobe-clean-up-to-__put_tas.patch b/debian/patches-rt/kernel-sched-move-stack-kprobe-clean-up-to-__put_tas.patch
index 5c0ce9259f6a..d735e3dd0372 100644
--- a/debian/patches-rt/kernel-sched-move-stack-kprobe-clean-up-to-__put_tas.patch
+++ b/debian/patches-rt/kernel-sched-move-stack-kprobe-clean-up-to-__put_tas.patch
@@ -2,7 +2,7 @@ From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Mon, 21 Nov 2016 19:31:08 +0100
Subject: [PATCH] kernel/sched: move stack + kprobe clean up to
__put_task_struct()
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
There is no need to free the stack before the task struct (except for reasons
mentioned in commit 68f24b08ee89 ("sched/core: Free the stack early if
@@ -55,7 +55,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
security_task_free(tsk);
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
-@@ -3249,15 +3249,6 @@ static struct rq *finish_task_switch(str
+@@ -3244,15 +3244,6 @@ static struct rq *finish_task_switch(str
if (prev->sched_class->task_dead)
prev->sched_class->task_dead(prev);
diff --git a/debian/patches-rt/leds-trigger-disable-CPU-trigger-on-RT.patch b/debian/patches-rt/leds-trigger-disable-CPU-trigger-on-RT.patch
index 5e1559348902..5554134ab5f4 100644
--- a/debian/patches-rt/leds-trigger-disable-CPU-trigger-on-RT.patch
+++ b/debian/patches-rt/leds-trigger-disable-CPU-trigger-on-RT.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Thu, 23 Jan 2014 14:45:59 +0100
Subject: leds: trigger: disable CPU trigger on -RT
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
as it triggers:
|CPU: 0 PID: 0 Comm: swapper Not tainted 3.12.8-rt10 #141
diff --git a/debian/patches-rt/list_bl.h-make-list-head-locking-RT-safe.patch b/debian/patches-rt/list_bl.h-make-list-head-locking-RT-safe.patch
index f00394089a5f..2950f197d8d9 100644
--- a/debian/patches-rt/list_bl.h-make-list-head-locking-RT-safe.patch
+++ b/debian/patches-rt/list_bl.h-make-list-head-locking-RT-safe.patch
@@ -1,7 +1,7 @@
From: Paul Gortmaker <paul.gortmaker@windriver.com>
Date: Fri, 21 Jun 2013 15:07:25 -0400
Subject: list_bl: Make list head locking RT safe
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
As per changes in include/linux/jbd_common.h for avoiding the
bit_spin_locks on RT ("fs: jbd/jbd2: Make state lock and journal
diff --git a/debian/patches-rt/localversion.patch b/debian/patches-rt/localversion.patch
index 456e442b9d08..5bc6a7e2638c 100644
--- a/debian/patches-rt/localversion.patch
+++ b/debian/patches-rt/localversion.patch
@@ -1,7 +1,7 @@
Subject: Add localversion for -RT release
From: Thomas Gleixner <tglx@linutronix.de>
Date: Fri, 08 Jul 2011 20:25:16 +0200
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
@@ -11,4 +11,4 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
--- /dev/null
+++ b/localversion-rt
@@ -0,0 +1 @@
-+-rt3
++-rt5
diff --git a/debian/patches-rt/lockdep-disable-self-test.patch b/debian/patches-rt/lockdep-disable-self-test.patch
index 8301f350f153..41b711bbc543 100644
--- a/debian/patches-rt/lockdep-disable-self-test.patch
+++ b/debian/patches-rt/lockdep-disable-self-test.patch
@@ -4,7 +4,7 @@ Subject: [PATCH] lockdep: disable self-test
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
The self-test wasn't always 100% accurate for RT. We disabled a few
tests which failed because they had a different semantic for RT. Some
@@ -18,7 +18,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
-@@ -1220,7 +1220,7 @@ config DEBUG_ATOMIC_SLEEP
+@@ -1222,7 +1222,7 @@ config DEBUG_ATOMIC_SLEEP
config DEBUG_LOCKING_API_SELFTESTS
bool "Locking API boot-time self-tests"
diff --git a/debian/patches-rt/lockdep-no-softirq-accounting-on-rt.patch b/debian/patches-rt/lockdep-no-softirq-accounting-on-rt.patch
index 821e2a0b2f34..04750d3ff5d7 100644
--- a/debian/patches-rt/lockdep-no-softirq-accounting-on-rt.patch
+++ b/debian/patches-rt/lockdep-no-softirq-accounting-on-rt.patch
@@ -1,7 +1,7 @@
Subject: lockdep: Make it RT aware
From: Thomas Gleixner <tglx@linutronix.de>
Date: Sun, 17 Jul 2011 18:51:23 +0200
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
teach lockdep that we don't really do softirqs on -RT.
@@ -52,7 +52,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
defined(CONFIG_PREEMPT_TRACER)
--- a/kernel/locking/lockdep.c
+++ b/kernel/locking/lockdep.c
-@@ -4407,6 +4407,7 @@ static void check_flags(unsigned long fl
+@@ -4411,6 +4411,7 @@ static void check_flags(unsigned long fl
}
}
@@ -60,7 +60,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
/*
* We dont accurately track softirq state in e.g.
* hardirq contexts (such as on 4KSTACKS), so only
-@@ -4421,6 +4422,7 @@ static void check_flags(unsigned long fl
+@@ -4425,6 +4426,7 @@ static void check_flags(unsigned long fl
DEBUG_LOCKS_WARN_ON(!current->softirqs_enabled);
}
}
diff --git a/debian/patches-rt/lockdep-selftest-fix-warnings-due-to-missing-PREEMPT.patch b/debian/patches-rt/lockdep-selftest-fix-warnings-due-to-missing-PREEMPT.patch
index 8032f6814bf8..c2bd596e0743 100644
--- a/debian/patches-rt/lockdep-selftest-fix-warnings-due-to-missing-PREEMPT.patch
+++ b/debian/patches-rt/lockdep-selftest-fix-warnings-due-to-missing-PREEMPT.patch
@@ -1,7 +1,7 @@
From: Josh Cartwright <josh.cartwright@ni.com>
Date: Wed, 28 Jan 2015 13:08:45 -0600
Subject: lockdep: selftest: fix warnings due to missing PREEMPT_RT conditionals
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
"lockdep: Selftest: Only do hardirq context test for raw spinlock"
disabled the execution of certain tests with PREEMPT_RT, but did
diff --git a/debian/patches-rt/lockdep-selftest-only-do-hardirq-context-test-for-raw-spinlock.patch b/debian/patches-rt/lockdep-selftest-only-do-hardirq-context-test-for-raw-spinlock.patch
index 9ab35430632f..4a5f86efdb25 100644
--- a/debian/patches-rt/lockdep-selftest-only-do-hardirq-context-test-for-raw-spinlock.patch
+++ b/debian/patches-rt/lockdep-selftest-only-do-hardirq-context-test-for-raw-spinlock.patch
@@ -1,7 +1,7 @@
Subject: lockdep: selftest: Only do hardirq context test for raw spinlock
From: Yong Zhang <yong.zhang0@gmail.com>
Date: Mon, 16 Apr 2012 15:01:56 +0800
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
From: Yong Zhang <yong.zhang@windriver.com>
diff --git a/debian/patches-rt/locking-Make-spinlock_t-and-rwlock_t-a-RCU-section-o.patch b/debian/patches-rt/locking-Make-spinlock_t-and-rwlock_t-a-RCU-section-o.patch
index d65d71df9fe2..d3aa329cb73b 100644
--- a/debian/patches-rt/locking-Make-spinlock_t-and-rwlock_t-a-RCU-section-o.patch
+++ b/debian/patches-rt/locking-Make-spinlock_t-and-rwlock_t-a-RCU-section-o.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Tue, 19 Nov 2019 09:25:04 +0100
Subject: [PATCH] locking: Make spinlock_t and rwlock_t a RCU section on RT
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
On !RT a locked spinlock_t and rwlock_t disables preemption which
implies a RCU read section. There is code that relies on that behaviour.
diff --git a/debian/patches-rt/locking-don-t-check-for-__LINUX_SPINLOCK_TYPES_H-on-.patch b/debian/patches-rt/locking-don-t-check-for-__LINUX_SPINLOCK_TYPES_H-on-.patch
index b88229fdc3b1..fa236a0bf7b8 100644
--- a/debian/patches-rt/locking-don-t-check-for-__LINUX_SPINLOCK_TYPES_H-on-.patch
+++ b/debian/patches-rt/locking-don-t-check-for-__LINUX_SPINLOCK_TYPES_H-on-.patch
@@ -2,7 +2,7 @@ From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Fri, 4 Aug 2017 17:40:42 +0200
Subject: [PATCH 1/2] locking: don't check for __LINUX_SPINLOCK_TYPES_H on -RT
archs
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Upstream uses arch_spinlock_t within spinlock_t and requests that
spinlock_types.h header file is included first.
diff --git a/debian/patches-rt/locking-rt-mutex-Flush-block-plug-on-__down_read.patch b/debian/patches-rt/locking-rt-mutex-Flush-block-plug-on-__down_read.patch
index fa0447e54fee..5503b73f2116 100644
--- a/debian/patches-rt/locking-rt-mutex-Flush-block-plug-on-__down_read.patch
+++ b/debian/patches-rt/locking-rt-mutex-Flush-block-plug-on-__down_read.patch
@@ -1,7 +1,7 @@
From: Scott Wood <swood@redhat.com>
Date: Fri, 4 Jan 2019 15:33:21 -0500
Subject: [PATCH] locking/rt-mutex: Flush block plug on __down_read()
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
__down_read() bypasses the rtmutex frontend to call
rt_mutex_slowlock_locked() directly, and thus it needs to call
diff --git a/debian/patches-rt/locking-rt-mutex-fix-deadlock-in-device-mapper-block.patch b/debian/patches-rt/locking-rt-mutex-fix-deadlock-in-device-mapper-block.patch
index ac0d2cb2f7bf..ff147c067fc7 100644
--- a/debian/patches-rt/locking-rt-mutex-fix-deadlock-in-device-mapper-block.patch
+++ b/debian/patches-rt/locking-rt-mutex-fix-deadlock-in-device-mapper-block.patch
@@ -1,7 +1,7 @@
From: Mikulas Patocka <mpatocka@redhat.com>
Date: Mon, 13 Nov 2017 12:56:53 -0500
Subject: [PATCH] locking/rt-mutex: fix deadlock in device mapper / block-IO
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
When some block device driver creates a bio and submits it to another
block device driver, the bio is added to current->bio_list (in order to
diff --git a/debian/patches-rt/locking-rtmutex-Clean-pi_blocked_on-in-the-error-cas.patch b/debian/patches-rt/locking-rtmutex-Clean-pi_blocked_on-in-the-error-cas.patch
index 7ce52b94126a..f8def3458990 100644
--- a/debian/patches-rt/locking-rtmutex-Clean-pi_blocked_on-in-the-error-cas.patch
+++ b/debian/patches-rt/locking-rtmutex-Clean-pi_blocked_on-in-the-error-cas.patch
@@ -1,7 +1,7 @@
From: Peter Zijlstra <peterz@infradead.org>
Date: Mon, 30 Sep 2019 18:15:44 +0200
Subject: [PATCH] locking/rtmutex: Clean ->pi_blocked_on in the error case
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
The function rt_mutex_wait_proxy_lock() cleans ->pi_blocked_on in case
of failure (timeout, signal). The same cleanup is required in
diff --git a/debian/patches-rt/md-disable-bcache.patch b/debian/patches-rt/md-disable-bcache.patch
index 9c8f7eb59f25..ac0e256eea75 100644
--- a/debian/patches-rt/md-disable-bcache.patch
+++ b/debian/patches-rt/md-disable-bcache.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Thu, 29 Aug 2013 11:48:57 +0200
Subject: md: disable bcache
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
It uses anon semaphores
|drivers/md/bcache/request.c: In function ‘cached_dev_write_complete’:
diff --git a/debian/patches-rt/md-raid5-percpu-handling-rt-aware.patch b/debian/patches-rt/md-raid5-percpu-handling-rt-aware.patch
index fa7114f1e6cd..8187ad9c18ba 100644
--- a/debian/patches-rt/md-raid5-percpu-handling-rt-aware.patch
+++ b/debian/patches-rt/md-raid5-percpu-handling-rt-aware.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Tue, 6 Apr 2010 16:51:31 +0200
Subject: md: raid5: Make raid5_percpu handling RT aware
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
__raid_run_ops() disables preemption with get_cpu() around the access
to the raid5_percpu variables. That causes scheduling while atomic
diff --git a/debian/patches-rt/mips-disable-highmem-on-rt.patch b/debian/patches-rt/mips-disable-highmem-on-rt.patch
index 97271c95474e..17b54e7fe696 100644
--- a/debian/patches-rt/mips-disable-highmem-on-rt.patch
+++ b/debian/patches-rt/mips-disable-highmem-on-rt.patch
@@ -1,7 +1,7 @@
Subject: mips: Disable highmem on RT
From: Thomas Gleixner <tglx@linutronix.de>
Date: Mon, 18 Jul 2011 17:10:12 +0200
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
The current highmem handling on -RT is not compatible and needs fixups.
diff --git a/debian/patches-rt/mm-Don-t-warn-about-atomic-memory-allocations-during.patch b/debian/patches-rt/mm-Don-t-warn-about-atomic-memory-allocations-during.patch
new file mode 100644
index 000000000000..abec9cbe42aa
--- /dev/null
+++ b/debian/patches-rt/mm-Don-t-warn-about-atomic-memory-allocations-during.patch
@@ -0,0 +1,53 @@
+From: Liwei Song <liwei.song@windriver.com>
+Date: Mon, 4 May 2020 15:58:22 +0200
+Subject: [PATCH] mm: Don't warn about atomic memory allocations during suspend
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
+
+The ACPI code allocates larger amount of memory during resume. This
+triggers a warning because the allocation happens with disabled
+interrupts.
+At this stage only one CPU is active so there should be no lock
+contention. If SLUB needs to call into the buddy allocator for more
+memory then it should not enable interrupts.
+
+Limit the check to system state with more CPUs and scheduling and only
+enable interrupts in SLUB at this stage.
+
+Signed-off-by: Liwei Song <liwei.song@windriver.com>
+[bigeasy: commit description, allocate_slab() hunk]
+Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
+---
+ mm/slub.c | 8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
+
+--- a/mm/slub.c
++++ b/mm/slub.c
+@@ -1655,7 +1655,7 @@ static struct page *allocate_slab(struct
+ enableirqs = true;
+
+ #ifdef CONFIG_PREEMPT_RT
+- if (system_state > SYSTEM_BOOTING)
++ if (system_state > SYSTEM_BOOTING && system_state < SYSTEM_SUSPEND)
+ enableirqs = true;
+ #endif
+ if (enableirqs)
+@@ -2768,7 +2768,8 @@ static __always_inline void *slab_alloc_
+ unsigned long tid;
+
+ if (IS_ENABLED(CONFIG_PREEMPT_RT) && IS_ENABLED(CONFIG_DEBUG_ATOMIC_SLEEP))
+- WARN_ON_ONCE(!preemptible() && system_state >= SYSTEM_SCHEDULING);
++ WARN_ON_ONCE(!preemptible() &&
++ (system_state > SYSTEM_BOOTING && system_state < SYSTEM_SUSPEND));
+
+ s = slab_pre_alloc_hook(s, gfpflags);
+ if (!s)
+@@ -3233,7 +3234,8 @@ int kmem_cache_alloc_bulk(struct kmem_ca
+ int i;
+
+ if (IS_ENABLED(CONFIG_PREEMPT_RT) && IS_ENABLED(CONFIG_DEBUG_ATOMIC_SLEEP))
+- WARN_ON_ONCE(!preemptible() && system_state >= SYSTEM_SCHEDULING);
++ WARN_ON_ONCE(!preemptible() &&
++ (system_state > SYSTEM_BOOTING && system_state < SYSTEM_SUSPEND));
+
+ /* memcg and kmem_cache debug support */
+ s = slab_pre_alloc_hook(s, flags);
diff --git a/debian/patches-rt/mm-Warn-on-memory-allocation-in-non-preemptible-cont.patch b/debian/patches-rt/mm-Warn-on-memory-allocation-in-non-preemptible-cont.patch
index 908a5e5fa0b2..e416eb0c39bf 100644
--- a/debian/patches-rt/mm-Warn-on-memory-allocation-in-non-preemptible-cont.patch
+++ b/debian/patches-rt/mm-Warn-on-memory-allocation-in-non-preemptible-cont.patch
@@ -2,7 +2,7 @@ From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Fri, 6 Mar 2020 15:59:06 +0100
Subject: [PATCH] mm: Warn on memory allocation in non-preemptible context on
RT
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
The memory allocation via kmalloc(, GFP_ATOMIC) in atomic context
(disabled preemption or interrupts) is not allowed on RT because the
@@ -22,7 +22,7 @@ Reviewed-by: Daniel Bristot de Oliveira <bristot@redhat.com>
--- a/mm/slub.c
+++ b/mm/slub.c
-@@ -2707,6 +2707,9 @@ static __always_inline void *slab_alloc_
+@@ -2767,6 +2767,9 @@ static __always_inline void *slab_alloc_
struct page *page;
unsigned long tid;
@@ -32,8 +32,8 @@ Reviewed-by: Daniel Bristot de Oliveira <bristot@redhat.com>
s = slab_pre_alloc_hook(s, gfpflags);
if (!s)
return NULL;
-@@ -3168,6 +3171,9 @@ int kmem_cache_alloc_bulk(struct kmem_ca
- struct kmem_cache_cpu *c;
+@@ -3229,6 +3232,9 @@ int kmem_cache_alloc_bulk(struct kmem_ca
+ LIST_HEAD(to_free);
int i;
+ if (IS_ENABLED(CONFIG_PREEMPT_RT) && IS_ENABLED(CONFIG_DEBUG_ATOMIC_SLEEP))
diff --git a/debian/patches-rt/mm-compaction-Disable-compact_unevictable_allowed-on.patch b/debian/patches-rt/mm-compaction-Disable-compact_unevictable_allowed-on.patch
index 0e029ae92a51..4e40e6b2a724 100644
--- a/debian/patches-rt/mm-compaction-Disable-compact_unevictable_allowed-on.patch
+++ b/debian/patches-rt/mm-compaction-Disable-compact_unevictable_allowed-on.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Fri, 8 Nov 2019 12:55:47 +0100
Subject: [PATCH] mm/compaction: Disable compact_unevictable_allowed on RT
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Since commit
5bbe3547aa3ba ("mm: allow compaction of unevictable pages")
diff --git a/debian/patches-rt/mm-compaction-Really-limit-compact_unevictable_allow.patch b/debian/patches-rt/mm-compaction-Really-limit-compact_unevictable_allow.patch
index e0bc0a1f4d18..140afdf1871c 100644
--- a/debian/patches-rt/mm-compaction-Really-limit-compact_unevictable_allow.patch
+++ b/debian/patches-rt/mm-compaction-Really-limit-compact_unevictable_allow.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] =?UTF-8?q?mm/compaction:=20Really=20limit=20compact=5Fune?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
The proc file `compact_unevictable_allowed' should allow 0 and 1 only,
the `extra*' attribues have been set properly but without
diff --git a/debian/patches-rt/mm-convert-swap-to-percpu-locked.patch b/debian/patches-rt/mm-convert-swap-to-percpu-locked.patch
index 3f620fe41410..a3191f78cba6 100644
--- a/debian/patches-rt/mm-convert-swap-to-percpu-locked.patch
+++ b/debian/patches-rt/mm-convert-swap-to-percpu-locked.patch
@@ -1,7 +1,7 @@
From: Ingo Molnar <mingo@elte.hu>
Date: Fri, 3 Jul 2009 08:29:51 -0500
Subject: mm/swap: Convert to percpu locked
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Replace global locks (get_cpu + local_irq_save) with "local_locks()".
Currently there is one of for "rotate" and one for "swap".
diff --git a/debian/patches-rt/mm-disable-sloub-rt.patch b/debian/patches-rt/mm-disable-sloub-rt.patch
index 6b1bd06fc271..47124e912678 100644
--- a/debian/patches-rt/mm-disable-sloub-rt.patch
+++ b/debian/patches-rt/mm-disable-sloub-rt.patch
@@ -1,7 +1,7 @@
From: Ingo Molnar <mingo@elte.hu>
Date: Fri, 3 Jul 2009 08:44:03 -0500
Subject: mm: Allow only SLUB on RT
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Memory allocation disables interrupts as part of the allocation and freeing
process. For -RT it is important that this section remain short and don't
diff --git a/debian/patches-rt/mm-enable-slub.patch b/debian/patches-rt/mm-enable-slub.patch
index fed25d469d2c..3d96a077e149 100644
--- a/debian/patches-rt/mm-enable-slub.patch
+++ b/debian/patches-rt/mm-enable-slub.patch
@@ -1,7 +1,7 @@
Subject: mm: Enable SLUB for RT
From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 25 Oct 2012 10:32:35 +0100
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Avoid the memory allocation in IRQ section
@@ -14,7 +14,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
--- a/mm/slub.c
+++ b/mm/slub.c
-@@ -3775,6 +3775,11 @@ static void list_slab_objects(struct kme
+@@ -3766,6 +3766,11 @@ static void list_slab_objects(struct kme
const char *text)
{
#ifdef CONFIG_SLUB_DEBUG
@@ -26,7 +26,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
void *addr = page_address(page);
void *p;
unsigned long *map;
-@@ -3794,6 +3799,7 @@ static void list_slab_objects(struct kme
+@@ -3785,6 +3790,7 @@ static void list_slab_objects(struct kme
slab_unlock(page);
#endif
diff --git a/debian/patches-rt/mm-make-vmstat-rt-aware.patch b/debian/patches-rt/mm-make-vmstat-rt-aware.patch
index 711f7b11b3c9..8d417d8b8100 100644
--- a/debian/patches-rt/mm-make-vmstat-rt-aware.patch
+++ b/debian/patches-rt/mm-make-vmstat-rt-aware.patch
@@ -1,7 +1,7 @@
From: Ingo Molnar <mingo@elte.hu>
Date: Fri, 3 Jul 2009 08:30:13 -0500
Subject: mm/vmstat: Protect per cpu variables with preempt disable on RT
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Disable preemption on -RT for the vmstat code. On vanila the code runs in
IRQ-off regions while on -RT it is not. "preempt_disable" ensures that the
diff --git a/debian/patches-rt/mm-memcontrol-Don-t-call-schedule_work_on-in-preempt.patch b/debian/patches-rt/mm-memcontrol-Don-t-call-schedule_work_on-in-preempt.patch
index b6365c9feccf..ad210f4c8897 100644
--- a/debian/patches-rt/mm-memcontrol-Don-t-call-schedule_work_on-in-preempt.patch
+++ b/debian/patches-rt/mm-memcontrol-Don-t-call-schedule_work_on-in-preempt.patch
@@ -1,7 +1,7 @@
From: Yang Shi <yang.shi@windriver.com>
Subject: mm/memcontrol: Don't call schedule_work_on in preemption disabled context
Date: Wed, 30 Oct 2013 11:48:33 -0700
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
The following trace is triggered when running ltp oom test cases:
diff --git a/debian/patches-rt/mm-memcontrol-do_not_disable_irq.patch b/debian/patches-rt/mm-memcontrol-do_not_disable_irq.patch
index 565c864474cd..38f68927bf1c 100644
--- a/debian/patches-rt/mm-memcontrol-do_not_disable_irq.patch
+++ b/debian/patches-rt/mm-memcontrol-do_not_disable_irq.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Subject: mm/memcontrol: Replace local_irq_disable with local locks
Date: Wed, 28 Jan 2015 17:14:16 +0100
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
There are a few local_irq_disable() which then take sleeping locks. This
patch converts them local locks.
@@ -32,7 +32,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
/* Whether legacy memory+swap accounting is active */
static bool do_memsw_account(void)
{
-@@ -5422,12 +5425,12 @@ static int mem_cgroup_move_account(struc
+@@ -5425,12 +5428,12 @@ static int mem_cgroup_move_account(struc
ret = 0;
@@ -47,7 +47,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
out_unlock:
unlock_page(page);
out:
-@@ -6491,10 +6494,10 @@ void mem_cgroup_commit_charge(struct pag
+@@ -6494,10 +6497,10 @@ void mem_cgroup_commit_charge(struct pag
commit_charge(page, memcg, lrucare);
@@ -60,7 +60,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
if (do_memsw_account() && PageSwapCache(page)) {
swp_entry_t entry = { .val = page_private(page) };
-@@ -6563,7 +6566,7 @@ static void uncharge_batch(const struct
+@@ -6566,7 +6569,7 @@ static void uncharge_batch(const struct
memcg_oom_recover(ug->memcg);
}
@@ -69,7 +69,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
__mod_memcg_state(ug->memcg, MEMCG_RSS, -ug->nr_anon);
__mod_memcg_state(ug->memcg, MEMCG_CACHE, -ug->nr_file);
__mod_memcg_state(ug->memcg, MEMCG_RSS_HUGE, -ug->nr_huge);
-@@ -6571,7 +6574,7 @@ static void uncharge_batch(const struct
+@@ -6574,7 +6577,7 @@ static void uncharge_batch(const struct
__count_memcg_events(ug->memcg, PGPGOUT, ug->pgpgout);
__this_cpu_add(ug->memcg->vmstats_percpu->nr_page_events, nr_pages);
memcg_check_events(ug->memcg, ug->dummy_page);
@@ -78,7 +78,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
if (!mem_cgroup_is_root(ug->memcg))
css_put_many(&ug->memcg->css, nr_pages);
-@@ -6732,11 +6735,11 @@ void mem_cgroup_migrate(struct page *old
+@@ -6735,11 +6738,11 @@ void mem_cgroup_migrate(struct page *old
commit_charge(newpage, memcg, false);
@@ -92,7 +92,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
}
DEFINE_STATIC_KEY_FALSE(memcg_sockets_enabled_key);
-@@ -6918,6 +6921,7 @@ void mem_cgroup_swapout(struct page *pag
+@@ -6921,6 +6924,7 @@ void mem_cgroup_swapout(struct page *pag
struct mem_cgroup *memcg, *swap_memcg;
unsigned int nr_entries;
unsigned short oldid;
@@ -100,7 +100,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
VM_BUG_ON_PAGE(PageLRU(page), page);
VM_BUG_ON_PAGE(page_count(page), page);
-@@ -6963,10 +6967,14 @@ void mem_cgroup_swapout(struct page *pag
+@@ -6966,10 +6970,14 @@ void mem_cgroup_swapout(struct page *pag
* important here to have the interrupts disabled because it is the
* only synchronisation we have for updating the per-CPU variables.
*/
diff --git a/debian/patches-rt/mm-page_alloc-rt-friendly-per-cpu-pages.patch b/debian/patches-rt/mm-page_alloc-rt-friendly-per-cpu-pages.patch
index cd74323a0fb5..5f97e8403788 100644
--- a/debian/patches-rt/mm-page_alloc-rt-friendly-per-cpu-pages.patch
+++ b/debian/patches-rt/mm-page_alloc-rt-friendly-per-cpu-pages.patch
@@ -1,7 +1,7 @@
From: Ingo Molnar <mingo@elte.hu>
Date: Fri, 3 Jul 2009 08:29:37 -0500
Subject: mm: page_alloc: rt-friendly per-cpu pages
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
rt-friendly per-cpu pages: convert the irqs-off per-cpu locking
method into a preemptible, explicit-per-cpu-locks method.
diff --git a/debian/patches-rt/mm-rt-kmap-atomic-scheduling.patch b/debian/patches-rt/mm-rt-kmap-atomic-scheduling.patch
index cd51ba78c980..88cddf4b6a21 100644
--- a/debian/patches-rt/mm-rt-kmap-atomic-scheduling.patch
+++ b/debian/patches-rt/mm-rt-kmap-atomic-scheduling.patch
@@ -1,7 +1,7 @@
Subject: mm, rt: kmap_atomic scheduling
From: Peter Zijlstra <peterz@infradead.org>
Date: Thu, 28 Jul 2011 10:43:51 +0200
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
In fact, with migrate_disable() existing one could play games with
kmap_atomic. You could save/restore the kmap_atomic slots on context
diff --git a/debian/patches-rt/mm-scatterlist-dont-disable-irqs-on-RT.patch b/debian/patches-rt/mm-scatterlist-dont-disable-irqs-on-RT.patch
index fd82e36367bd..e7f081f661b1 100644
--- a/debian/patches-rt/mm-scatterlist-dont-disable-irqs-on-RT.patch
+++ b/debian/patches-rt/mm-scatterlist-dont-disable-irqs-on-RT.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Fri, 3 Jul 2009 08:44:34 -0500
Subject: mm/scatterlist: Do not disable irqs on RT
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
For -RT it is enough to keep pagefault disabled (which is currently handled by
kmap_atomic()).
diff --git a/debian/patches-rt/mm-slub-Always-flush-the-delayed-empty-slubs-in-flus.patch b/debian/patches-rt/mm-slub-Always-flush-the-delayed-empty-slubs-in-flus.patch
new file mode 100644
index 000000000000..b8fefe0666ee
--- /dev/null
+++ b/debian/patches-rt/mm-slub-Always-flush-the-delayed-empty-slubs-in-flus.patch
@@ -0,0 +1,54 @@
+From: Kevin Hao <haokexin@gmail.com>
+Date: Mon, 4 May 2020 11:34:07 +0800
+Subject: [PATCH] mm: slub: Always flush the delayed empty slubs in flush_all()
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
+
+After commit f0b231101c94 ("mm/SLUB: delay giving back empty slubs to
+IRQ enabled regions"), when the free_slab() is invoked with the IRQ
+disabled, the empty slubs are moved to a per-CPU list and will be
+freed after IRQ enabled later. But in the current codes, there is
+a check to see if there really has the cpu slub on a specific cpu
+before flushing the delayed empty slubs, this may cause a reference
+of already released kmem_cache in a scenario like below:
+ cpu 0 cpu 1
+ kmem_cache_destroy()
+ flush_all()
+ --->IPI flush_cpu_slab()
+ flush_slab()
+ deactivate_slab()
+ discard_slab()
+ free_slab()
+ c->page = NULL;
+ for_each_online_cpu(cpu)
+ if (!has_cpu_slab(1, s))
+ continue
+ this skip to flush the delayed
+ empty slub released by cpu1
+ kmem_cache_free(kmem_cache, s)
+
+ kmalloc()
+ __slab_alloc()
+ free_delayed()
+ __free_slab()
+ reference to released kmem_cache
+
+Fixes: f0b231101c94 ("mm/SLUB: delay giving back empty slubs to IRQ enabled regions")
+Signed-off-by: Kevin Hao <haokexin@gmail.com>
+Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
+Cc: stable-rt@vger.kernel.org
+---
+ mm/slub.c | 3 ---
+ 1 file changed, 3 deletions(-)
+
+--- a/mm/slub.c
++++ b/mm/slub.c
+@@ -2394,9 +2394,6 @@ static void flush_all(struct kmem_cache
+ for_each_online_cpu(cpu) {
+ struct slub_free_list *f;
+
+- if (!has_cpu_slab(cpu, s))
+- continue;
+-
+ f = &per_cpu(slub_free_list, cpu);
+ raw_spin_lock_irq(&f->lock);
+ list_splice_init(&f->list, &tofree);
diff --git a/debian/patches-rt/mm-vmalloc-use-get-cpu-light.patch b/debian/patches-rt/mm-vmalloc-use-get-cpu-light.patch
index 57e994876365..43316ddd192d 100644
--- a/debian/patches-rt/mm-vmalloc-use-get-cpu-light.patch
+++ b/debian/patches-rt/mm-vmalloc-use-get-cpu-light.patch
@@ -1,7 +1,7 @@
Subject: mm/vmalloc: Another preempt disable region which sucks
From: Thomas Gleixner <tglx@linutronix.de>
Date: Tue, 12 Jul 2011 11:39:36 +0200
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Avoid the preempt disable version of get_cpu_var(). The inner-lock should
provide enough serialisation.
@@ -13,7 +13,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
--- a/mm/vmalloc.c
+++ b/mm/vmalloc.c
-@@ -1501,7 +1501,7 @@ static void *new_vmap_block(unsigned int
+@@ -1502,7 +1502,7 @@ static void *new_vmap_block(unsigned int
struct vmap_block *vb;
struct vmap_area *va;
unsigned long vb_idx;
@@ -22,7 +22,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
void *vaddr;
node = numa_node_id();
-@@ -1544,11 +1544,12 @@ static void *new_vmap_block(unsigned int
+@@ -1545,11 +1545,12 @@ static void *new_vmap_block(unsigned int
BUG_ON(err);
radix_tree_preload_end();
@@ -37,7 +37,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
return vaddr;
}
-@@ -1617,6 +1618,7 @@ static void *vb_alloc(unsigned long size
+@@ -1618,6 +1619,7 @@ static void *vb_alloc(unsigned long size
struct vmap_block *vb;
void *vaddr = NULL;
unsigned int order;
@@ -45,7 +45,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
BUG_ON(offset_in_page(size));
BUG_ON(size > PAGE_SIZE*VMAP_MAX_ALLOC);
-@@ -1631,7 +1633,8 @@ static void *vb_alloc(unsigned long size
+@@ -1632,7 +1634,8 @@ static void *vb_alloc(unsigned long size
order = get_order(size);
rcu_read_lock();
@@ -55,7 +55,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
list_for_each_entry_rcu(vb, &vbq->free, free_list) {
unsigned long pages_off;
-@@ -1654,7 +1657,7 @@ static void *vb_alloc(unsigned long size
+@@ -1655,7 +1658,7 @@ static void *vb_alloc(unsigned long size
break;
}
diff --git a/debian/patches-rt/mm-workingset-replace-IRQ-off-check-with-a-lockdep-a.patch b/debian/patches-rt/mm-workingset-replace-IRQ-off-check-with-a-lockdep-a.patch
index 8e2601bc1593..f0e9b797ae1a 100644
--- a/debian/patches-rt/mm-workingset-replace-IRQ-off-check-with-a-lockdep-a.patch
+++ b/debian/patches-rt/mm-workingset-replace-IRQ-off-check-with-a-lockdep-a.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Mon, 11 Feb 2019 10:40:46 +0100
Subject: [PATCH] mm: workingset: replace IRQ-off check with a lockdep assert.
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Commit
diff --git a/debian/patches-rt/mm-zswap-Do-not-disable-preemption-in-zswap_frontswa.patch b/debian/patches-rt/mm-zswap-Do-not-disable-preemption-in-zswap_frontswa.patch
index 091a659542a2..6b4b71d2678f 100644
--- a/debian/patches-rt/mm-zswap-Do-not-disable-preemption-in-zswap_frontswa.patch
+++ b/debian/patches-rt/mm-zswap-Do-not-disable-preemption-in-zswap_frontswa.patch
@@ -2,7 +2,7 @@ From: "Luis Claudio R. Goncalves" <lclaudio@uudg.org>
Date: Tue, 25 Jun 2019 11:28:04 -0300
Subject: [PATCH] mm/zswap: Do not disable preemption in
zswap_frontswap_store()
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Zswap causes "BUG: scheduling while atomic" by blocking on a rt_spin_lock() with
preemption disabled. The preemption is disabled by get_cpu_var() in
diff --git a/debian/patches-rt/mm_zsmalloc_copy_with_get_cpu_var_and_locking.patch b/debian/patches-rt/mm_zsmalloc_copy_with_get_cpu_var_and_locking.patch
index 2f630141fc07..6f11cb48e7b2 100644
--- a/debian/patches-rt/mm_zsmalloc_copy_with_get_cpu_var_and_locking.patch
+++ b/debian/patches-rt/mm_zsmalloc_copy_with_get_cpu_var_and_locking.patch
@@ -1,7 +1,7 @@
From: Mike Galbraith <umgwanakikbuti@gmail.com>
Date: Tue, 22 Mar 2016 11:16:09 +0100
Subject: [PATCH] mm/zsmalloc: copy with get_cpu_var() and locking
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
get_cpu_var() disables preemption and triggers a might_sleep() splat later.
This is replaced with get_locked_var().
diff --git a/debian/patches-rt/net-Qdisc-use-a-seqlock-instead-seqcount.patch b/debian/patches-rt/net-Qdisc-use-a-seqlock-instead-seqcount.patch
index 1adb4ff08394..2c0f1f85d977 100644
--- a/debian/patches-rt/net-Qdisc-use-a-seqlock-instead-seqcount.patch
+++ b/debian/patches-rt/net-Qdisc-use-a-seqlock-instead-seqcount.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Wed, 14 Sep 2016 17:36:35 +0200
Subject: [PATCH] net/Qdisc: use a seqlock instead seqcount
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
The seqcount disables preemption on -RT while it is held which can't
remove. Also we don't want the reader to spin for ages if the writer is
diff --git a/debian/patches-rt/net-core-use-local_bh_disable-in-netif_rx_ni.patch b/debian/patches-rt/net-core-use-local_bh_disable-in-netif_rx_ni.patch
index 5400aba82ca5..c1d522d29a3e 100644
--- a/debian/patches-rt/net-core-use-local_bh_disable-in-netif_rx_ni.patch
+++ b/debian/patches-rt/net-core-use-local_bh_disable-in-netif_rx_ni.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Fri, 16 Jun 2017 19:03:16 +0200
Subject: [PATCH] net/core: use local_bh_disable() in netif_rx_ni()
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
In 2004 netif_rx_ni() gained a preempt_disable() section around
netif_rx() and its do_softirq() + testing for it. The do_softirq() part
@@ -19,7 +19,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
--- a/net/core/dev.c
+++ b/net/core/dev.c
-@@ -4750,11 +4750,9 @@ int netif_rx_ni(struct sk_buff *skb)
+@@ -4751,11 +4751,9 @@ int netif_rx_ni(struct sk_buff *skb)
trace_netif_rx_ni_entry(skb);
diff --git a/debian/patches-rt/net-dev-always-take-qdisc-s-busylock-in-__dev_xmit_s.patch b/debian/patches-rt/net-dev-always-take-qdisc-s-busylock-in-__dev_xmit_s.patch
index c6693acbf89c..475ad3c675e6 100644
--- a/debian/patches-rt/net-dev-always-take-qdisc-s-busylock-in-__dev_xmit_s.patch
+++ b/debian/patches-rt/net-dev-always-take-qdisc-s-busylock-in-__dev_xmit_s.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Wed, 30 Mar 2016 13:36:29 +0200
Subject: [PATCH] net: dev: always take qdisc's busylock in __dev_xmit_skb()
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
The root-lock is dropped before dev_hard_start_xmit() is invoked and after
setting the __QDISC___STATE_RUNNING bit. If this task is now pushed away
diff --git a/debian/patches-rt/net-make-devnet_rename_seq-a-mutex.patch b/debian/patches-rt/net-make-devnet_rename_seq-a-mutex.patch
index 5b21f3be1034..d4ed917226cc 100644
--- a/debian/patches-rt/net-make-devnet_rename_seq-a-mutex.patch
+++ b/debian/patches-rt/net-make-devnet_rename_seq-a-mutex.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Wed, 20 Mar 2013 18:06:20 +0100
Subject: net: Add a mutex around devnet_rename_seq
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
On RT write_seqcount_begin() disables preemption and device_rename()
allocates memory with GFP_KERNEL and grabs later the sysfs_mutex
diff --git a/debian/patches-rt/net-use-cpu-chill.patch b/debian/patches-rt/net-use-cpu-chill.patch
index 36e5bb3cfe73..1bfd2ff17b81 100644
--- a/debian/patches-rt/net-use-cpu-chill.patch
+++ b/debian/patches-rt/net-use-cpu-chill.patch
@@ -1,7 +1,7 @@
Subject: net: Use cpu_chill() instead of cpu_relax()
From: Thomas Gleixner <tglx@linutronix.de>
Date: Wed, 07 Mar 2012 21:10:04 +0100
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Retry loops on RT might loop forever when the modifying side was
preempted. Use cpu_chill() instead of cpu_relax() to let the system
diff --git a/debian/patches-rt/net_disable_NET_RX_BUSY_POLL.patch b/debian/patches-rt/net_disable_NET_RX_BUSY_POLL.patch
index 76ae41154db3..ee50a69e5a9b 100644
--- a/debian/patches-rt/net_disable_NET_RX_BUSY_POLL.patch
+++ b/debian/patches-rt/net_disable_NET_RX_BUSY_POLL.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Sat, 27 May 2017 19:02:06 +0200
Subject: net/core: disable NET_RX_BUSY_POLL on RT
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
napi_busy_loop() disables preemption and performs a NAPI poll. We can't acquire
sleeping locks with disabled preemption so we would have to work around this
diff --git a/debian/patches-rt/oleg-signal-rt-fix.patch b/debian/patches-rt/oleg-signal-rt-fix.patch
index 9618ded4b262..6680292ca410 100644
--- a/debian/patches-rt/oleg-signal-rt-fix.patch
+++ b/debian/patches-rt/oleg-signal-rt-fix.patch
@@ -1,7 +1,7 @@
From: Oleg Nesterov <oleg@redhat.com>
Date: Tue, 14 Jul 2015 14:26:34 +0200
Subject: signal/x86: Delay calling signals in atomic
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
On x86_64 we must disable preemption before we enable interrupts
for stack faults, int3 and debugging, because the current task is using
diff --git a/debian/patches-rt/panic-disable-random-on-rt.patch b/debian/patches-rt/panic-disable-random-on-rt.patch
index 51497b547759..12549b5c9554 100644
--- a/debian/patches-rt/panic-disable-random-on-rt.patch
+++ b/debian/patches-rt/panic-disable-random-on-rt.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Tue, 14 Jul 2015 14:26:34 +0200
Subject: panic: skip get_random_bytes for RT_FULL in init_oops_id
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Disable on -RT. If this is invoked from irq-context we will have problems
to acquire the sleeping lock.
diff --git a/debian/patches-rt/pci-switchtec-Don-t-use-completion-s-wait-queue.patch b/debian/patches-rt/pci-switchtec-Don-t-use-completion-s-wait-queue.patch
index b6551e08efc9..53dd205931c8 100644
--- a/debian/patches-rt/pci-switchtec-Don-t-use-completion-s-wait-queue.patch
+++ b/debian/patches-rt/pci-switchtec-Don-t-use-completion-s-wait-queue.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Wed, 4 Oct 2017 10:24:23 +0200
Subject: [PATCH] pci/switchtec: Don't use completion's wait queue
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
The poll callback is using completion's wait_queue_head_t member and
puts it in poll_wait() so the poll() caller gets a wakeup after command
@@ -19,11 +19,9 @@ Cc: Kurt Schwemmer <kurt.schwemmer@microsemi.com>
Cc: Logan Gunthorpe <logang@deltatee.com>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
---
- drivers/pci/switch/switchtec.c | 22 +++++++++++++---------
+ drivers/pci/switch/switchtec.c | 22 +++++++++++++---------
1 file changed, 13 insertions(+), 9 deletions(-)
-diff --git a/drivers/pci/switch/switchtec.c b/drivers/pci/switch/switchtec.c
-index 81dc7ac01381..d4c94e73f7d6 100644
--- a/drivers/pci/switch/switchtec.c
+++ b/drivers/pci/switch/switchtec.c
@@ -52,10 +52,11 @@ struct switchtec_user {
@@ -39,7 +37,7 @@ index 81dc7ac01381..d4c94e73f7d6 100644
u32 cmd;
u32 status;
u32 return_code;
-@@ -77,7 +78,7 @@ static struct switchtec_user *stuser_create(struct switchtec_dev *stdev)
+@@ -77,7 +78,7 @@ static struct switchtec_user *stuser_cre
stuser->stdev = stdev;
kref_init(&stuser->kref);
INIT_LIST_HEAD(&stuser->list);
@@ -48,7 +46,7 @@ index 81dc7ac01381..d4c94e73f7d6 100644
stuser->event_cnt = atomic_read(&stdev->event_cnt);
dev_dbg(&stdev->dev, "%s: %p\n", __func__, stuser);
-@@ -175,7 +176,7 @@ static int mrpc_queue_cmd(struct switchtec_user *stuser)
+@@ -175,7 +176,7 @@ static int mrpc_queue_cmd(struct switcht
kref_get(&stuser->kref);
stuser->read_len = sizeof(stuser->data);
stuser_set_state(stuser, MRPC_QUEUED);
@@ -57,7 +55,7 @@ index 81dc7ac01381..d4c94e73f7d6 100644
list_add_tail(&stuser->list, &stdev->mrpc_queue);
mrpc_cmd_submit(stdev);
-@@ -222,7 +223,8 @@ static void mrpc_complete_cmd(struct switchtec_dev *stdev)
+@@ -222,7 +223,8 @@ static void mrpc_complete_cmd(struct swi
memcpy_fromio(stuser->data, &stdev->mmio_mrpc->output_data,
stuser->read_len);
out:
@@ -67,7 +65,7 @@ index 81dc7ac01381..d4c94e73f7d6 100644
list_del_init(&stuser->list);
stuser_put(stuser);
stdev->mrpc_busy = 0;
-@@ -529,10 +531,11 @@ static ssize_t switchtec_dev_read(struct file *filp, char __user *data,
+@@ -529,10 +531,11 @@ static ssize_t switchtec_dev_read(struct
mutex_unlock(&stdev->mrpc_mutex);
if (filp->f_flags & O_NONBLOCK) {
@@ -81,7 +79,7 @@ index 81dc7ac01381..d4c94e73f7d6 100644
if (rc < 0)
return rc;
}
-@@ -580,7 +583,7 @@ static __poll_t switchtec_dev_poll(struct file *filp, poll_table *wait)
+@@ -580,7 +583,7 @@ static __poll_t switchtec_dev_poll(struc
struct switchtec_dev *stdev = stuser->stdev;
__poll_t ret = 0;
@@ -90,7 +88,7 @@ index 81dc7ac01381..d4c94e73f7d6 100644
poll_wait(filp, &stdev->event_wq, wait);
if (lock_mutex_and_test_alive(stdev))
-@@ -588,7 +591,7 @@ static __poll_t switchtec_dev_poll(struct file *filp, poll_table *wait)
+@@ -588,7 +591,7 @@ static __poll_t switchtec_dev_poll(struc
mutex_unlock(&stdev->mrpc_mutex);
@@ -99,7 +97,7 @@ index 81dc7ac01381..d4c94e73f7d6 100644
ret |= EPOLLIN | EPOLLRDNORM;
if (stuser->event_cnt != atomic_read(&stdev->event_cnt))
-@@ -1272,7 +1275,8 @@ static void stdev_kill(struct switchtec_dev *stdev)
+@@ -1272,7 +1275,8 @@ static void stdev_kill(struct switchtec_
/* Wake up and kill any users waiting on an MRPC request */
list_for_each_entry_safe(stuser, tmpuser, &stdev->mrpc_queue, list) {
diff --git a/debian/patches-rt/pid.h-include-atomic.h.patch b/debian/patches-rt/pid.h-include-atomic.h.patch
index e2f1365efe51..81ce2adbd923 100644
--- a/debian/patches-rt/pid.h-include-atomic.h.patch
+++ b/debian/patches-rt/pid.h-include-atomic.h.patch
@@ -1,7 +1,7 @@
From: Grygorii Strashko <Grygorii.Strashko@linaro.org>
Date: Tue, 21 Jul 2015 19:43:56 +0300
Subject: pid.h: include atomic.h
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
This patch fixes build error:
CC kernel/pid_namespace.o
diff --git a/debian/patches-rt/posix-timers-expiry-lock.patch b/debian/patches-rt/posix-timers-expiry-lock.patch
index 74415344ccbd..8a473a721a77 100644
--- a/debian/patches-rt/posix-timers-expiry-lock.patch
+++ b/debian/patches-rt/posix-timers-expiry-lock.patch
@@ -4,7 +4,7 @@ Subject: [PATCH] posix-timers: Add expiry lock
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
If a about to be removed posix timer is active then the code will retry the
delete operation until it succeeds / the timer callback completes.
diff --git a/debian/patches-rt/posix-timers-thread-posix-cpu-timers-on-rt.patch b/debian/patches-rt/posix-timers-thread-posix-cpu-timers-on-rt.patch
index b55ad729acca..aafe9206848c 100644
--- a/debian/patches-rt/posix-timers-thread-posix-cpu-timers-on-rt.patch
+++ b/debian/patches-rt/posix-timers-thread-posix-cpu-timers-on-rt.patch
@@ -1,7 +1,7 @@
From: John Stultz <johnstul@us.ibm.com>
Date: Fri, 3 Jul 2009 08:29:58 -0500
Subject: posix-timers: Thread posix-cpu-timers on -rt
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
posix-cpu-timer code takes non -rt safe locks in hard irq
context. Move it to a thread.
diff --git a/debian/patches-rt/power-disable-highmem-on-rt.patch b/debian/patches-rt/power-disable-highmem-on-rt.patch
index e991b74e40b8..066153bbced6 100644
--- a/debian/patches-rt/power-disable-highmem-on-rt.patch
+++ b/debian/patches-rt/power-disable-highmem-on-rt.patch
@@ -1,7 +1,7 @@
Subject: powerpc: Disable highmem on RT
From: Thomas Gleixner <tglx@linutronix.de>
Date: Mon, 18 Jul 2011 17:08:34 +0200
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
The current highmem handling on -RT is not compatible and needs fixups.
diff --git a/debian/patches-rt/powerpc-kvm-Disable-in-kernel-MPIC-emulation-for-PRE.patch b/debian/patches-rt/powerpc-kvm-Disable-in-kernel-MPIC-emulation-for-PRE.patch
index 72471f025bf3..0856650814fa 100644
--- a/debian/patches-rt/powerpc-kvm-Disable-in-kernel-MPIC-emulation-for-PRE.patch
+++ b/debian/patches-rt/powerpc-kvm-Disable-in-kernel-MPIC-emulation-for-PRE.patch
@@ -1,7 +1,7 @@
From: Bogdan Purcareata <bogdan.purcareata@freescale.com>
Date: Fri, 24 Apr 2015 15:53:13 +0000
Subject: powerpc/kvm: Disable in-kernel MPIC emulation for PREEMPT_RT
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
While converting the openpic emulation code to use a raw_spinlock_t enables
guests to run on RT, there's still a performance issue. For interrupts sent in
diff --git a/debian/patches-rt/powerpc-preempt-lazy-support.patch b/debian/patches-rt/powerpc-preempt-lazy-support.patch
index c69d4bd61b46..410932fca8c5 100644
--- a/debian/patches-rt/powerpc-preempt-lazy-support.patch
+++ b/debian/patches-rt/powerpc-preempt-lazy-support.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 1 Nov 2012 10:14:11 +0100
Subject: powerpc: Add support for lazy preemption
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Implement the powerpc pieces for lazy preempt.
diff --git a/debian/patches-rt/powerpc-pseries-iommu-Use-a-locallock-instead-local_ir.patch b/debian/patches-rt/powerpc-pseries-iommu-Use-a-locallock-instead-local_ir.patch
index 24eadf97795c..ac4ec8cc31b4 100644
--- a/debian/patches-rt/powerpc-pseries-iommu-Use-a-locallock-instead-local_ir.patch
+++ b/debian/patches-rt/powerpc-pseries-iommu-Use-a-locallock-instead-local_ir.patch
@@ -2,7 +2,7 @@ From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Tue, 26 Mar 2019 18:31:54 +0100
Subject: [PATCH] powerpc/pseries/iommu: Use a locallock instead
local_irq_save()
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
The locallock protects the per-CPU variable tce_page. The function
attempts to allocate memory while tce_page is protected (by disabling
diff --git a/debian/patches-rt/powerpc-stackprotector-work-around-stack-guard-init-.patch b/debian/patches-rt/powerpc-stackprotector-work-around-stack-guard-init-.patch
index 10b5d0209016..d7d33410da13 100644
--- a/debian/patches-rt/powerpc-stackprotector-work-around-stack-guard-init-.patch
+++ b/debian/patches-rt/powerpc-stackprotector-work-around-stack-guard-init-.patch
@@ -2,7 +2,7 @@ From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Tue, 26 Mar 2019 18:31:29 +0100
Subject: [PATCH ] powerpc/stackprotector: work around stack-guard init from
atomic
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
This is invoked from the secondary CPU in atomic context. On x86 we use
tsc instead. On Power we XOR it against mftb() so lets use stack address
diff --git a/debian/patches-rt/preempt-lazy-support.patch b/debian/patches-rt/preempt-lazy-support.patch
index 44b2f784ba8a..04423235a3f5 100644
--- a/debian/patches-rt/preempt-lazy-support.patch
+++ b/debian/patches-rt/preempt-lazy-support.patch
@@ -1,7 +1,7 @@
Subject: sched: Add support for lazy preemption
From: Thomas Gleixner <tglx@linutronix.de>
Date: Fri, 26 Oct 2012 18:50:54 +0100
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
It has become an obsession to mitigate the determinism vs. throughput
loss of RT. Looking at the mainline semantics of preemption points
@@ -283,7 +283,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
void resched_cpu(int cpu)
{
struct rq *rq = cpu_rq(cpu);
-@@ -2998,6 +3040,9 @@ int sched_fork(unsigned long clone_flags
+@@ -2993,6 +3035,9 @@ int sched_fork(unsigned long clone_flags
p->on_cpu = 0;
#endif
init_task_preempt_count(p);
@@ -293,7 +293,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
#ifdef CONFIG_SMP
plist_node_init(&p->pushable_tasks, MAX_PRIO);
RB_CLEAR_NODE(&p->pushable_dl_tasks);
-@@ -4141,6 +4186,7 @@ static void __sched notrace __schedule(b
+@@ -4135,6 +4180,7 @@ static void __sched notrace __schedule(b
next = pick_next_task(rq, prev, &rf);
clear_tsk_need_resched(prev);
@@ -301,7 +301,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
clear_preempt_need_resched();
if (likely(prev != next)) {
-@@ -4335,6 +4381,30 @@ static void __sched notrace preempt_sche
+@@ -4329,6 +4375,30 @@ static void __sched notrace preempt_sche
} while (need_resched());
}
@@ -332,7 +332,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
#ifdef CONFIG_PREEMPTION
/*
* This is the entry point to schedule() from in-kernel preemption
-@@ -4348,7 +4418,8 @@ asmlinkage __visible void __sched notrac
+@@ -4342,7 +4412,8 @@ asmlinkage __visible void __sched notrac
*/
if (likely(!preemptible()))
return;
@@ -342,7 +342,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
preempt_schedule_common();
}
NOKPROBE_SYMBOL(preempt_schedule);
-@@ -4375,6 +4446,9 @@ asmlinkage __visible void __sched notrac
+@@ -4369,6 +4440,9 @@ asmlinkage __visible void __sched notrac
if (likely(!preemptible()))
return;
@@ -352,7 +352,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
do {
/*
* Because the function tracer can trace preempt_count_sub()
-@@ -6164,7 +6238,9 @@ void init_idle(struct task_struct *idle,
+@@ -6158,7 +6232,9 @@ void init_idle(struct task_struct *idle,
/* Set the preempt count _outside_ the spinlocks! */
init_idle_preempt_count(idle, cpu);
@@ -363,7 +363,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
/*
* The idle tasks have their own, simple scheduling class:
*/
-@@ -8114,6 +8190,7 @@ void migrate_disable(void)
+@@ -8108,6 +8184,7 @@ void migrate_disable(void)
if (++current->migrate_disable == 1) {
this_rq()->nr_pinned++;
@@ -371,7 +371,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
#ifdef CONFIG_SCHED_DEBUG
WARN_ON_ONCE(current->pinned_on_cpu >= 0);
current->pinned_on_cpu = smp_processor_id();
-@@ -8195,6 +8272,7 @@ void migrate_enable(void)
+@@ -8189,6 +8266,7 @@ void migrate_enable(void)
}
out:
@@ -381,7 +381,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
EXPORT_SYMBOL(migrate_enable);
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
-@@ -4153,7 +4153,7 @@ check_preempt_tick(struct cfs_rq *cfs_rq
+@@ -4160,7 +4160,7 @@ check_preempt_tick(struct cfs_rq *cfs_rq
ideal_runtime = sched_slice(cfs_rq, curr);
delta_exec = curr->sum_exec_runtime - curr->prev_sum_exec_runtime;
if (delta_exec > ideal_runtime) {
@@ -390,7 +390,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
/*
* The current task ran long enough, ensure it doesn't get
* re-elected due to buddy favours.
-@@ -4177,7 +4177,7 @@ check_preempt_tick(struct cfs_rq *cfs_rq
+@@ -4184,7 +4184,7 @@ check_preempt_tick(struct cfs_rq *cfs_rq
return;
if (delta > ideal_runtime)
@@ -399,7 +399,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
}
static void
-@@ -4320,7 +4320,7 @@ entity_tick(struct cfs_rq *cfs_rq, struc
+@@ -4327,7 +4327,7 @@ entity_tick(struct cfs_rq *cfs_rq, struc
* validating it and just reschedule.
*/
if (queued) {
@@ -408,7 +408,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
return;
}
/*
-@@ -4445,7 +4445,7 @@ static void __account_cfs_rq_runtime(str
+@@ -4452,7 +4452,7 @@ static void __account_cfs_rq_runtime(str
* hierarchy can be throttled
*/
if (!assign_cfs_rq_runtime(cfs_rq) && likely(cfs_rq->curr))
@@ -417,7 +417,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
}
static __always_inline
-@@ -5158,7 +5158,7 @@ static void hrtick_start_fair(struct rq
+@@ -5176,7 +5176,7 @@ static void hrtick_start_fair(struct rq
if (delta < 0) {
if (rq->curr == p)
@@ -426,7 +426,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
return;
}
hrtick_start(rq, delta);
-@@ -6662,7 +6662,7 @@ static void check_preempt_wakeup(struct
+@@ -6680,7 +6680,7 @@ static void check_preempt_wakeup(struct
return;
preempt:
@@ -435,7 +435,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
/*
* Only set the backward buddy when the current task is still
* on the rq. This can happen when a wakeup gets interleaved
-@@ -10360,7 +10360,7 @@ static void task_fork_fair(struct task_s
+@@ -10379,7 +10379,7 @@ static void task_fork_fair(struct task_s
* 'current' within the tree based on its new key value.
*/
swap(curr->vruntime, se->vruntime);
@@ -444,7 +444,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
}
se->vruntime -= cfs_rq->min_vruntime;
-@@ -10387,7 +10387,7 @@ prio_changed_fair(struct rq *rq, struct
+@@ -10406,7 +10406,7 @@ prio_changed_fair(struct rq *rq, struct
*/
if (rq->curr == p) {
if (p->prio > oldprio)
@@ -467,7 +467,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
/*
--- a/kernel/sched/sched.h
+++ b/kernel/sched/sched.h
-@@ -1867,6 +1867,15 @@ extern void reweight_task(struct task_st
+@@ -1873,6 +1873,15 @@ extern void reweight_task(struct task_st
extern void resched_curr(struct rq *rq);
extern void resched_cpu(int cpu);
diff --git a/debian/patches-rt/preempt-nort-rt-variants.patch b/debian/patches-rt/preempt-nort-rt-variants.patch
index 0c6e86b5b296..382e0614b4c0 100644
--- a/debian/patches-rt/preempt-nort-rt-variants.patch
+++ b/debian/patches-rt/preempt-nort-rt-variants.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Fri, 24 Jul 2009 12:38:56 +0200
Subject: preempt: Provide preempt_*_(no)rt variants
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
RT needs a few preempt_disable/enable points which are not necessary
otherwise. Implement variants to avoid #ifdeffery.
diff --git a/debian/patches-rt/printk-console-must-not-schedule-for-drivers.patch b/debian/patches-rt/printk-console-must-not-schedule-for-drivers.patch
index 0cc68c306bd6..cf4f61991d63 100644
--- a/debian/patches-rt/printk-console-must-not-schedule-for-drivers.patch
+++ b/debian/patches-rt/printk-console-must-not-schedule-for-drivers.patch
@@ -1,7 +1,7 @@
From: John Ogness <john.ogness@linutronix.de>
Date: Mon, 6 Apr 2020 23:22:17 +0200
Subject: [PATCH] printk: console must not schedule for drivers
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Even though the printk kthread is always preemptible, it is still not
allowed to call cond_resched() from within console drivers. The
@@ -35,7 +35,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
--- a/kernel/printk/printk.c
+++ b/kernel/printk/printk.c
-@@ -3028,6 +3028,7 @@ static int printk_kthread_func(void *dat
+@@ -3059,6 +3059,7 @@ static int printk_kthread_func(void *dat
&len, printk_time);
console_lock();
diff --git a/debian/patches-rt/printk-devkmsg-llseek-reset-clear-if-it-is-lost.patch b/debian/patches-rt/printk-devkmsg-llseek-reset-clear-if-it-is-lost.patch
index 1e5567109035..99e6814f683e 100644
--- a/debian/patches-rt/printk-devkmsg-llseek-reset-clear-if-it-is-lost.patch
+++ b/debian/patches-rt/printk-devkmsg-llseek-reset-clear-if-it-is-lost.patch
@@ -1,7 +1,7 @@
From: John Ogness <john.ogness@linutronix.de>
Date: Fri, 22 Feb 2019 23:02:44 +0100
Subject: [PATCH] printk: devkmsg: llseek: reset clear if it is lost
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
SEEK_DATA will seek to the last clear record. If this clear record
is no longer in the ring buffer, devkmsg_llseek() will go into an
diff --git a/debian/patches-rt/printk-devkmsg-read-Return-EPIPE-when-the-first-mess.patch b/debian/patches-rt/printk-devkmsg-read-Return-EPIPE-when-the-first-mess.patch
index c7255c202623..74f0eea111e2 100644
--- a/debian/patches-rt/printk-devkmsg-read-Return-EPIPE-when-the-first-mess.patch
+++ b/debian/patches-rt/printk-devkmsg-read-Return-EPIPE-when-the-first-mess.patch
@@ -2,7 +2,7 @@ From: He Zhe <zhe.he@windriver.com>
Date: Tue, 24 Sep 2019 15:26:39 +0800
Subject: [PATCH] printk: devkmsg: read: Return EPIPE when the first
message user-space wants has gone
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
When user-space wants to read the first message, that is when user->seq
is 0, and that message has gone, it currently automatically resets
diff --git a/debian/patches-rt/printk-hack-out-emergency-loglevel-usage.patch b/debian/patches-rt/printk-hack-out-emergency-loglevel-usage.patch
index e8ea9afe2df5..789e8408946c 100644
--- a/debian/patches-rt/printk-hack-out-emergency-loglevel-usage.patch
+++ b/debian/patches-rt/printk-hack-out-emergency-loglevel-usage.patch
@@ -1,7 +1,7 @@
From: John Ogness <john.ogness@linutronix.de>
Date: Tue, 3 Dec 2019 09:14:57 +0100
Subject: [PATCH] printk: hack out emergency loglevel usage
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Instead of using an emergency loglevel to determine if atomic
messages should be printed, use oops_in_progress. This conforms
diff --git a/debian/patches-rt/printk-handle-iterating-while-buffer-changing.patch b/debian/patches-rt/printk-handle-iterating-while-buffer-changing.patch
index 62b93cfaafbe..cd3237990534 100644
--- a/debian/patches-rt/printk-handle-iterating-while-buffer-changing.patch
+++ b/debian/patches-rt/printk-handle-iterating-while-buffer-changing.patch
@@ -1,7 +1,7 @@
From: John Ogness <john.ogness@linutronix.de>
Date: Mon, 7 Oct 2019 16:20:39 +0200
Subject: [PATCH] printk: handle iterating while buffer changing
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
The syslog and kmsg_dump readers are provided buffers to fill.
Both try to maximize the provided buffer usage by calculating the
diff --git a/debian/patches-rt/printk-kmsg_dump-remove-mutex-usage.patch b/debian/patches-rt/printk-kmsg_dump-remove-mutex-usage.patch
index 87f72d8c1d59..c9ed72c6996e 100644
--- a/debian/patches-rt/printk-kmsg_dump-remove-mutex-usage.patch
+++ b/debian/patches-rt/printk-kmsg_dump-remove-mutex-usage.patch
@@ -1,7 +1,7 @@
From: John Ogness <john.ogness@linutronix.de>
Date: Wed, 24 Apr 2019 16:36:04 +0200
Subject: [PATCH] printk: kmsg_dump: remove mutex usage
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
The kmsg dumper can be called from any context, but the dumping
helpers were using a mutex to synchronize the iterator against
diff --git a/debian/patches-rt/printk-only-allow-kernel-to-emergency-message.patch b/debian/patches-rt/printk-only-allow-kernel-to-emergency-message.patch
index 7ade2d1f7dc4..9fcb40aacbfb 100644
--- a/debian/patches-rt/printk-only-allow-kernel-to-emergency-message.patch
+++ b/debian/patches-rt/printk-only-allow-kernel-to-emergency-message.patch
@@ -1,7 +1,7 @@
From: John Ogness <john.ogness@linutronix.de>
Date: Sun, 17 Feb 2019 03:11:20 +0100
Subject: [PATCH] printk: only allow kernel to emergency message
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Emergency messages exist as a mechanism for the kernel to
communicate critical information to users. It is not meant for
diff --git a/debian/patches-rt/printk-print-rate-limitted-message-as-info.patch b/debian/patches-rt/printk-print-rate-limitted-message-as-info.patch
index e0ec7222a463..95357d0287c2 100644
--- a/debian/patches-rt/printk-print-rate-limitted-message-as-info.patch
+++ b/debian/patches-rt/printk-print-rate-limitted-message-as-info.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Fri, 22 Feb 2019 12:47:13 +0100
Subject: [PATCH] printk: print "rate-limitted" message as info
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
If messages which are injected via kmsg are dropped then they don't need
to be printed as warnings. This is to avoid latency spikes if the
diff --git a/debian/patches-rt/printk-set-deferred-to-default-loglevel-enforce-mask.patch b/debian/patches-rt/printk-set-deferred-to-default-loglevel-enforce-mask.patch
index 0b7b35bd6a2a..d9661d23ea1e 100644
--- a/debian/patches-rt/printk-set-deferred-to-default-loglevel-enforce-mask.patch
+++ b/debian/patches-rt/printk-set-deferred-to-default-loglevel-enforce-mask.patch
@@ -1,7 +1,7 @@
From: John Ogness <john.ogness@linutronix.de>
Date: Thu, 14 Feb 2019 23:13:30 +0100
Subject: [PATCH] printk: set deferred to default loglevel, enforce mask
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
All messages printed via vpritnk_deferred() were being
automatically treated as emergency messages.
diff --git a/debian/patches-rt/ptrace-fix-ptrace-vs-tasklist_lock-race.patch b/debian/patches-rt/ptrace-fix-ptrace-vs-tasklist_lock-race.patch
index d470456b2685..887ef5defd37 100644
--- a/debian/patches-rt/ptrace-fix-ptrace-vs-tasklist_lock-race.patch
+++ b/debian/patches-rt/ptrace-fix-ptrace-vs-tasklist_lock-race.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Thu, 29 Aug 2013 18:21:04 +0200
Subject: ptrace: fix ptrace vs tasklist_lock race
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
As explained by Alexander Fyodorov <halcy@yandex.ru>:
@@ -116,7 +116,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
spin_unlock_irq(&task->sighand->siglock);
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
-@@ -1895,6 +1895,18 @@ int migrate_swap(struct task_struct *cur
+@@ -1890,6 +1890,18 @@ int migrate_swap(struct task_struct *cur
}
#endif /* CONFIG_NUMA_BALANCING */
@@ -135,7 +135,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
/*
* wait_task_inactive - wait for a thread to unschedule.
*
-@@ -1939,7 +1951,7 @@ unsigned long wait_task_inactive(struct
+@@ -1934,7 +1946,7 @@ unsigned long wait_task_inactive(struct
* is actually now running somewhere else!
*/
while (task_running(rq, p)) {
@@ -144,7 +144,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
return 0;
cpu_relax();
}
-@@ -1954,7 +1966,8 @@ unsigned long wait_task_inactive(struct
+@@ -1949,7 +1961,8 @@ unsigned long wait_task_inactive(struct
running = task_running(rq, p);
queued = task_on_rq_queued(p);
ncsw = 0;
diff --git a/debian/patches-rt/radix-tree-use-local-locks.patch b/debian/patches-rt/radix-tree-use-local-locks.patch
index 54ec51cbd7b4..3e884feaa456 100644
--- a/debian/patches-rt/radix-tree-use-local-locks.patch
+++ b/debian/patches-rt/radix-tree-use-local-locks.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Wed, 25 Jan 2017 16:34:27 +0100
Subject: [PATCH] radix-tree: use local locks
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
The preload functionality uses per-CPU variables and preempt-disable to
ensure that it does not switch CPUs during its usage. This patch adds
diff --git a/debian/patches-rt/random-make-it-work-on-rt.patch b/debian/patches-rt/random-make-it-work-on-rt.patch
index 98841ee9a2a7..8e04cca82e01 100644
--- a/debian/patches-rt/random-make-it-work-on-rt.patch
+++ b/debian/patches-rt/random-make-it-work-on-rt.patch
@@ -1,7 +1,7 @@
Subject: random: Make it work on rt
From: Thomas Gleixner <tglx@linutronix.de>
Date: Tue, 21 Aug 2012 20:38:50 +0200
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Delegate the random insertion to the forced threaded interrupt
handler. Store the return IP of the hard interrupt handler in the irq
@@ -94,7 +94,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
#include <asm/mshyperv.h>
#include <linux/delay.h>
-@@ -1205,6 +1206,8 @@ static void vmbus_isr(void)
+@@ -1233,6 +1234,8 @@ static void vmbus_isr(void)
void *page_addr = hv_cpu->synic_event_page;
struct hv_message *msg;
union hv_synic_event_flags *event;
@@ -103,7 +103,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
bool handled = false;
if (unlikely(page_addr == NULL))
-@@ -1249,7 +1252,7 @@ static void vmbus_isr(void)
+@@ -1277,7 +1280,7 @@ static void vmbus_isr(void)
tasklet_schedule(&hv_cpu->msg_dpc);
}
diff --git a/debian/patches-rt/rcu-Use-a-raw_spinlock_t-for-kfree-batching.patch b/debian/patches-rt/rcu-Use-a-raw_spinlock_t-for-kfree-batching.patch
index 80bb9a773a1e..a1eccb24d815 100644
--- a/debian/patches-rt/rcu-Use-a-raw_spinlock_t-for-kfree-batching.patch
+++ b/debian/patches-rt/rcu-Use-a-raw_spinlock_t-for-kfree-batching.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Fri, 14 Feb 2020 18:51:43 +0100
Subject: [PATCH] rcu: Use a raw_spinlock_t for kfree batching
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
---
@@ -100,7 +100,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
}
}
-@@ -3768,7 +3768,7 @@ static void __init kfree_rcu_batch_init(
+@@ -3780,7 +3780,7 @@ static void __init kfree_rcu_batch_init(
for_each_possible_cpu(cpu) {
struct kfree_rcu_cpu *krcp = per_cpu_ptr(&krc, cpu);
diff --git a/debian/patches-rt/rcu-Use-rcuc-threads-on-PREEMPT_RT-as-we-did.patch b/debian/patches-rt/rcu-Use-rcuc-threads-on-PREEMPT_RT-as-we-did.patch
index 5f5f81e727a4..5bf219b6f451 100644
--- a/debian/patches-rt/rcu-Use-rcuc-threads-on-PREEMPT_RT-as-we-did.patch
+++ b/debian/patches-rt/rcu-Use-rcuc-threads-on-PREEMPT_RT-as-we-did.patch
@@ -1,7 +1,7 @@
From: Scott Wood <swood@redhat.com>
Date: Wed, 11 Sep 2019 17:57:28 +0100
Subject: [PATCH] rcu: Use rcuc threads on PREEMPT_RT as we did
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
While switching to the reworked RCU-thread code, it has been forgotten
to enable the thread processing on -RT.
diff --git a/debian/patches-rt/rcu-enable-rcu_normal_after_boot-by-default-for-RT.patch b/debian/patches-rt/rcu-enable-rcu_normal_after_boot-by-default-for-RT.patch
index a5fa9e80d9ca..af51823c3f0f 100644
--- a/debian/patches-rt/rcu-enable-rcu_normal_after_boot-by-default-for-RT.patch
+++ b/debian/patches-rt/rcu-enable-rcu_normal_after_boot-by-default-for-RT.patch
@@ -1,7 +1,7 @@
From: Julia Cartwright <julia@ni.com>
Date: Wed, 12 Oct 2016 11:21:14 -0500
Subject: [PATCH] rcu: enable rcu_normal_after_boot by default for RT
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
The forcing of an expedited grace period is an expensive and very
RT-application unfriendly operation, as it forcibly preempts all running
diff --git a/debian/patches-rt/rcu-make-RCU_BOOST-default-on-RT.patch b/debian/patches-rt/rcu-make-RCU_BOOST-default-on-RT.patch
index ec281a3fdf62..7fde92729b19 100644
--- a/debian/patches-rt/rcu-make-RCU_BOOST-default-on-RT.patch
+++ b/debian/patches-rt/rcu-make-RCU_BOOST-default-on-RT.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Fri, 21 Mar 2014 20:19:05 +0100
Subject: rcu: make RCU_BOOST default on RT
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Since it is no longer invoked from the softirq people run into OOM more
often if the priority of the RCU thread is too low. Making boosting
diff --git a/debian/patches-rt/rcutorture-Avoid-problematic-critical-section-nestin.patch b/debian/patches-rt/rcutorture-Avoid-problematic-critical-section-nestin.patch
index a3d248558df9..ddad99f25c48 100644
--- a/debian/patches-rt/rcutorture-Avoid-problematic-critical-section-nestin.patch
+++ b/debian/patches-rt/rcutorture-Avoid-problematic-critical-section-nestin.patch
@@ -2,7 +2,7 @@ From: Scott Wood <swood@redhat.com>
Date: Wed, 11 Sep 2019 17:57:29 +0100
Subject: [PATCH] rcutorture: Avoid problematic critical section nesting
on RT
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
rcutorture was generating some nesting scenarios that are not
reasonable. Constrain the state selection to avoid them.
diff --git a/debian/patches-rt/rt-introduce-cpu-chill.patch b/debian/patches-rt/rt-introduce-cpu-chill.patch
index 462b3527ccd3..23254649cc40 100644
--- a/debian/patches-rt/rt-introduce-cpu-chill.patch
+++ b/debian/patches-rt/rt-introduce-cpu-chill.patch
@@ -1,7 +1,7 @@
Subject: rt: Introduce cpu_chill()
From: Thomas Gleixner <tglx@linutronix.de>
Date: Wed, 07 Mar 2012 20:51:03 +0100
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Retry loops on RT might loop forever when the modifying side was
preempted. Add cpu_chill() to replace cpu_relax(). cpu_chill()
diff --git a/debian/patches-rt/rt-local-irq-lock.patch b/debian/patches-rt/rt-local-irq-lock.patch
index a250e57586a3..83a6eeac1703 100644
--- a/debian/patches-rt/rt-local-irq-lock.patch
+++ b/debian/patches-rt/rt-local-irq-lock.patch
@@ -1,7 +1,7 @@
Subject: rt: Add local irq locks
From: Thomas Gleixner <tglx@linutronix.de>
Date: Mon, 20 Jun 2011 09:03:47 +0200
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Introduce locallock. For !RT this maps to preempt_disable()/
local_irq_disable() so there is not much that changes. For RT this will
diff --git a/debian/patches-rt/rt-serial-warn-fix.patch b/debian/patches-rt/rt-serial-warn-fix.patch
index 966a75d3f5e4..59aa6d0e84fe 100644
--- a/debian/patches-rt/rt-serial-warn-fix.patch
+++ b/debian/patches-rt/rt-serial-warn-fix.patch
@@ -1,7 +1,7 @@
Subject: rt: Improve the serial console PASS_LIMIT
From: Ingo Molnar <mingo@elte.hu>
Date: Wed Dec 14 13:05:54 CET 2011
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Beyond the warning:
diff --git a/debian/patches-rt/rtmutex-Make-lock_killable-work.patch b/debian/patches-rt/rtmutex-Make-lock_killable-work.patch
index e8bd21a4f9ed..d923331cae48 100644
--- a/debian/patches-rt/rtmutex-Make-lock_killable-work.patch
+++ b/debian/patches-rt/rtmutex-Make-lock_killable-work.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Sat, 1 Apr 2017 12:50:59 +0200
Subject: [PATCH] rtmutex: Make lock_killable work
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Locking an rt mutex killable does not work because signal handling is
restricted to TASK_INTERRUPTIBLE.
diff --git a/debian/patches-rt/rtmutex-Provide-rt_mutex_slowlock_locked.patch b/debian/patches-rt/rtmutex-Provide-rt_mutex_slowlock_locked.patch
index ea1d940c158a..0b2b0b01446f 100644
--- a/debian/patches-rt/rtmutex-Provide-rt_mutex_slowlock_locked.patch
+++ b/debian/patches-rt/rtmutex-Provide-rt_mutex_slowlock_locked.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 12 Oct 2017 16:14:22 +0200
Subject: rtmutex: Provide rt_mutex_slowlock_locked()
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
This is the inner-part of rt_mutex_slowlock(), required for rwsem-rt.
diff --git a/debian/patches-rt/rtmutex-add-mutex-implementation-based-on-rtmutex.patch b/debian/patches-rt/rtmutex-add-mutex-implementation-based-on-rtmutex.patch
index b7efd5dc0d0d..b33aa7bad2c0 100644
--- a/debian/patches-rt/rtmutex-add-mutex-implementation-based-on-rtmutex.patch
+++ b/debian/patches-rt/rtmutex-add-mutex-implementation-based-on-rtmutex.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 12 Oct 2017 17:17:03 +0200
Subject: rtmutex: add mutex implementation based on rtmutex
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
diff --git a/debian/patches-rt/rtmutex-add-rwlock-implementation-based-on-rtmutex.patch b/debian/patches-rt/rtmutex-add-rwlock-implementation-based-on-rtmutex.patch
index 8888934d74d2..3c94bc08a243 100644
--- a/debian/patches-rt/rtmutex-add-rwlock-implementation-based-on-rtmutex.patch
+++ b/debian/patches-rt/rtmutex-add-rwlock-implementation-based-on-rtmutex.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 12 Oct 2017 17:18:06 +0200
Subject: rtmutex: add rwlock implementation based on rtmutex
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
The implementation is bias-based, similar to the rwsem implementation.
diff --git a/debian/patches-rt/rtmutex-add-rwsem-implementation-based-on-rtmutex.patch b/debian/patches-rt/rtmutex-add-rwsem-implementation-based-on-rtmutex.patch
index f196694841b7..5e13118efeba 100644
--- a/debian/patches-rt/rtmutex-add-rwsem-implementation-based-on-rtmutex.patch
+++ b/debian/patches-rt/rtmutex-add-rwsem-implementation-based-on-rtmutex.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 12 Oct 2017 17:28:34 +0200
Subject: rtmutex: add rwsem implementation based on rtmutex
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
The RT specific R/W semaphore implementation restricts the number of readers
to one because a writer cannot block on multiple readers and inherit its
diff --git a/debian/patches-rt/rtmutex-add-sleeping-lock-implementation.patch b/debian/patches-rt/rtmutex-add-sleeping-lock-implementation.patch
index 7c67a4e6d8be..d6842e20fc8f 100644
--- a/debian/patches-rt/rtmutex-add-sleeping-lock-implementation.patch
+++ b/debian/patches-rt/rtmutex-add-sleeping-lock-implementation.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 12 Oct 2017 17:11:19 +0200
Subject: rtmutex: add sleeping lock implementation
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
diff --git a/debian/patches-rt/rtmutex-add-ww_mutex-addon-for-mutex-rt.patch b/debian/patches-rt/rtmutex-add-ww_mutex-addon-for-mutex-rt.patch
index 00a69dbd8767..444d38240e51 100644
--- a/debian/patches-rt/rtmutex-add-ww_mutex-addon-for-mutex-rt.patch
+++ b/debian/patches-rt/rtmutex-add-ww_mutex-addon-for-mutex-rt.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Thu, 12 Oct 2017 17:34:38 +0200
Subject: rtmutex: add ww_mutex addon for mutex-rt
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
---
diff --git a/debian/patches-rt/rtmutex-avoid-include-hell.patch b/debian/patches-rt/rtmutex-avoid-include-hell.patch
index ac9b04786cec..7ded842e42c6 100644
--- a/debian/patches-rt/rtmutex-avoid-include-hell.patch
+++ b/debian/patches-rt/rtmutex-avoid-include-hell.patch
@@ -1,7 +1,7 @@
Subject: rtmutex: Avoid include hell
From: Thomas Gleixner <tglx@linutronix.de>
Date: Wed, 29 Jun 2011 20:06:39 +0200
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Include only the required raw types. This avoids pulling in the
complete spinlock header which in turn requires rtmutex.h at some point.
diff --git a/debian/patches-rt/rtmutex-export-lockdep-less-version-of-rt_mutex-s-lo.patch b/debian/patches-rt/rtmutex-export-lockdep-less-version-of-rt_mutex-s-lo.patch
index 30b1a6caf9e0..8ec8e3dfbe2b 100644
--- a/debian/patches-rt/rtmutex-export-lockdep-less-version-of-rt_mutex-s-lo.patch
+++ b/debian/patches-rt/rtmutex-export-lockdep-less-version-of-rt_mutex-s-lo.patch
@@ -2,7 +2,7 @@ From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 12 Oct 2017 16:36:39 +0200
Subject: rtmutex: export lockdep-less version of rt_mutex's lock,
trylock and unlock
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Required for lock implementation ontop of rtmutex.
diff --git a/debian/patches-rt/rtmutex-futex-prepare-rt.patch b/debian/patches-rt/rtmutex-futex-prepare-rt.patch
index 45cc9ca5d91c..4437cbba9f63 100644
--- a/debian/patches-rt/rtmutex-futex-prepare-rt.patch
+++ b/debian/patches-rt/rtmutex-futex-prepare-rt.patch
@@ -1,7 +1,7 @@
Subject: rtmutex: Handle the various new futex race conditions
From: Thomas Gleixner <tglx@linutronix.de>
Date: Fri, 10 Jun 2011 11:04:15 +0200
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
RT opens a few new interesting race conditions in the rtmutex/futex
combo due to futex hash bucket lock being a 'sleeping' spinlock and
diff --git a/debian/patches-rt/rtmutex-lock-killable.patch b/debian/patches-rt/rtmutex-lock-killable.patch
index b83d44b5b074..6c20df0483a1 100644
--- a/debian/patches-rt/rtmutex-lock-killable.patch
+++ b/debian/patches-rt/rtmutex-lock-killable.patch
@@ -1,7 +1,7 @@
Subject: rtmutex: Add rtmutex_lock_killable()
From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 09 Jun 2011 11:43:52 +0200
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Add "killable" type to rtmutex. We need this since rtmutex are used as
"normal" mutexes which do use this type.
diff --git a/debian/patches-rt/rtmutex-trylock-is-okay-on-RT.patch b/debian/patches-rt/rtmutex-trylock-is-okay-on-RT.patch
index 207ed3a03c6d..55492572c16b 100644
--- a/debian/patches-rt/rtmutex-trylock-is-okay-on-RT.patch
+++ b/debian/patches-rt/rtmutex-trylock-is-okay-on-RT.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Wed 02 Dec 2015 11:34:07 +0100
Subject: rtmutex: trylock is okay on -RT
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
non-RT kernel could deadlock on rt_mutex_trylock() in softirq context. On
-RT we don't run softirqs in IRQ context but in thread context so it is
diff --git a/debian/patches-rt/rtmutex-wire-up-RT-s-locking.patch b/debian/patches-rt/rtmutex-wire-up-RT-s-locking.patch
index e2ad46437cb1..928f2e568e38 100644
--- a/debian/patches-rt/rtmutex-wire-up-RT-s-locking.patch
+++ b/debian/patches-rt/rtmutex-wire-up-RT-s-locking.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 12 Oct 2017 17:31:14 +0200
Subject: rtmutex: wire up RT's locking
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
diff --git a/debian/patches-rt/rtmutex_dont_include_rcu.patch b/debian/patches-rt/rtmutex_dont_include_rcu.patch
index c961a4365a03..ac842cedce49 100644
--- a/debian/patches-rt/rtmutex_dont_include_rcu.patch
+++ b/debian/patches-rt/rtmutex_dont_include_rcu.patch
@@ -1,6 +1,6 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Subject: rbtree: don't include the rcu header
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
The RCU header pulls in spinlock.h and fails due not yet defined types:
diff --git a/debian/patches-rt/sched-Provide-cant_migrate.patch b/debian/patches-rt/sched-Provide-cant_migrate.patch
index b4f551ef9750..878ac1d52a83 100644
--- a/debian/patches-rt/sched-Provide-cant_migrate.patch
+++ b/debian/patches-rt/sched-Provide-cant_migrate.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Fri, 14 Feb 2020 14:39:19 +0100
Subject: [PATCH] sched: Provide cant_migrate()
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Some code pathes rely on preempt_disable() to prevent migration on a non RT
enabled kernel. These preempt_disable/enable() pairs are substituted by
diff --git a/debian/patches-rt/sched-__set_cpus_allowed_ptr-Check-cpus_mask-not-cpu.patch b/debian/patches-rt/sched-__set_cpus_allowed_ptr-Check-cpus_mask-not-cpu.patch
index 976941f980c5..fe11b3562208 100644
--- a/debian/patches-rt/sched-__set_cpus_allowed_ptr-Check-cpus_mask-not-cpu.patch
+++ b/debian/patches-rt/sched-__set_cpus_allowed_ptr-Check-cpus_mask-not-cpu.patch
@@ -2,7 +2,7 @@ From: Scott Wood <swood@redhat.com>
Date: Sat, 27 Jul 2019 00:56:32 -0500
Subject: [PATCH] sched: __set_cpus_allowed_ptr(): Check cpus_mask, not
cpus_ptr
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
This function is concerned with the long-term cpu mask, not the
transitory mask the task might have while migrate disabled. Before
@@ -19,7 +19,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
-@@ -1649,7 +1649,7 @@ static int __set_cpus_allowed_ptr(struct
+@@ -1644,7 +1644,7 @@ static int __set_cpus_allowed_ptr(struct
goto out;
}
diff --git a/debian/patches-rt/sched-disable-rt-group-sched-on-rt.patch b/debian/patches-rt/sched-disable-rt-group-sched-on-rt.patch
index 60034c0218f4..981f4c318429 100644
--- a/debian/patches-rt/sched-disable-rt-group-sched-on-rt.patch
+++ b/debian/patches-rt/sched-disable-rt-group-sched-on-rt.patch
@@ -1,7 +1,7 @@
Subject: sched: Disable CONFIG_RT_GROUP_SCHED on RT
From: Thomas Gleixner <tglx@linutronix.de>
Date: Mon, 18 Jul 2011 17:03:52 +0200
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Carsten reported problems when running:
diff --git a/debian/patches-rt/sched-disable-ttwu-queue.patch b/debian/patches-rt/sched-disable-ttwu-queue.patch
index 2e29d5157e85..4865f41fef6a 100644
--- a/debian/patches-rt/sched-disable-ttwu-queue.patch
+++ b/debian/patches-rt/sched-disable-ttwu-queue.patch
@@ -1,7 +1,7 @@
Subject: sched: Disable TTWU_QUEUE on RT
From: Thomas Gleixner <tglx@linutronix.de>
Date: Tue, 13 Sep 2011 16:42:35 +0200
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
The queued remote wakeup mechanism can introduce rather large
latencies if the number of migrated tasks is high. Disable it for RT.
diff --git a/debian/patches-rt/sched-limit-nr-migrate.patch b/debian/patches-rt/sched-limit-nr-migrate.patch
index 59cd691d9581..fe07fe890c79 100644
--- a/debian/patches-rt/sched-limit-nr-migrate.patch
+++ b/debian/patches-rt/sched-limit-nr-migrate.patch
@@ -1,7 +1,7 @@
Subject: sched: Limit the number of task migrations per batch
From: Thomas Gleixner <tglx@linutronix.de>
Date: Mon, 06 Jun 2011 12:12:51 +0200
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Put an upper limit on the number of tasks which are migrated per batch
to avoid large latencies.
diff --git a/debian/patches-rt/sched-might-sleep-do-not-account-rcu-depth.patch b/debian/patches-rt/sched-might-sleep-do-not-account-rcu-depth.patch
index eadf89216a73..e4ef48624306 100644
--- a/debian/patches-rt/sched-might-sleep-do-not-account-rcu-depth.patch
+++ b/debian/patches-rt/sched-might-sleep-do-not-account-rcu-depth.patch
@@ -1,7 +1,7 @@
Subject: sched: Do not account rcu_preempt_depth on RT in might_sleep()
From: Thomas Gleixner <tglx@linutronix.de>
Date: Tue, 07 Jun 2011 09:19:06 +0200
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
RT changes the rcu_preempt_depth semantics, so we cannot check for it
in might_sleep().
@@ -37,7 +37,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
/* Internal to kernel */
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
-@@ -6774,7 +6774,7 @@ void __init sched_init(void)
+@@ -6768,7 +6768,7 @@ void __init sched_init(void)
#ifdef CONFIG_DEBUG_ATOMIC_SLEEP
static inline int preempt_count_equals(int preempt_offset)
{
diff --git a/debian/patches-rt/sched-migrate_enable-Remove-__schedule-call.patch b/debian/patches-rt/sched-migrate_enable-Remove-__schedule-call.patch
index 5e170b1b52cf..5de5170bf02f 100644
--- a/debian/patches-rt/sched-migrate_enable-Remove-__schedule-call.patch
+++ b/debian/patches-rt/sched-migrate_enable-Remove-__schedule-call.patch
@@ -1,7 +1,7 @@
From: Scott Wood <swood@redhat.com>
Date: Fri, 24 Jan 2020 06:11:47 -0500
Subject: [PATCH] sched: migrate_enable: Remove __schedule() call
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
We can rely on preempt_enable() to schedule. Besides simplifying the
code, this potentially allows sequences such as the following to be
@@ -22,7 +22,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
-@@ -8192,7 +8192,6 @@ void migrate_enable(void)
+@@ -8186,7 +8186,6 @@ void migrate_enable(void)
stop_one_cpu_nowait(task_cpu(p), migration_cpu_stop,
arg, work);
diff --git a/debian/patches-rt/sched-migrate_enable-Use-per-cpu-cpu_stop_work.patch b/debian/patches-rt/sched-migrate_enable-Use-per-cpu-cpu_stop_work.patch
index ba3173a102d2..101967588530 100644
--- a/debian/patches-rt/sched-migrate_enable-Use-per-cpu-cpu_stop_work.patch
+++ b/debian/patches-rt/sched-migrate_enable-Use-per-cpu-cpu_stop_work.patch
@@ -1,7 +1,7 @@
From: Scott Wood <swood@redhat.com>
Date: Fri, 24 Jan 2020 06:11:46 -0500
Subject: [PATCH] sched: migrate_enable: Use per-cpu cpu_stop_work
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Commit e6c287b1512d ("sched: migrate_enable: Use stop_one_cpu_nowait()")
adds a busy wait to deal with an edge case where the migrated thread
@@ -27,7 +27,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
-@@ -8133,6 +8133,9 @@ static void migrate_disabled_sched(struc
+@@ -8127,6 +8127,9 @@ static void migrate_disabled_sched(struc
p->migrate_disable_scheduled = 1;
}
@@ -37,7 +37,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
void migrate_enable(void)
{
struct task_struct *p = current;
-@@ -8171,22 +8174,25 @@ void migrate_enable(void)
+@@ -8165,22 +8168,25 @@ void migrate_enable(void)
WARN_ON(smp_processor_id() != cpu);
if (!is_cpu_allowed(p, cpu)) {
diff --git a/debian/patches-rt/sched-migrate_enable-Use-stop_one_cpu_nowait.patch b/debian/patches-rt/sched-migrate_enable-Use-stop_one_cpu_nowait.patch
index 743a449c5547..22a8246d6b81 100644
--- a/debian/patches-rt/sched-migrate_enable-Use-stop_one_cpu_nowait.patch
+++ b/debian/patches-rt/sched-migrate_enable-Use-stop_one_cpu_nowait.patch
@@ -1,7 +1,7 @@
From: Scott Wood <swood@redhat.com>
Date: Sat, 12 Oct 2019 01:52:14 -0500
Subject: [PATCH] sched: migrate_enable: Use stop_one_cpu_nowait()
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
migrate_enable() can be called with current->state != TASK_RUNNING.
Avoid clobbering the existing state by using stop_one_cpu_nowait().
@@ -31,7 +31,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
int stop_one_cpu(unsigned int cpu, cpu_stop_fn_t fn, void *arg);
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
-@@ -1532,6 +1532,7 @@ static struct rq *move_queued_task(struc
+@@ -1527,6 +1527,7 @@ static struct rq *move_queued_task(struc
struct migration_arg {
struct task_struct *task;
int dest_cpu;
@@ -39,7 +39,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
};
/*
-@@ -1567,6 +1568,11 @@ static int migration_cpu_stop(void *data
+@@ -1562,6 +1563,11 @@ static int migration_cpu_stop(void *data
struct task_struct *p = arg->task;
struct rq *rq = this_rq();
struct rq_flags rf;
@@ -51,7 +51,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
/*
* The original target CPU might have gone down and we might
-@@ -1589,9 +1595,9 @@ static int migration_cpu_stop(void *data
+@@ -1584,9 +1590,9 @@ static int migration_cpu_stop(void *data
*/
if (task_rq(p) == rq) {
if (task_on_rq_queued(p))
@@ -63,7 +63,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
}
rq_unlock(rq, &rf);
raw_spin_unlock(&p->pi_lock);
-@@ -8165,7 +8171,8 @@ void migrate_enable(void)
+@@ -8159,7 +8165,8 @@ void migrate_enable(void)
WARN_ON(smp_processor_id() != cpu);
if (!is_cpu_allowed(p, cpu)) {
@@ -73,7 +73,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
struct rq_flags rf;
rq = task_rq_lock(p, &rf);
-@@ -8173,13 +8180,13 @@ void migrate_enable(void)
+@@ -8167,13 +8174,13 @@ void migrate_enable(void)
arg.dest_cpu = select_fallback_rq(cpu, p);
task_rq_unlock(rq, p, &rf);
diff --git a/debian/patches-rt/sched-mmdrop-delayed.patch b/debian/patches-rt/sched-mmdrop-delayed.patch
index d162eafe8086..56e9603bc76d 100644
--- a/debian/patches-rt/sched-mmdrop-delayed.patch
+++ b/debian/patches-rt/sched-mmdrop-delayed.patch
@@ -1,7 +1,7 @@
Subject: sched: Move mmdrop to RCU on RT
From: Thomas Gleixner <tglx@linutronix.de>
Date: Mon, 06 Jun 2011 12:20:33 +0200
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Takes sleeping locks and calls into the memory allocator, so nothing
we want to do in task switch and oder atomic contexts.
@@ -78,7 +78,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
struct mm_struct *mm;
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
-@@ -3237,9 +3237,13 @@ static struct rq *finish_task_switch(str
+@@ -3232,9 +3232,13 @@ static struct rq *finish_task_switch(str
* provided by mmdrop(),
* - a sync_core for SYNC_CORE.
*/
@@ -93,7 +93,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
}
if (unlikely(prev_state == TASK_DEAD)) {
if (prev->sched_class->task_dead)
-@@ -6181,6 +6185,8 @@ void sched_setnuma(struct task_struct *p
+@@ -6175,6 +6179,8 @@ void sched_setnuma(struct task_struct *p
#endif /* CONFIG_NUMA_BALANCING */
#ifdef CONFIG_HOTPLUG_CPU
@@ -102,7 +102,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
/*
* Ensure that the idle task is using init_mm right before its CPU goes
* offline.
-@@ -6196,7 +6202,11 @@ void idle_task_exit(void)
+@@ -6190,7 +6196,11 @@ void idle_task_exit(void)
current->active_mm = &init_mm;
finish_arch_post_lock_switch();
}
@@ -115,7 +115,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
}
/*
-@@ -6502,6 +6512,10 @@ int sched_cpu_dying(unsigned int cpu)
+@@ -6496,6 +6506,10 @@ int sched_cpu_dying(unsigned int cpu)
update_max_interval();
nohz_balance_exit_idle(rq);
hrtick_clear(rq);
diff --git a/debian/patches-rt/sched-rt-Provide-migrate_disable-enable-inlines.patch b/debian/patches-rt/sched-rt-Provide-migrate_disable-enable-inlines.patch
index 249cde595287..eec99272e0d4 100644
--- a/debian/patches-rt/sched-rt-Provide-migrate_disable-enable-inlines.patch
+++ b/debian/patches-rt/sched-rt-Provide-migrate_disable-enable-inlines.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Sat, 8 Feb 2020 20:48:29 +0100
Subject: [PATCH] sched/rt: Provide migrate_disable/enable() inlines
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Code which solely needs to prevent migration of a task uses
preempt_disable()/enable() pairs. This is the only reliable way to do so
diff --git a/debian/patches-rt/sched-rt-mutex-wakeup.patch b/debian/patches-rt/sched-rt-mutex-wakeup.patch
index 44f8385d461d..f3d6b07a24bd 100644
--- a/debian/patches-rt/sched-rt-mutex-wakeup.patch
+++ b/debian/patches-rt/sched-rt-mutex-wakeup.patch
@@ -1,7 +1,7 @@
Subject: sched: Add saved_state for tasks blocked on sleeping locks
From: Thomas Gleixner <tglx@linutronix.de>
Date: Sat, 25 Jun 2011 09:21:04 +0200
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Spinlocks are state preserving in !RT. RT changes the state when a
task gets blocked on a lock. So we need to remember the state before
@@ -37,7 +37,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
#ifdef CONFIG_SMP
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
-@@ -2519,6 +2519,8 @@ try_to_wake_up(struct task_struct *p, un
+@@ -2514,6 +2514,8 @@ try_to_wake_up(struct task_struct *p, un
int cpu, success = 0;
preempt_disable();
@@ -46,7 +46,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
if (p == current) {
/*
* We're waking current, this means 'p->on_rq' and 'task_cpu(p)
-@@ -2541,7 +2543,7 @@ try_to_wake_up(struct task_struct *p, un
+@@ -2536,7 +2538,7 @@ try_to_wake_up(struct task_struct *p, un
trace_sched_wakeup(p);
goto out;
}
@@ -55,7 +55,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
/*
* If we are going to wake up a thread waiting for CONDITION we
* need to ensure that CONDITION=1 done by the caller can not be
-@@ -2550,8 +2552,27 @@ try_to_wake_up(struct task_struct *p, un
+@@ -2545,8 +2547,27 @@ try_to_wake_up(struct task_struct *p, un
*/
raw_spin_lock_irqsave(&p->pi_lock, flags);
smp_mb__after_spinlock();
@@ -85,7 +85,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
trace_sched_waking(p);
-@@ -2643,9 +2664,12 @@ try_to_wake_up(struct task_struct *p, un
+@@ -2638,9 +2659,12 @@ try_to_wake_up(struct task_struct *p, un
ttwu_queue(p, cpu, wake_flags);
unlock:
raw_spin_unlock_irqrestore(&p->pi_lock, flags);
@@ -98,7 +98,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
preempt_enable();
return success;
-@@ -2668,6 +2692,18 @@ int wake_up_process(struct task_struct *
+@@ -2663,6 +2687,18 @@ int wake_up_process(struct task_struct *
}
EXPORT_SYMBOL(wake_up_process);
@@ -119,7 +119,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
return try_to_wake_up(p, state, 0);
--- a/kernel/sched/sched.h
+++ b/kernel/sched/sched.h
-@@ -1644,6 +1644,7 @@ static inline int task_on_rq_migrating(s
+@@ -1650,6 +1650,7 @@ static inline int task_on_rq_migrating(s
#define WF_SYNC 0x01 /* Waker goes to sleep after wakeup */
#define WF_FORK 0x02 /* Child wakeup after fork */
#define WF_MIGRATED 0x4 /* Internal use, task got migrated */
diff --git a/debian/patches-rt/scsi-fcoe-rt-aware.patch b/debian/patches-rt/scsi-fcoe-rt-aware.patch
index 278e62d6bd53..b42945e9e43d 100644
--- a/debian/patches-rt/scsi-fcoe-rt-aware.patch
+++ b/debian/patches-rt/scsi-fcoe-rt-aware.patch
@@ -1,7 +1,7 @@
Subject: scsi/fcoe: Make RT aware.
From: Thomas Gleixner <tglx@linutronix.de>
Date: Sat, 12 Nov 2011 14:00:48 +0100
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Do not disable preemption while taking sleeping locks. All user look safe
for migrate_diable() only.
diff --git a/debian/patches-rt/seqlock-prevent-rt-starvation.patch b/debian/patches-rt/seqlock-prevent-rt-starvation.patch
index 15a6153960f5..305cfa13319a 100644
--- a/debian/patches-rt/seqlock-prevent-rt-starvation.patch
+++ b/debian/patches-rt/seqlock-prevent-rt-starvation.patch
@@ -1,7 +1,7 @@
Subject: seqlock: Prevent rt starvation
From: Thomas Gleixner <tglx@linutronix.de>
Date: Wed, 22 Feb 2012 12:03:30 +0100
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
If a low prio writer gets preempted while holding the seqlock write
locked, a high prio reader spins forever on RT.
diff --git a/debian/patches-rt/serial-8250-export-symbols-which-are-used-by-symbols.patch b/debian/patches-rt/serial-8250-export-symbols-which-are-used-by-symbols.patch
index b873a5e6fc68..3ed3baf6d230 100644
--- a/debian/patches-rt/serial-8250-export-symbols-which-are-used-by-symbols.patch
+++ b/debian/patches-rt/serial-8250-export-symbols-which-are-used-by-symbols.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Sat, 16 Feb 2019 09:02:00 +0100
Subject: [PATCH] serial: 8250: export symbols which are used by symbols
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
---
diff --git a/debian/patches-rt/serial-8250-fsl-ingenic-mtk-fix-atomic-console.patch b/debian/patches-rt/serial-8250-fsl-ingenic-mtk-fix-atomic-console.patch
index d785cf74d30a..29df9145f5b7 100644
--- a/debian/patches-rt/serial-8250-fsl-ingenic-mtk-fix-atomic-console.patch
+++ b/debian/patches-rt/serial-8250-fsl-ingenic-mtk-fix-atomic-console.patch
@@ -1,7 +1,7 @@
From: John Ogness <john.ogness@linutronix.de>
Date: Fri, 10 Jan 2020 16:45:32 +0106
Subject: [PATCH] serial: 8250: fsl/ingenic/mtk: fix atomic console
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
A few 8250 implementations have their own IER access. If the port
is a console, wrap the accesses with console_atomic_lock.
diff --git a/debian/patches-rt/serial-8250-only-atomic-lock-for-console.patch b/debian/patches-rt/serial-8250-only-atomic-lock-for-console.patch
index 1ab3b1e7c2ae..d0867db062f1 100644
--- a/debian/patches-rt/serial-8250-only-atomic-lock-for-console.patch
+++ b/debian/patches-rt/serial-8250-only-atomic-lock-for-console.patch
@@ -1,7 +1,7 @@
From: John Ogness <john.ogness@linutronix.de>
Date: Fri, 10 Jan 2020 16:45:31 +0106
Subject: [PATCH] serial: 8250: only atomic lock for console
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
The atomic console implementation requires that IER is synchronized
between atomic and non-atomic usage. However, it was implemented such
diff --git a/debian/patches-rt/serial-8250-remove-that-trylock-in-serial8250_consol.patch b/debian/patches-rt/serial-8250-remove-that-trylock-in-serial8250_consol.patch
index 2cd63c060444..d80a5dfdb6fb 100644
--- a/debian/patches-rt/serial-8250-remove-that-trylock-in-serial8250_consol.patch
+++ b/debian/patches-rt/serial-8250-remove-that-trylock-in-serial8250_consol.patch
@@ -2,7 +2,7 @@ From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Thu, 14 Feb 2019 17:38:24 +0100
Subject: [PATCH] serial: 8250: remove that trylock in
serial8250_console_write_atomic()
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
This does not work as rtmutex in NMI context. As per John, it is not
needed.
diff --git a/debian/patches-rt/series b/debian/patches-rt/series
index 4551322aad22..b78a5694f9b2 100644
--- a/debian/patches-rt/series
+++ b/debian/patches-rt/series
@@ -154,7 +154,6 @@ tpm-remove-tpm_dev_wq_lock.patch
# Almost ready, needs final polishing
############################################################
rcu-Use-a-raw_spinlock_t-for-kfree-batching.patch
-mm-Warn-on-memory-allocation-in-non-preemptible-cont.patch
###############################################################
# Stuff broken upstream and upstream wants something different
@@ -242,6 +241,7 @@ oleg-signal-rt-fix.patch
0002-Split-IRQ-off-and-zone-lock-while-freeing-pages-from.patch
0003-mm-SLxB-change-list_lock-to-raw_spinlock_t.patch
0004-mm-SLUB-delay-giving-back-empty-slubs-to-IRQ-enabled.patch
+mm-slub-Always-flush-the-delayed-empty-slubs-in-flus.patch
mm-page_alloc-rt-friendly-per-cpu-pages.patch
# MM SWAP
@@ -251,6 +251,8 @@ mm-convert-swap-to-percpu-locked.patch
mm-enable-slub.patch
slub-enable-irqs-for-no-wait.patch
slub-disable-SLUB_CPU_PARTIAL.patch
+mm-Warn-on-memory-allocation-in-non-preemptible-cont.patch
+mm-Don-t-warn-about-atomic-memory-allocations-during.patch
# MM
mm-memcontrol-Don-t-call-schedule_work_on-in-preempt.patch
@@ -355,8 +357,9 @@ srcu-replace-local_irqsave-with-a-locallock.patch
rcu-enable-rcu_normal_after_boot-by-default-for-RT.patch
rcutorture-Avoid-problematic-critical-section-nestin.patch
-# Can this be more pretty? Revisit with current RT
+# Drop
rt-serial-warn-fix.patch
+Revert-rt-Improve-the-serial-console-PASS_LIMIT.patch
# CPU get light
# akpm
diff --git a/debian/patches-rt/signal-Prevent-double-free-of-user-struct.patch b/debian/patches-rt/signal-Prevent-double-free-of-user-struct.patch
index 69cbac14ef7d..b4d303615c70 100644
--- a/debian/patches-rt/signal-Prevent-double-free-of-user-struct.patch
+++ b/debian/patches-rt/signal-Prevent-double-free-of-user-struct.patch
@@ -1,7 +1,7 @@
From: Matt Fleming <matt@codeblueprint.co.uk>
Date: Tue, 7 Apr 2020 10:54:13 +0100
Subject: [PATCH] signal: Prevent double-free of user struct
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
The way user struct reference counting works changed significantly with,
diff --git a/debian/patches-rt/signal-revert-ptrace-preempt-magic.patch b/debian/patches-rt/signal-revert-ptrace-preempt-magic.patch
index 7df3394260ed..2fd6da54e9f8 100644
--- a/debian/patches-rt/signal-revert-ptrace-preempt-magic.patch
+++ b/debian/patches-rt/signal-revert-ptrace-preempt-magic.patch
@@ -1,7 +1,7 @@
Subject: signal: Revert ptrace preempt magic
From: Thomas Gleixner <tglx@linutronix.de>
Date: Wed, 21 Sep 2011 19:57:12 +0200
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Upstream commit '53da1d9456fe7f8 fix ptrace slowness' is nothing more
than a bandaid around the ptrace design trainwreck. It's not a
@@ -14,7 +14,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
--- a/kernel/signal.c
+++ b/kernel/signal.c
-@@ -2202,16 +2202,8 @@ static void ptrace_stop(int exit_code, i
+@@ -2206,16 +2206,8 @@ static void ptrace_stop(int exit_code, i
if (gstop_done && ptrace_reparented(current))
do_notify_parent_cldstop(current, false, why);
diff --git a/debian/patches-rt/signals-allow-rt-tasks-to-cache-one-sigqueue-struct.patch b/debian/patches-rt/signals-allow-rt-tasks-to-cache-one-sigqueue-struct.patch
index ae773a70cce1..d23f2d60bdad 100644
--- a/debian/patches-rt/signals-allow-rt-tasks-to-cache-one-sigqueue-struct.patch
+++ b/debian/patches-rt/signals-allow-rt-tasks-to-cache-one-sigqueue-struct.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Fri, 3 Jul 2009 08:44:56 -0500
Subject: signals: Allow rt tasks to cache one sigqueue struct
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
To avoid allocation allow rt tasks to cache one sigqueue struct in
task struct.
diff --git a/debian/patches-rt/skbufhead-raw-lock.patch b/debian/patches-rt/skbufhead-raw-lock.patch
index 701081394b61..398b1b17a863 100644
--- a/debian/patches-rt/skbufhead-raw-lock.patch
+++ b/debian/patches-rt/skbufhead-raw-lock.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Tue, 12 Jul 2011 15:38:34 +0200
Subject: net: Use skbufhead with raw lock
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Use the rps lock as rawlock so we can keep irq-off regions. It looks low
latency. However we can't kfree() from this context therefore we defer this
@@ -66,7 +66,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
#endif
}
-@@ -5502,7 +5502,7 @@ static void flush_backlog(struct work_st
+@@ -5503,7 +5503,7 @@ static void flush_backlog(struct work_st
skb_queue_walk_safe(&sd->input_pkt_queue, skb, tmp) {
if (skb->dev->reg_state == NETREG_UNREGISTERING) {
__skb_unlink(skb, &sd->input_pkt_queue);
@@ -75,7 +75,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
input_queue_head_incr(sd);
}
}
-@@ -5512,11 +5512,14 @@ static void flush_backlog(struct work_st
+@@ -5513,11 +5513,14 @@ static void flush_backlog(struct work_st
skb_queue_walk_safe(&sd->process_queue, skb, tmp) {
if (skb->dev->reg_state == NETREG_UNREGISTERING) {
__skb_unlink(skb, &sd->process_queue);
@@ -91,7 +91,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
}
static void flush_all_backlogs(void)
-@@ -6137,7 +6140,9 @@ static int process_backlog(struct napi_s
+@@ -6138,7 +6141,9 @@ static int process_backlog(struct napi_s
while (again) {
struct sk_buff *skb;
@@ -101,7 +101,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
rcu_read_lock();
__netif_receive_skb(skb);
rcu_read_unlock();
-@@ -6145,9 +6150,9 @@ static int process_backlog(struct napi_s
+@@ -6146,9 +6151,9 @@ static int process_backlog(struct napi_s
if (++work >= quota)
return work;
@@ -112,7 +112,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
rps_lock(sd);
if (skb_queue_empty(&sd->input_pkt_queue)) {
/*
-@@ -6629,13 +6634,21 @@ static __latent_entropy void net_rx_acti
+@@ -6630,13 +6635,21 @@ static __latent_entropy void net_rx_acti
unsigned long time_limit = jiffies +
usecs_to_jiffies(netdev_budget_usecs);
int budget = netdev_budget;
@@ -134,7 +134,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
for (;;) {
struct napi_struct *n;
-@@ -10185,10 +10198,13 @@ static int dev_cpu_dead(unsigned int old
+@@ -10186,10 +10199,13 @@ static int dev_cpu_dead(unsigned int old
netif_rx_ni(skb);
input_queue_head_incr(oldsd);
}
@@ -149,7 +149,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
return 0;
}
-@@ -10501,8 +10517,9 @@ static int __init net_dev_init(void)
+@@ -10502,8 +10518,9 @@ static int __init net_dev_init(void)
INIT_WORK(flush, flush_backlog);
diff --git a/debian/patches-rt/slub-disable-SLUB_CPU_PARTIAL.patch b/debian/patches-rt/slub-disable-SLUB_CPU_PARTIAL.patch
index d548156b58b2..ccc74e97803c 100644
--- a/debian/patches-rt/slub-disable-SLUB_CPU_PARTIAL.patch
+++ b/debian/patches-rt/slub-disable-SLUB_CPU_PARTIAL.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Wed, 15 Apr 2015 19:00:47 +0200
Subject: slub: Disable SLUB_CPU_PARTIAL
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
|BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:915
|in_atomic(): 1, irqs_disabled(): 0, pid: 87, name: rcuop/7
diff --git a/debian/patches-rt/slub-enable-irqs-for-no-wait.patch b/debian/patches-rt/slub-enable-irqs-for-no-wait.patch
index 24ba6b3db0c4..6bae07749646 100644
--- a/debian/patches-rt/slub-enable-irqs-for-no-wait.patch
+++ b/debian/patches-rt/slub-enable-irqs-for-no-wait.patch
@@ -1,7 +1,7 @@
Subject: slub: Enable irqs for __GFP_WAIT
From: Thomas Gleixner <tglx@linutronix.de>
Date: Wed, 09 Jan 2013 12:08:15 +0100
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
SYSTEM_RUNNING might be too late for enabling interrupts. Allocations
with GFP_WAIT can happen before that. So use this as an indicator.
diff --git a/debian/patches-rt/softirq-Add-preemptible-softirq.patch b/debian/patches-rt/softirq-Add-preemptible-softirq.patch
index e9b24950e855..2d38c8525ee6 100644
--- a/debian/patches-rt/softirq-Add-preemptible-softirq.patch
+++ b/debian/patches-rt/softirq-Add-preemptible-softirq.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Mon, 20 May 2019 13:09:08 +0200
Subject: [PATCH] softirq: Add preemptible softirq
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Add preemptible softirq for RT's needs. By removing the softirq count
from the preempt counter, the softirq becomes preemptible. A per-CPU
diff --git a/debian/patches-rt/softirq-Avoid-a-cancel-dead-lock-in-tasklet-handling.patch b/debian/patches-rt/softirq-Avoid-a-cancel-dead-lock-in-tasklet-handling.patch
index c952baf7c47c..7eb8bd10b127 100644
--- a/debian/patches-rt/softirq-Avoid-a-cancel-dead-lock-in-tasklet-handling.patch
+++ b/debian/patches-rt/softirq-Avoid-a-cancel-dead-lock-in-tasklet-handling.patch
@@ -2,7 +2,7 @@ From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Sat, 22 Jun 2019 00:09:22 +0200
Subject: [PATCH] softirq: Avoid a cancel dead-lock in tasklet handling due to
preemptible-softirq
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
A pending / active tasklet which is preempted by a task on the same CPU
will spin indefinitely because the tasklet makes no progress.
diff --git a/debian/patches-rt/softirq-disable-softirq-stacks-for-rt.patch b/debian/patches-rt/softirq-disable-softirq-stacks-for-rt.patch
index 84ae614cbd2a..2167b907f6cb 100644
--- a/debian/patches-rt/softirq-disable-softirq-stacks-for-rt.patch
+++ b/debian/patches-rt/softirq-disable-softirq-stacks-for-rt.patch
@@ -1,7 +1,7 @@
Subject: softirq: Disable softirq stacks for RT
From: Thomas Gleixner <tglx@linutronix.de>
Date: Mon, 18 Jul 2011 13:59:17 +0200
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Disable extra stacks for softirqs. We want to preempt softirqs and
having them on special IRQ-stack does not make this easier.
diff --git a/debian/patches-rt/softirq-preempt-fix-3-re.patch b/debian/patches-rt/softirq-preempt-fix-3-re.patch
index 236183d9e201..3edfba4c4135 100644
--- a/debian/patches-rt/softirq-preempt-fix-3-re.patch
+++ b/debian/patches-rt/softirq-preempt-fix-3-re.patch
@@ -1,7 +1,7 @@
Subject: softirq: Check preemption after reenabling interrupts
From: Thomas Gleixner <tglx@linutronix.de>
Date: Sun, 13 Nov 2011 17:17:09 +0100 (CET)
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
raise_softirq_irqoff() disables interrupts and wakes the softirq
daemon, but after reenabling interrupts there is no preemption check,
@@ -120,7 +120,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
}
EXPORT_SYMBOL(__dev_kfree_skb_irq);
-@@ -4477,6 +4479,7 @@ static int enqueue_to_backlog(struct sk_
+@@ -4478,6 +4480,7 @@ static int enqueue_to_backlog(struct sk_
rps_unlock(sd);
local_irq_restore(flags);
@@ -128,7 +128,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
atomic_long_inc(&skb->dev->rx_dropped);
kfree_skb(skb);
-@@ -6099,12 +6102,14 @@ static void net_rps_action_and_irq_enabl
+@@ -6100,12 +6103,14 @@ static void net_rps_action_and_irq_enabl
sd->rps_ipi_list = NULL;
local_irq_enable();
@@ -143,7 +143,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
}
static bool sd_has_rps_ipi_waiting(struct softnet_data *sd)
-@@ -6182,6 +6187,7 @@ void __napi_schedule(struct napi_struct
+@@ -6183,6 +6188,7 @@ void __napi_schedule(struct napi_struct
local_irq_save(flags);
____napi_schedule(this_cpu_ptr(&softnet_data), n);
local_irq_restore(flags);
@@ -151,7 +151,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
}
EXPORT_SYMBOL(__napi_schedule);
-@@ -10167,6 +10173,7 @@ static int dev_cpu_dead(unsigned int old
+@@ -10168,6 +10174,7 @@ static int dev_cpu_dead(unsigned int old
raise_softirq_irqoff(NET_TX_SOFTIRQ);
local_irq_enable();
diff --git a/debian/patches-rt/spinlock-types-separate-raw.patch b/debian/patches-rt/spinlock-types-separate-raw.patch
index 74e238b06a6d..b4862ba3ab80 100644
--- a/debian/patches-rt/spinlock-types-separate-raw.patch
+++ b/debian/patches-rt/spinlock-types-separate-raw.patch
@@ -1,7 +1,7 @@
Subject: spinlock: Split the lock types header
From: Thomas Gleixner <tglx@linutronix.de>
Date: Wed, 29 Jun 2011 19:34:01 +0200
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Split raw_spinlock into its own file and the remaining spinlock_t into
its own non-RT header. The non-RT header will be replaced later by sleeping
diff --git a/debian/patches-rt/squashfs-make-use-of-local-lock-in-multi_cpu-decompr.patch b/debian/patches-rt/squashfs-make-use-of-local-lock-in-multi_cpu-decompr.patch
index 00d8d540f071..b0ad92aea99b 100644
--- a/debian/patches-rt/squashfs-make-use-of-local-lock-in-multi_cpu-decompr.patch
+++ b/debian/patches-rt/squashfs-make-use-of-local-lock-in-multi_cpu-decompr.patch
@@ -2,7 +2,7 @@ From: Julia Cartwright <julia@ni.com>
Date: Mon, 7 May 2018 08:58:57 -0500
Subject: [PATCH] squashfs: make use of local lock in multi_cpu
decompressor
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Currently, the squashfs multi_cpu decompressor makes use of
get_cpu_ptr()/put_cpu_ptr(), which unconditionally disable preemption
diff --git a/debian/patches-rt/srcu-replace-local_irqsave-with-a-locallock.patch b/debian/patches-rt/srcu-replace-local_irqsave-with-a-locallock.patch
index 2bbf33f3d530..4a68b5c723d7 100644
--- a/debian/patches-rt/srcu-replace-local_irqsave-with-a-locallock.patch
+++ b/debian/patches-rt/srcu-replace-local_irqsave-with-a-locallock.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Thu, 12 Oct 2017 18:37:12 +0200
Subject: [PATCH] srcu: replace local_irqsave() with a locallock
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
There are two instances which disable interrupts in order to become a
stable this_cpu_ptr() pointer. The restore part is coupled with
diff --git a/debian/patches-rt/sunrpc-make-svc_xprt_do_enqueue-use-get_cpu_light.patch b/debian/patches-rt/sunrpc-make-svc_xprt_do_enqueue-use-get_cpu_light.patch
index c54081cfd71a..91fa8947fb9d 100644
--- a/debian/patches-rt/sunrpc-make-svc_xprt_do_enqueue-use-get_cpu_light.patch
+++ b/debian/patches-rt/sunrpc-make-svc_xprt_do_enqueue-use-get_cpu_light.patch
@@ -1,7 +1,7 @@
From: Mike Galbraith <umgwanakikbuti@gmail.com>
Date: Wed, 18 Feb 2015 16:05:28 +0100
Subject: sunrpc: Make svc_xprt_do_enqueue() use get_cpu_light()
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
|BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:915
|in_atomic(): 1, irqs_disabled(): 0, pid: 3194, name: rpc.nfsd
diff --git a/debian/patches-rt/sysfs-realtime-entry.patch b/debian/patches-rt/sysfs-realtime-entry.patch
index b034a340c563..469414cb6bbb 100644
--- a/debian/patches-rt/sysfs-realtime-entry.patch
+++ b/debian/patches-rt/sysfs-realtime-entry.patch
@@ -1,7 +1,7 @@
Subject: sysfs: Add /sys/kernel/realtime entry
From: Clark Williams <williams@redhat.com>
Date: Sat Jul 30 21:55:53 2011 -0500
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Add a /sys/kernel entry to indicate that the kernel is a
realtime kernel.
diff --git a/debian/patches-rt/thermal-x86_pkg_temp-make-pkg_temp_lock-a-raw-spinlo.patch b/debian/patches-rt/thermal-x86_pkg_temp-make-pkg_temp_lock-a-raw-spinlo.patch
index ab3de0065c6d..e9174659215a 100644
--- a/debian/patches-rt/thermal-x86_pkg_temp-make-pkg_temp_lock-a-raw-spinlo.patch
+++ b/debian/patches-rt/thermal-x86_pkg_temp-make-pkg_temp_lock-a-raw-spinlo.patch
@@ -1,7 +1,7 @@
From: Clark Williams <williams@redhat.com>
Date: Mon, 15 Jul 2019 15:25:00 -0500
Subject: [PATCH] thermal/x86_pkg_temp: Make pkg_temp_lock a raw_spinlock_t
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
The spinlock pkg_temp_lock has the potential of being taken in atomic
context because it can be acquired from the thermal IRQ vector.
diff --git a/debian/patches-rt/time-Properly-initialize-nohz_full_kick_work.patch b/debian/patches-rt/time-Properly-initialize-nohz_full_kick_work.patch
index 89a5da2b1641..17ec8e07f26b 100644
--- a/debian/patches-rt/time-Properly-initialize-nohz_full_kick_work.patch
+++ b/debian/patches-rt/time-Properly-initialize-nohz_full_kick_work.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Thu, 16 Apr 2020 11:37:51 +0200
Subject: [PATCH] time: Properly initialize nohz_full_kick_work
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
The ->flags member is of atomic_t type, use the proper initialisation
method.
diff --git a/debian/patches-rt/timekeeping-split-jiffies-lock.patch b/debian/patches-rt/timekeeping-split-jiffies-lock.patch
index c193c945c5cb..7ab9b556cf4d 100644
--- a/debian/patches-rt/timekeeping-split-jiffies-lock.patch
+++ b/debian/patches-rt/timekeeping-split-jiffies-lock.patch
@@ -1,7 +1,7 @@
Subject: timekeeping: Split jiffies seqlock
From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 14 Feb 2013 22:36:59 +0100
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Replace jiffies_lock seqlock with a simple seqcounter and a rawlock so
it can be taken in atomic context on RT.
diff --git a/debian/patches-rt/tpm-remove-tpm_dev_wq_lock.patch b/debian/patches-rt/tpm-remove-tpm_dev_wq_lock.patch
index edc0d8a7920a..8c40eb4a0afa 100644
--- a/debian/patches-rt/tpm-remove-tpm_dev_wq_lock.patch
+++ b/debian/patches-rt/tpm-remove-tpm_dev_wq_lock.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Mon, 11 Feb 2019 11:33:11 +0100
Subject: [PATCH] tpm: remove tpm_dev_wq_lock
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Added in commit
diff --git a/debian/patches-rt/tpm_tis-fix-stall-after-iowrite-s.patch b/debian/patches-rt/tpm_tis-fix-stall-after-iowrite-s.patch
index edf486ab4106..4e46a1bffd31 100644
--- a/debian/patches-rt/tpm_tis-fix-stall-after-iowrite-s.patch
+++ b/debian/patches-rt/tpm_tis-fix-stall-after-iowrite-s.patch
@@ -1,7 +1,7 @@
From: Haris Okanovic <haris.okanovic@ni.com>
Date: Tue, 15 Aug 2017 15:13:08 -0500
Subject: [PATCH] tpm_tis: fix stall after iowrite*()s
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
ioread8() operations to TPM MMIO addresses can stall the cpu when
immediately following a sequence of iowrite*()'s to the same region.
diff --git a/debian/patches-rt/upstream-net-rt-remove-preemption-disabling-in-netif_rx.patch b/debian/patches-rt/upstream-net-rt-remove-preemption-disabling-in-netif_rx.patch
index 2e0932a53353..c1bd3648e954 100644
--- a/debian/patches-rt/upstream-net-rt-remove-preemption-disabling-in-netif_rx.patch
+++ b/debian/patches-rt/upstream-net-rt-remove-preemption-disabling-in-netif_rx.patch
@@ -1,7 +1,7 @@
Subject: net: Remove preemption disabling in netif_rx()
From: Priyanka Jain <Priyanka.Jain@freescale.com>
Date: Thu, 17 May 2012 09:35:11 +0530
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
1)enqueue_to_backlog() (called from netif_rx) should be
bind to a particluar CPU. This can be achieved by
@@ -38,7 +38,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
--- a/net/core/dev.c
+++ b/net/core/dev.c
-@@ -4698,7 +4698,7 @@ static int netif_rx_internal(struct sk_b
+@@ -4699,7 +4699,7 @@ static int netif_rx_internal(struct sk_b
struct rps_dev_flow voidflow, *rflow = &voidflow;
int cpu;
@@ -47,7 +47,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
rcu_read_lock();
cpu = get_rps_cpu(skb->dev, skb, &rflow);
-@@ -4708,14 +4708,14 @@ static int netif_rx_internal(struct sk_b
+@@ -4709,14 +4709,14 @@ static int netif_rx_internal(struct sk_b
ret = enqueue_to_backlog(skb, cpu, &rflow->last_qtail);
rcu_read_unlock();
diff --git a/debian/patches-rt/userfaultfd-Use-a-seqlock-instead-of-seqcount.patch b/debian/patches-rt/userfaultfd-Use-a-seqlock-instead-of-seqcount.patch
index 22927c91eb92..ec85ccde2556 100644
--- a/debian/patches-rt/userfaultfd-Use-a-seqlock-instead-of-seqcount.patch
+++ b/debian/patches-rt/userfaultfd-Use-a-seqlock-instead-of-seqcount.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Wed, 18 Dec 2019 12:25:09 +0100
Subject: [PATCH] userfaultfd: Use a seqlock instead of seqcount
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
On RT write_seqcount_begin() disables preemption which leads to warning
in add_wait_queue() while the spinlock_t is acquired.
diff --git a/debian/patches-rt/wait.h-include-atomic.h.patch b/debian/patches-rt/wait.h-include-atomic.h.patch
index 3f7dfb9393bf..bb3f80d6cf65 100644
--- a/debian/patches-rt/wait.h-include-atomic.h.patch
+++ b/debian/patches-rt/wait.h-include-atomic.h.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Mon, 28 Oct 2013 12:19:57 +0100
Subject: wait.h: include atomic.h
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
| CC init/main.o
|In file included from include/linux/mmzone.h:9:0,
diff --git a/debian/patches-rt/x86-Disable-HAVE_ARCH_JUMP_LABEL.patch b/debian/patches-rt/x86-Disable-HAVE_ARCH_JUMP_LABEL.patch
index 25d351a3d9e8..f0160e976755 100644
--- a/debian/patches-rt/x86-Disable-HAVE_ARCH_JUMP_LABEL.patch
+++ b/debian/patches-rt/x86-Disable-HAVE_ARCH_JUMP_LABEL.patch
@@ -4,7 +4,7 @@ Subject: [PATCH] x86: Disable HAVE_ARCH_JUMP_LABEL
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
__text_poke() does:
| local_irq_save(flags);
diff --git a/debian/patches-rt/x86-Enable-RT-also-on-32bit.patch b/debian/patches-rt/x86-Enable-RT-also-on-32bit.patch
index c01bc0f3c1a4..875420bea503 100644
--- a/debian/patches-rt/x86-Enable-RT-also-on-32bit.patch
+++ b/debian/patches-rt/x86-Enable-RT-also-on-32bit.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Thu, 7 Nov 2019 17:49:20 +0100
Subject: [PATCH] x86: Enable RT also on 32bit
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
---
diff --git a/debian/patches-rt/x86-Enable-RT.patch b/debian/patches-rt/x86-Enable-RT.patch
index db20e28bd88c..35c8a98285c0 100644
--- a/debian/patches-rt/x86-Enable-RT.patch
+++ b/debian/patches-rt/x86-Enable-RT.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Wed, 7 Aug 2019 18:15:38 +0200
Subject: [PATCH] x86: Allow to enable RT
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Allow to select RT.
diff --git a/debian/patches-rt/x86-crypto-reduce-preempt-disabled-regions.patch b/debian/patches-rt/x86-crypto-reduce-preempt-disabled-regions.patch
index 99202fd0ad51..376fe4aa5cc6 100644
--- a/debian/patches-rt/x86-crypto-reduce-preempt-disabled-regions.patch
+++ b/debian/patches-rt/x86-crypto-reduce-preempt-disabled-regions.patch
@@ -1,7 +1,7 @@
Subject: x86: crypto: Reduce preempt disabled regions
From: Peter Zijlstra <peterz@infradead.org>
Date: Mon, 14 Nov 2011 18:19:27 +0100
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Restrict the preempt disabled regions to the actual floating point
operations and enable preemption for the administrative actions.
diff --git a/debian/patches-rt/x86-highmem-add-a-already-used-pte-check.patch b/debian/patches-rt/x86-highmem-add-a-already-used-pte-check.patch
index bea0beb9e3d3..0e7de07f52ed 100644
--- a/debian/patches-rt/x86-highmem-add-a-already-used-pte-check.patch
+++ b/debian/patches-rt/x86-highmem-add-a-already-used-pte-check.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Mon, 11 Mar 2013 17:09:55 +0100
Subject: x86/highmem: Add a "already used pte" check
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
This is a copy from kmap_atomic_prot().
diff --git a/debian/patches-rt/x86-kvm-require-const-tsc-for-rt.patch b/debian/patches-rt/x86-kvm-require-const-tsc-for-rt.patch
index 431bc97eb62e..6f6e3210ed54 100644
--- a/debian/patches-rt/x86-kvm-require-const-tsc-for-rt.patch
+++ b/debian/patches-rt/x86-kvm-require-const-tsc-for-rt.patch
@@ -1,7 +1,7 @@
Subject: x86: kvm Require const tsc for RT
From: Thomas Gleixner <tglx@linutronix.de>
Date: Sun, 06 Nov 2011 12:26:18 +0100
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Non constant TSC is a nightmare on bare metal already, but with
virtualization it becomes a complete disaster because the workarounds
diff --git a/debian/patches-rt/x86-preempt-lazy.patch b/debian/patches-rt/x86-preempt-lazy.patch
index 99a4fedf6c8b..26ffc1ead407 100644
--- a/debian/patches-rt/x86-preempt-lazy.patch
+++ b/debian/patches-rt/x86-preempt-lazy.patch
@@ -1,7 +1,7 @@
Subject: x86: Support for lazy preemption
From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 01 Nov 2012 11:03:47 +0100
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
Implement the x86 pieces for lazy preempt.
diff --git a/debian/patches-rt/x86-stackprot-no-random-on-rt.patch b/debian/patches-rt/x86-stackprot-no-random-on-rt.patch
index 1bee0dd9a536..4dd6360d90df 100644
--- a/debian/patches-rt/x86-stackprot-no-random-on-rt.patch
+++ b/debian/patches-rt/x86-stackprot-no-random-on-rt.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 16 Dec 2010 14:25:18 +0100
Subject: x86: stackprotector: Avoid random pool on rt
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.4-rt3.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patches-5.6.10-rt5.tar.xz
CPU bringup calls into the random pool to initialize the stack
canary. During boot that works nicely even on RT as the might sleep
diff --git a/debian/templates/control.libc-dev.in b/debian/templates/control.libc-dev.in
index e66513ea9221..c62fa3c3f334 100644
--- a/debian/templates/control.libc-dev.in
+++ b/debian/templates/control.libc-dev.in
@@ -1,6 +1,9 @@
Package: linux-libc-dev
Section: devel
Depends: ${misc:Depends}
+# Remove this Provides when nothing Depends/Build-Depends/B-D-Arch on it.
+# See bug #959462.
+Provides: linux-kernel-headers
Multi-Arch: same
Description: Linux support headers for userspace development
This package provides userspaces headers from the Linux kernel. These headers