summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Andrzej Siewior <bigeasy@linutronix.de>2020-11-09 15:30:30 +0100
committerSebastian Andrzej Siewior <bigeasy@linutronix.de>2020-11-09 15:30:30 +0100
commit7d6cc66c51edf11cb0f02417a6f371579336a9e4 (patch)
tree4e6da93a7bcfb9cd5a306e218a0bda86e4441a7f
parent5dd7b25dacbc055dde96246ef03e154fd476febf (diff)
downloadlinux-rt-5.10-rc3-rt5-patches.tar.gz
[ANNOUNCE] v5.10-rc3-rt5v5.10-rc3-rt5-patches
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
-rw-r--r--patches/localversion.patch2
-rw-r--r--patches/signals-allow-rt-tasks-to-cache-one-sigqueue-struct.patch18
-rw-r--r--patches/tcp-Remove-superfluous-BH-disable-around-listening_h.patch2
-rw-r--r--patches/tpm_tis-fix-stall-after-iowrite-s.patch10
4 files changed, 17 insertions, 15 deletions
diff --git a/patches/localversion.patch b/patches/localversion.patch
index 03a80b8b0e80..72cdd2b3c760 100644
--- a/patches/localversion.patch
+++ b/patches/localversion.patch
@@ -10,4 +10,4 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
--- /dev/null
+++ b/localversion-rt
@@ -0,0 +1 @@
-+-rt4
++-rt5
diff --git a/patches/signals-allow-rt-tasks-to-cache-one-sigqueue-struct.patch b/patches/signals-allow-rt-tasks-to-cache-one-sigqueue-struct.patch
index 99b3ce936317..9ce4f1bceb3c 100644
--- a/patches/signals-allow-rt-tasks-to-cache-one-sigqueue-struct.patch
+++ b/patches/signals-allow-rt-tasks-to-cache-one-sigqueue-struct.patch
@@ -66,8 +66,8 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
#include <linux/file.h>
#include <linux/fs.h>
#include <linux/proc_fs.h>
-@@ -403,13 +404,30 @@ void task_join_group_stop(struct task_st
- }
+@@ -404,13 +405,30 @@ void task_join_group_stop(struct task_st
+ task_set_jobctl_pending(task, mask | JOBCTL_STOP_PENDING);
}
+static inline struct sigqueue *get_task_cache(struct task_struct *t)
@@ -98,7 +98,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
{
struct sigqueue *q = NULL;
struct user_struct *user;
-@@ -431,7 +449,10 @@ static struct sigqueue *
+@@ -432,7 +450,10 @@ static struct sigqueue *
rcu_read_unlock();
if (override_rlimit || likely(sigpending <= task_rlimit(t, RLIMIT_SIGPENDING))) {
@@ -110,7 +110,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
} else {
print_dropped_signal(sig);
}
-@@ -448,6 +469,13 @@ static struct sigqueue *
+@@ -449,6 +470,13 @@ static struct sigqueue *
return q;
}
@@ -124,7 +124,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
static void __sigqueue_free(struct sigqueue *q)
{
if (q->flags & SIGQUEUE_PREALLOC)
-@@ -457,6 +485,21 @@ static void __sigqueue_free(struct sigqu
+@@ -458,6 +486,21 @@ static void __sigqueue_free(struct sigqu
kmem_cache_free(sigqueue_cachep, q);
}
@@ -146,7 +146,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
void flush_sigqueue(struct sigpending *queue)
{
struct sigqueue *q;
-@@ -470,6 +513,21 @@ void flush_sigqueue(struct sigpending *q
+@@ -471,6 +514,21 @@ void flush_sigqueue(struct sigpending *q
}
/*
@@ -168,7 +168,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* Flush all pending signals for this kthread.
*/
void flush_signals(struct task_struct *t)
-@@ -593,7 +651,7 @@ static void collect_signal(int sig, stru
+@@ -594,7 +652,7 @@ static void collect_signal(int sig, stru
(info->si_code == SI_TIMER) &&
(info->si_sys_private);
@@ -177,7 +177,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
} else {
/*
* Ok, it wasn't in the queue. This must be
-@@ -630,6 +688,8 @@ int dequeue_signal(struct task_struct *t
+@@ -631,6 +689,8 @@ int dequeue_signal(struct task_struct *t
bool resched_timer = false;
int signr;
@@ -186,7 +186,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
/* We only dequeue private signals from ourselves, we don't let
* signalfd steal them
*/
-@@ -1834,7 +1894,8 @@ EXPORT_SYMBOL(kill_pid);
+@@ -1835,7 +1895,8 @@ EXPORT_SYMBOL(kill_pid);
*/
struct sigqueue *sigqueue_alloc(void)
{
diff --git a/patches/tcp-Remove-superfluous-BH-disable-around-listening_h.patch b/patches/tcp-Remove-superfluous-BH-disable-around-listening_h.patch
index 5b2843c7475c..541bca94d796 100644
--- a/patches/tcp-Remove-superfluous-BH-disable-around-listening_h.patch
+++ b/patches/tcp-Remove-superfluous-BH-disable-around-listening_h.patch
@@ -13,7 +13,9 @@ Drop local_bh_disable() around __inet_hash() which acquires
listening_hash->lock, invoke inet_ehash_nolisten() with disabled BH.
inet_unhash() conditionally acquires listening_hash->lock.
+Reported-by: Mike Galbraith <efault@gmx.de>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
+Link: https://lore.kernel.org/linux-rt-users/12d6f9879a97cd56c09fb53dee343cbb14f7f1f7.camel@gmx.de/
---
net/ipv4/inet_hashtables.c | 19 ++++++++++++-------
net/ipv6/inet6_hashtables.c | 5 +----
diff --git a/patches/tpm_tis-fix-stall-after-iowrite-s.patch b/patches/tpm_tis-fix-stall-after-iowrite-s.patch
index f2a7021cf9dd..445d8ab7d68a 100644
--- a/patches/tpm_tis-fix-stall-after-iowrite-s.patch
+++ b/patches/tpm_tis-fix-stall-after-iowrite-s.patch
@@ -25,7 +25,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
--- a/drivers/char/tpm/tpm_tis.c
+++ b/drivers/char/tpm/tpm_tis.c
-@@ -49,6 +49,31 @@ static inline struct tpm_tis_tcg_phy *to
+@@ -50,6 +50,31 @@ static inline struct tpm_tis_tcg_phy *to
return container_of(data, struct tpm_tis_tcg_phy, priv);
}
@@ -54,10 +54,10 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
+ tpm_tis_flush(iobase);
+}
+
- static bool interrupts = true;
- module_param(interrupts, bool, 0444);
+ static int interrupts = -1;
+ module_param(interrupts, int, 0444);
MODULE_PARM_DESC(interrupts, "Enable interrupts");
-@@ -146,7 +171,7 @@ static int tpm_tcg_write_bytes(struct tp
+@@ -169,7 +194,7 @@ static int tpm_tcg_write_bytes(struct tp
struct tpm_tis_tcg_phy *phy = to_tpm_tis_tcg_phy(data);
while (len--)
@@ -66,7 +66,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
return 0;
}
-@@ -173,7 +198,7 @@ static int tpm_tcg_write32(struct tpm_ti
+@@ -196,7 +221,7 @@ static int tpm_tcg_write32(struct tpm_ti
{
struct tpm_tis_tcg_phy *phy = to_tpm_tis_tcg_phy(data);