[ANNOUNCE] v6.10.2-rt13

From: Sebastian Andrzej Siewior
Date: Thu Aug 01 2024 - 05:40:52 EST


Dear RT folks!

I'm pleased to announce the v6.10.2-rt13 patch set.

Changes since v6.10.2-rt12:

- Guenter Roeck reported that tinyconfig builds broke. Patch by Linus
Torvalds.

- syzbot reported crashes with the tun driver. Patch by Jeongjun Park.

Known issues
None.

The delta patch against v6.10.2-rt12 is appended below and can be found here:

https://cdn.kernel.org/pub/linux/kernel/projects/rt/6.10/incr/patch-6.10.2-rt12-rt13.patch.xz

You can get this release via the git tree at:

https://git.kernel.org/pub/scm/linux/kernel/git/rt/linux-rt-devel.git v6.10.2-rt13

The RT patch against v6.10.2 can be found here:

https://cdn.kernel.org/pub/linux/kernel/projects/rt/6.10/older/patch-6.10.2-rt13.patch.xz

The split quilt queue is available at:

https://cdn.kernel.org/pub/linux/kernel/projects/rt/6.10/older/patches-6.10.2-rt13.tar.xz

Sebastian

diff --git a/kernel/task_work.c b/kernel/task_work.c
index 05fb41fe09f5d..8f9c30e732a0a 100644
--- a/kernel/task_work.c
+++ b/kernel/task_work.c
@@ -7,12 +7,14 @@

static struct callback_head work_exited; /* all we need is ->next == NULL */

+#ifdef CONFIG_IRQ_WORK
static void task_work_set_notify_irq(struct irq_work *entry)
{
test_and_set_tsk_thread_flag(current, TIF_NOTIFY_RESUME);
}
static DEFINE_PER_CPU(struct irq_work, irq_work_NMI_resume) =
IRQ_WORK_INIT_HARD(task_work_set_notify_irq);
+#endif

/**
* task_work_add - ask the @task to execute @work->func()
@@ -58,6 +60,8 @@ int task_work_add(struct task_struct *task, struct callback_head *work,
if (notify == TWA_NMI_CURRENT) {
if (WARN_ON_ONCE(task != current))
return -EINVAL;
+ if (!IS_ENABLED(CONFIG_IRQ_WORK))
+ return -EINVAL;
} else {
/* record the work call stack in order to print it in KASAN reports */
kasan_record_aux_stack(work);
@@ -82,9 +86,11 @@ int task_work_add(struct task_struct *task, struct callback_head *work,
case TWA_SIGNAL_NO_IPI:
__set_notify_signal(task);
break;
+#ifdef CONFIG_IRQ_WORK
case TWA_NMI_CURRENT:
irq_work_queue(this_cpu_ptr(&irq_work_NMI_resume));
break;
+#endif
default:
WARN_ON_ONCE(1);
break;
diff --git a/localversion-rt b/localversion-rt
index 6e44e540b927b..9f7d0bdbffb18 100644
--- a/localversion-rt
+++ b/localversion-rt
@@ -1 +1 @@
--rt12
+-rt13
diff --git a/net/core/dev.c b/net/core/dev.c
index 78184fe9e3882..cf00b2f662d54 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -5150,6 +5150,7 @@ int do_xdp_generic(struct bpf_prog *xdp_prog, struct sk_buff **pskb)
bpf_net_ctx_clear(bpf_net_ctx);
return XDP_DROP;
}
+ bpf_net_ctx_clear(bpf_net_ctx);
}
return XDP_PASS;
out_redir: