kernel: upgrade the kernel to the version 6.6.40

We upgrade the kernel to the version 6.6.40 to fix the following CVEs.
CVE-2023-46838: https://nvd.nist.gov/vuln/detail/CVE-2023-46838
CVE-2024-38667: https://nvd.nist.gov/vuln/detail/CVE-2024-38667
CVE-2024-38664: https://nvd.nist.gov/vuln/detail/CVE-2024-38664
CVE-2024-36971: https://nvd.nist.gov/vuln/detail/CVE-2024-36971
CVE-2024-36477: https://nvd.nist.gov/vuln/detail/CVE-2024-36477
CVE-2024-27022: https://nvd.nist.gov/vuln/detail/CVE-2024-27022
CVE-2024-27020: https://nvd.nist.gov/vuln/detail/CVE-2024-27020
CVE-2024-27018: https://nvd.nist.gov/vuln/detail/CVE-2024-27018
CVE-2024-26952: https://nvd.nist.gov/vuln/detail/CVE-2024-26952
CVE-2024-26934: https://nvd.nist.gov/vuln/detail/CVE-2024-26934
CVE-2024-26933: https://nvd.nist.gov/vuln/detail/CVE-2024-26933
CVE-2024-26930: https://nvd.nist.gov/vuln/detail/CVE-2024-26930
CVE-2024-26929: https://nvd.nist.gov/vuln/detail/CVE-2024-26929
CVE-2024-23307: https://nvd.nist.gov/vuln/detail/CVE-2024-23307
CVE-2024-0841: https://nvd.nist.gov/vuln/detail/CVE-2024-0841
CVE-2023-6610: https://nvd.nist.gov/vuln/detail/CVE-2023-6610
CVE-2023-6606: https://nvd.nist.gov/vuln/detail/CVE-2023-6606
CVE-2023-6535: https://nvd.nist.gov/vuln/detail/CVE-2023-6535
CVE-2023-6356: https://nvd.nist.gov/vuln/detail/CVE-2023-6356
CVE-2023-6270: https://nvd.nist.gov/vuln/detail/CVE-2023-6270
CVE-2023-46838: https://nvd.nist.gov/vuln/detail/CVE-2023-46838
CVE-2024-39291: https://nvd.nist.gov/vuln/detail/CVE-2024-39291
CVE-2024-39480: https://nvd.nist.gov/vuln/detail/CVE-2024-39480
CVE-2024-39479: https://nvd.nist.gov/vuln/detail/CVE-2024-39479
CVE-2024-39277: https://nvd.nist.gov/vuln/detail/CVE-2024-39277

The following changes we made to support the kernel upgrade.

For deb_patches folder:
1) We adapt the patch efi-lock-down-the-kernel-if-booted-in-secure-boot-
   mo.patch based on kernel-6.6.40 because of the changed context.
2) The patch 00xx-mod-fix-the-undefined-errors.patch is added to fix the
   mod build failure because symsearch.c is added in kernel-6.6.40.

For patches folder:
1) We adapt the patch 0001, 0016 and 0017 based on kernel-6.6.40.
2) Remove 0018-SUNRPC-use-request-size-to-initialize-bio_vec-in-
   svc.patch because it had been included in kernel-6.6.40.

Verification:
- Build kernel and out of tree modules success for rt and std.
- Build iso success for rt and std.
- Install success onto a All-in-One lab with rt kernel.
- Boot up successfully in the lab.
- The sanity testing was run and the test results PASS.
- The cyclictest benchmark was also run on the starlingx lab, the result
  is "samples:  86400000  avg: 1658.509   std_dev: 44.463 max: 4451
  99.9999th percentile: 2590", It is not big difference with 6.6.7.
- The network performance test had been done, the test results are
  almost same with kernel-6.6.7.

Closes-Bug: 2073449

Change-Id: I0f3bb1210f6ac454db52c22e621b111d22202196
Signed-off-by: Jiping Ma <jiping.ma2@windriver.com>
This commit is contained in:
Jiping Ma 2024-07-12 11:41:43 +00:00
parent b6f8503866
commit 2e912eed62
22 changed files with 459 additions and 307 deletions

View File

@ -0,0 +1,84 @@
From 8abf6b50d6591382d2cf256f7da1bd502da661a8 Mon Sep 17 00:00:00 2001
From: Jiping Ma <jiping.ma2@windriver.com>
Date: Fri, 12 Jul 2024 02:58:07 +0000
Subject: [PATCH 1/2] Update the patch for kernel 6.6.40
Upgrade kernel from 6.6.7 to 6.6.40. Need build kernel 6.6.40
with 6.1.27-bpo11 "debian" folder. Update the patch
efi-lock-down-the-kernel-if-booted-in-secure-boot-mo.patch
for context changes.
Signed-off-by: Jiping Ma <jiping.ma2@windriver.com>
---
...e-kernel-if-booted-in-secure-boot-mo.patch | 25 +++++++++++--------
1 file changed, 14 insertions(+), 11 deletions(-)
diff --git a/debian/patches/features/all/lockdown/efi-lock-down-the-kernel-if-booted-in-secure-boot-mo.patch b/debian/patches/features/all/lockdown/efi-lock-down-the-kernel-if-booted-in-secure-boot-mo.patch
index 9687fa9..0ab4db9 100644
--- a/debian/patches/features/all/lockdown/efi-lock-down-the-kernel-if-booted-in-secure-boot-mo.patch
+++ b/debian/patches/features/all/lockdown/efi-lock-down-the-kernel-if-booted-in-secure-boot-mo.patch
@@ -17,27 +17,27 @@ help text for LOCK_DOWN_IN_EFI_SECURE_BOOT needs to be adjusted to
mention that lockdown is triggered in integrity mode]
Signed-off-by: Salvatore Bonaccorso <carnil@debian.org>
---
- arch/x86/kernel/setup.c | 4 ++--
- drivers/firmware/efi/secureboot.c | 3 +++
- include/linux/security.h | 6 ++++++
- security/lockdown/Kconfig | 15 +++++++++++++++
- security/lockdown/lockdown.c | 2 +-
- 5 files changed, 27 insertions(+), 3 deletions(-)
+ arch/x86/kernel/setup.c | 4 ++--
+ drivers/firmware/efi/secureboot.c | 5 +++++
+ include/linux/security.h | 6 ++++++
+ security/lockdown/Kconfig | 15 +++++++++++++++
+ security/lockdown/lockdown.c | 2 +-
+ 5 files changed, 29 insertions(+), 3 deletions(-)
Index: debian-kernel/arch/x86/kernel/setup.c
===================================================================
--- debian-kernel.orig/arch/x86/kernel/setup.c
+++ debian-kernel/arch/x86/kernel/setup.c
-@@ -979,6 +979,8 @@ void __init setup_arch(char **cmdline_p)
+@@ -1028,6 +1028,8 @@ void __init setup_arch(char **cmdline_p)
if (efi_enabled(EFI_BOOT))
efi_init();
+ efi_set_secure_boot(boot_params.secure_boot);
+
reserve_ibft_region();
- dmi_setup();
+ x86_init.resources.dmi_setup();
-@@ -1130,8 +1132,6 @@ void __init setup_arch(char **cmdline_p)
+@@ -1190,8 +1192,6 @@ void __init setup_arch(char **cmdline_p)
/* Allocate bigger log buffer */
setup_log_buf(1);
@@ -73,7 +73,7 @@ Index: debian-kernel/include/linux/security.h
===================================================================
--- debian-kernel.orig/include/linux/security.h
+++ debian-kernel/include/linux/security.h
-@@ -451,6 +451,7 @@ int security_inode_notifysecctx(struct i
+@@ -486,6 +486,7 @@ int security_inode_notifysecctx(struct inode *inode, void *ctx, u32 ctxlen);
int security_inode_setsecctx(struct dentry *dentry, void *ctx, u32 ctxlen);
int security_inode_getsecctx(struct inode *inode, void **ctx, u32 *ctxlen);
int security_locked_down(enum lockdown_reason what);
@@ -81,7 +81,7 @@ Index: debian-kernel/include/linux/security.h
#else /* CONFIG_SECURITY */
static inline int call_blocking_lsm_notifier(enum lsm_event event, void *data)
-@@ -1291,6 +1292,11 @@ static inline int security_locked_down(e
+@@ -1404,6 +1405,11 @@ static inline int security_locked_down(enum lockdown_reason what)
{
return 0;
}
@@ -129,3 +129,6 @@ Index: debian-kernel/security/lockdown/lockdown.c
{
if (kernel_locked_down >= level)
return -EPERM;
+--
+2.43.0
+
--
2.43.0

View File

@ -0,0 +1,39 @@
From 687dd627b80f0f98ad5aa2e1fc9f94530bc63950 Mon Sep 17 00:00:00 2001
From: Jiping Ma <jiping.ma2@windriver.com>
Date: Thu, 11 Jul 2024 13:55:30 +0000
Subject: [PATCH 2/2] mod: fix the undefined errors
Add symsearch.real-$(TYPE).o to fix the following errors when building
mod.
/usr/bin/ld: modpost.real-lsb-32.o: in function `find_fromsym':
scripts/mod/modpost.c:1050: undefined reference to `symsearch_find_nearest'
/usr/bin/ld: modpost.real-lsb-32.o: in function `find_tosym':
scripts/mod/modpost.c:1065: undefined reference to `symsearch_find_nearest'
/usr/bin/ld: modpost.real-lsb-32.o: in function `find_fromsym':
scripts/mod/modpost.c:1050: undefined reference to `symsearch_find_nearest'
/usr/bin/ld: modpost.real-lsb-32.o: in function `parse_elf':
scripts/mod/modpost.c:579: undefined reference to `symsearch_init'
/usr/bin/ld: modpost.real-lsb-32.o: in function `parse_elf_finish':
scripts/mod/modpost.c:586: undefined reference to `symsearch_finish'
Signed-off-by: Jiping Ma <jiping.ma2@windriver.com>
---
debian/rules.d/scripts/mod/Makefile.real | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/debian/rules.d/scripts/mod/Makefile.real b/debian/rules.d/scripts/mod/Makefile.real
index 6d56ff6..40e3ca2 100644
--- a/debian/rules.d/scripts/mod/Makefile.real
+++ b/debian/rules.d/scripts/mod/Makefile.real
@@ -5,7 +5,7 @@ include $(top_rulesdir)/Makefile.inc
wrapperdir = $(top_rulesdir)/$(OUTDIR)
CFLAGS += -I $(CURDIR)/real-$(TYPE) -I $(wrapperdir)/real-$(TYPE)
-modpost.real-$(TYPE): file2alias.real-$(TYPE).o modpost.real-$(TYPE).o sumversion.real-$(TYPE).o
+modpost.real-$(TYPE): file2alias.real-$(TYPE).o modpost.real-$(TYPE).o sumversion.real-$(TYPE).o symsearch.real-$(TYPE).o
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^
%.real-$(TYPE).o: $(SOURCEDIR)/%.c real-$(TYPE)/devicetable-offsets.h
--
2.43.0

View File

@ -8,3 +8,5 @@
0008-linux-kbuild-Stop-building-bin2c-in-6.3.patch
0009-linux-perf-Update-build-rules-and-dependencies-for-c.patch
0010-rtla-fix-error-for-undefined-reference.patch
0011-Update-the-patch-for-kernel-6.6.40.patch
0012-mod-fix-the-undefined-errors.patch

View File

@ -24,7 +24,7 @@
# building.
# Tools needed: tar/sed
KERNEL_HEAD_COMMIT=0539614ef9daa0949cfe4855234dbe1c9f1da432
KERNEL_HEAD_COMMIT=a1cc143cd640beb4c378a16345e25853224b5522
DEBIAN_FILE=linux_6.1.27-1~bpo11%2B1.debian.tar.xz
tar xvf linux-yocto-${KERNEL_HEAD_COMMIT}.tar.gz

View File

@ -1,14 +1,14 @@
---
debver: 6.6.7
debver: 6.6.40
debname: linux-rt
dl_hook: dl_hook
dl_files:
linux-yocto-0539614ef9daa0949cfe4855234dbe1c9f1da432.tar.gz:
linux-yocto-a1cc143cd640beb4c378a16345e25853224b5522.tar.gz:
topdir: null
url:
"https://git.yoctoproject.org/linux-yocto/snapshot/\
linux-yocto-0539614ef9daa0949cfe4855234dbe1c9f1da432.tar.gz"
sha256sum: 8bd5948529e8771e031af680848797cf172724b3a136efec5c74d9cd4b5c19d0
linux-yocto-a1cc143cd640beb4c378a16345e25853224b5522.tar.gz"
sha256sum: cc316c6742a2848b9d8e2b198fe2ec5ad68d4e881fcbebf1612b6148afa2d557
linux_6.1.27-1~bpo11%2B1.debian.tar.xz:
topdir: null
url:

View File

@ -1,7 +1,7 @@
From cd317ab94d47726632145fb6296872648d6c13a2 Mon Sep 17 00:00:00 2001
From 52de1a7c4bcaf87293a85cc80324bb23ca6c1508 Mon Sep 17 00:00:00 2001
From: Chris Friesen <chris.friesen@windriver.com>
Date: Thu, 17 Jun 2021 01:28:11 -0700
Subject: [PATCH] Notification of death of arbitrary processes
Date: Thu, 17 Jun 2021 07:44:04 +0000
Subject: [PATCH 01/17] Notification of death of arbitrary processes
Note: this commit was copied from Titanium Cloud Rel2
@ -26,8 +26,10 @@ Signed-off-by: Jiping Ma <jiping.ma2@windriver.com>
Signed-off-by: Peng Zhang <Peng.Zhang2@windriver.com>
[lz: Adapted the patch for context changes.]
Signed-off-by: Li Zhou <li.zhou@windriver.com>
[jm: Adapted the patch for context changes.]
Signed-off-by: Jiping Ma <jiping.ma2@windriver.com>
---
include/linux/init_task.h | 8 ++
include/linux/init_task.h | 9 ++
include/linux/sched.h | 6 +
include/uapi/linux/prctl.h | 16 +++
init/Kconfig | 15 +++
@ -39,18 +41,19 @@ Signed-off-by: Li Zhou <li.zhou@windriver.com>
kernel/fork.c | 4 +
kernel/signal.c | 11 ++
kernel/sys.c | 8 ++
12 files changed, 350 insertions(+)
12 files changed, 351 insertions(+)
create mode 100644 kernel/death_notify.c
create mode 100644 kernel/death_notify.h
diff --git a/include/linux/init_task.h b/include/linux/init_task.h
index 40fc5813c..f1c786382 100644
index 40fc5813cf93..4fe260a1c280 100644
--- a/include/linux/init_task.h
+++ b/include/linux/init_task.h
@@ -27,6 +27,14 @@ extern struct fs_struct init_fs;
@@ -25,6 +25,15 @@
extern struct files_struct init_files;
extern struct fs_struct init_fs;
extern struct nsproxy init_nsproxy;
extern struct cred init_cred;
+
+#ifdef CONFIG_SIGEXIT
+#define INIT_SIGEXIT(tsk) \
+ .notify = LIST_HEAD_INIT(tsk.notify), \
@ -59,14 +62,14 @@ index 40fc5813c..f1c786382 100644
+#define INIT_SIGEXIT(tsk)
+#endif
+
extern struct cred init_cred;
#ifndef CONFIG_VIRT_CPU_ACCOUNTING_NATIVE
#define INIT_PREV_CPUTIME(x) .prev_cputime = { \
.lock = __RAW_SPIN_LOCK_UNLOCKED(x.prev_cputime.lock), \
diff --git a/include/linux/sched.h b/include/linux/sched.h
index ffb6eb55c..cf7f5602a 100644
index 77f01ac385f7..7b92c4d35ddd 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -1256,6 +1256,12 @@ struct task_struct {
@@ -1254,6 +1254,12 @@ struct task_struct {
short il_prev;
short pref_node_fork;
#endif
@ -80,7 +83,7 @@ index ffb6eb55c..cf7f5602a 100644
int numa_scan_seq;
unsigned int numa_scan_period;
diff --git a/include/uapi/linux/prctl.h b/include/uapi/linux/prctl.h
index a5e06dcbb..0478d9868 100644
index 370ed14b1ae0..4d5d1c7b7902 100644
--- a/include/uapi/linux/prctl.h
+++ b/include/uapi/linux/prctl.h
@@ -63,6 +63,22 @@
@ -107,10 +110,10 @@ index a5e06dcbb..0478d9868 100644
#define PR_GET_SECCOMP 21
#define PR_SET_SECCOMP 22
diff --git a/init/Kconfig b/init/Kconfig
index 2028ed4d5..818da5aa3 100644
index e403a2925635..b946cfd059b9 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -1882,6 +1882,21 @@ config DEBUG_PERF_USE_VMALLOC
@@ -1866,6 +1866,21 @@ config DEBUG_PERF_USE_VMALLOC
endmenu
@ -133,7 +136,7 @@ index 2028ed4d5..818da5aa3 100644
def_bool n
select SYSTEM_TRUSTED_KEYRING
diff --git a/init/init_task.c b/init/init_task.c
index ff6c4b9bf..ce2240882 100644
index ff6c4b9bfe6b..ce224088251c 100644
--- a/init/init_task.c
+++ b/init/init_task.c
@@ -129,6 +129,7 @@ struct task_struct init_task
@ -145,20 +148,20 @@ index ff6c4b9bf..ce2240882 100644
.timer_slack_ns = 50000, /* 50 usec default slack */
.thread_pid = &init_struct_pid,
diff --git a/kernel/Makefile b/kernel/Makefile
index ebc692242..269dbd3ca 100644
index ce105a5558fc..11fec2c76af0 100644
--- a/kernel/Makefile
+++ b/kernel/Makefile
@@ -111,6 +111,7 @@ obj-$(CONFIG_KCSAN) += kcsan/
@@ -113,6 +113,7 @@ obj-$(CONFIG_KCSAN) += kcsan/
obj-$(CONFIG_SHADOW_CALL_STACK) += scs.o
obj-$(CONFIG_HAVE_STATIC_CALL) += static_call.o
obj-$(CONFIG_HAVE_STATIC_CALL_INLINE) += static_call_inline.o
+obj-$(CONFIG_SIGEXIT) += death_notify.o
obj-$(CONFIG_CFI_CLANG) += cfi.o
obj-$(CONFIG_NUMA) += numa.o
obj-$(CONFIG_PERF_EVENTS) += events/
diff --git a/kernel/death_notify.c b/kernel/death_notify.c
new file mode 100644
index 000000000..5819d35a2
index 000000000000..5819d35a2564
--- /dev/null
+++ b/kernel/death_notify.c
@@ -0,0 +1,228 @@
@ -392,7 +395,7 @@ index 000000000..5819d35a2
+
diff --git a/kernel/death_notify.h b/kernel/death_notify.h
new file mode 100644
index 000000000..14a0995b7
index 000000000000..14a0995b79af
--- /dev/null
+++ b/kernel/death_notify.h
@@ -0,0 +1,46 @@
@ -443,10 +446,10 @@ index 000000000..14a0995b7
+#endif
+
diff --git a/kernel/exit.c b/kernel/exit.c
index bccfa4218..df6601e54 100644
index 21a59a6e1f2e..0b1bf34a1550 100644
--- a/kernel/exit.c
+++ b/kernel/exit.c
@@ -72,6 +72,9 @@
@@ -73,6 +73,9 @@
#include <linux/uaccess.h>
#include <asm/unistd.h>
#include <asm/mmu_context.h>
@ -456,7 +459,7 @@ index bccfa4218..df6601e54 100644
/*
* The default value should be high enough to not crash a system that randomly
@@ -250,6 +253,9 @@ void release_task(struct task_struct *p)
@@ -251,6 +254,9 @@ void release_task(struct task_struct *p)
cgroup_release(p);
write_lock_irq(&tasklist_lock);
@ -467,10 +470,10 @@ index bccfa4218..df6601e54 100644
thread_pid = get_pid(p->thread_pid);
__exit_signal(p);
diff --git a/kernel/fork.c b/kernel/fork.c
index 94f3f5947..91f1345b3 100644
index 869467885640..9a79ab5b7d77 100644
--- a/kernel/fork.c
+++ b/kernel/fork.c
@@ -2224,6 +2224,10 @@ static __latent_entropy struct task_struct *copy_process(
@@ -2466,6 +2466,10 @@ __latent_entropy struct task_struct *copy_process(
RCU_INIT_POINTER(p->bpf_storage, NULL);
p->bpf_ctx = NULL;
#endif
@ -482,10 +485,10 @@ index 94f3f5947..91f1345b3 100644
/* Perform scheduler related setup. Assign this task to a CPU. */
retval = sched_fork(clone_flags, p);
diff --git a/kernel/signal.c b/kernel/signal.c
index 5d45f5da2..dc8e3ff49 100644
index 09019017d669..883f7fa7f738 100644
--- a/kernel/signal.c
+++ b/kernel/signal.c
@@ -55,6 +55,9 @@
@@ -57,6 +57,9 @@
#include <asm/siginfo.h>
#include <asm/cacheflush.h>
#include <asm/syscall.h> /* for syscall_get_* */
@ -495,7 +498,7 @@ index 5d45f5da2..dc8e3ff49 100644
/*
* SLAB caches for signal bits.
@@ -2121,6 +2124,10 @@ bool do_notify_parent(struct task_struct *tsk, int sig)
@@ -2150,6 +2153,10 @@ bool do_notify_parent(struct task_struct *tsk, int sig)
__wake_up_parent(tsk, tsk->parent);
spin_unlock_irqrestore(&psig->siglock, flags);
@ -506,7 +509,7 @@ index 5d45f5da2..dc8e3ff49 100644
return autoreap;
}
@@ -2193,6 +2200,10 @@ static void do_notify_parent_cldstop(struct task_struct *tsk,
@@ -2222,6 +2229,10 @@ static void do_notify_parent_cldstop(struct task_struct *tsk,
*/
__wake_up_parent(tsk, parent);
spin_unlock_irqrestore(&sighand->siglock, flags);
@ -518,10 +521,10 @@ index 5d45f5da2..dc8e3ff49 100644
/*
diff --git a/kernel/sys.c b/kernel/sys.c
index c85e1abf7..cd1cb1d33 100644
index 44b575990333..4db207723ff9 100644
--- a/kernel/sys.c
+++ b/kernel/sys.c
@@ -75,6 +75,9 @@
@@ -76,6 +76,9 @@
#include <asm/unistd.h>
#include "uid16.h"
@ -531,7 +534,7 @@ index c85e1abf7..cd1cb1d33 100644
#ifndef SET_UNALIGN_CTL
# define SET_UNALIGN_CTL(a, b) (-EINVAL)
@@ -2504,6 +2507,11 @@ SYSCALL_DEFINE5(prctl, int, option, unsigned long, arg2, unsigned long, arg3,
@@ -2575,6 +2578,11 @@ SYSCALL_DEFINE5(prctl, int, option, unsigned long, arg2, unsigned long, arg3,
else
error = PR_MCE_KILL_DEFAULT;
break;
@ -544,5 +547,5 @@ index c85e1abf7..cd1cb1d33 100644
error = prctl_set_mm(arg2, arg3, arg4, arg5);
break;
--
2.17.1
2.43.0

View File

@ -1,4 +1,4 @@
From a3db39d04808391204a836dcadcc0997c33a5556 Mon Sep 17 00:00:00 2001
From b866d25ee24d62641b9e16a509d08ed4a4e0e1c7 Mon Sep 17 00:00:00 2001
From: Jiping Ma <jiping.ma2@windriver.com>
Date: Sun, 31 Mar 2024 20:13:57 -0700
Subject: [PATCH] Add driver versions for ice, i40e and iavf
@ -14,43 +14,43 @@ Signed-off-by: Jiping Ma <jiping.ma2@windriver.com>
drivers/net/ethernet/intel/i40e/i40e_main.c | 16 ++++++++++------
drivers/net/ethernet/intel/iavf/iavf.h | 1 +
drivers/net/ethernet/intel/iavf/iavf_ethtool.c | 1 +
drivers/net/ethernet/intel/iavf/iavf_main.c | 7 ++++++-
drivers/net/ethernet/intel/iavf/iavf_main.c | 8 ++++++--
drivers/net/ethernet/intel/ice/ice.h | 1 +
drivers/net/ethernet/intel/ice/ice_ethtool.c | 1 +
drivers/net/ethernet/intel/ice/ice_main.c | 15 +++++++++------
10 files changed, 39 insertions(+), 14 deletions(-)
10 files changed, 39 insertions(+), 15 deletions(-)
diff --git a/Makefile b/Makefile
index 504ee46be7a3..d895e81b31e5 100644
index 8ed7620308d1..2235636756b9 100644
--- a/Makefile
+++ b/Makefile
@@ -3,6 +3,9 @@ VERSION = 6
PATCHLEVEL = 6
SUBLEVEL = 7
EXTRAVERSION =
@@ -1227,6 +1227,9 @@ uapi-asm-generic:
# KERNELRELEASE can change from a few different places, meaning version.h
# needs to be updated, so this check is forced on all builds
+ICE_STX = "-stx.0"
+I40E_STX = "-stx.0"
+IAVF_STX = "-stx.0"
NAME = Hurr durr I'ma ninja sloth
# *DOCUMENTATION*
uts_len := 64
define filechk_utsrelease.h
@@ -1249,7 +1252,10 @@ define filechk_version.h
((c) > 255 ? 255 : (c)))'; \
echo \#define LINUX_VERSION_MAJOR $(VERSION); \
echo \#define LINUX_VERSION_PATCHLEVEL $(PATCHLEVEL); \
- echo \#define LINUX_VERSION_SUBLEVEL $(SUBLEVEL)
+ echo \#define LINUX_VERSION_SUBLEVEL $(SUBLEVEL); \
+ echo \#define LINUX_ICE_DRIVER_VERSION \"$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(ICE_STX)\"; \
+ echo \#define LINUX_ICE_DRIVER_VERSION \"$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(ICE_STX)\"; \
+ echo \#define LINUX_I40E_DRIVER_VERSION \"$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(I40E_STX)\"; \
+ echo \#define LINUX_IAVF_DRIVER_VERSION \"$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(IAVF_STX)\"
endef
ifneq ($(DISTRIBUTION_OFFICIAL_BUILD),)
diff --git a/drivers/net/ethernet/intel/i40e/i40e.h b/drivers/net/ethernet/intel/i40e/i40e.h
index 55bb0b5310d5..3cb6c5c2f96b 100644
index 3e6839ac1f0f..a72be4e1b318 100644
--- a/drivers/net/ethernet/intel/i40e/i40e.h
+++ b/drivers/net/ethernet/intel/i40e/i40e.h
@@ -1128,6 +1128,7 @@ static inline u32 i40e_get_pf_count(struct i40e_hw *hw)
@@ -1102,6 +1102,7 @@ static inline u32 i40e_get_pf_count(struct i40e_hw *hw)
int i40e_up(struct i40e_vsi *vsi);
void i40e_down(struct i40e_vsi *vsi);
extern const char i40e_driver_name[];
@ -59,33 +59,38 @@ index 55bb0b5310d5..3cb6c5c2f96b 100644
void i40e_do_reset(struct i40e_pf *pf, u32 reset_flags, bool lock_acquired);
int i40e_config_rss(struct i40e_vsi *vsi, u8 *seed, u8 *lut, u16 lut_size);
diff --git a/drivers/net/ethernet/intel/i40e/i40e_ethtool.c b/drivers/net/ethernet/intel/i40e/i40e_ethtool.c
index bd1321bf7e26..3f672eeb23a6 100644
index 4e90570ba780..d6a019b27add 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_ethtool.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_ethtool.c
@@ -2004,6 +2004,8 @@ static void i40e_get_drvinfo(struct net_device *netdev,
@@ -2005,6 +2005,8 @@ static void i40e_get_drvinfo(struct net_device *netdev,
struct i40e_pf *pf = vsi->back;
strscpy(drvinfo->driver, i40e_driver_name, sizeof(drvinfo->driver));
+ strlcpy(drvinfo->version, i40e_driver_version_str,
+ sizeof(drvinfo->version));
+ sizeof(drvinfo->version));
strscpy(drvinfo->fw_version, i40e_nvm_version_str(&pf->hw),
sizeof(drvinfo->fw_version));
strscpy(drvinfo->bus_info, pci_name(pf->pdev),
diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c
index a9f5a8a7d3f0..e35eb15896f2 100644
index f8d1a994c2f6..b8043e8cb9e2 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_main.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_main.c
@@ -5,8 +5,8 @@
#include <linux/of_net.h>
#include <linux/pci.h>
#include <linux/bpf.h>
@@ -1,13 +1,13 @@
// SPDX-License-Identifier: GPL-2.0
/* Copyright(c) 2013 - 2021 Intel Corporation. */
-#include <generated/utsrelease.h>
#include <linux/crash_dump.h>
#include <linux/if_bridge.h>
#include <linux/if_macvlan.h>
#include <linux/module.h>
#include <net/pkt_cls.h>
#include <net/xdp_sock_drv.h>
+#include <linux/version.h>
/* Local includes */
#include "i40e.h"
@@ -25,6 +25,8 @@ const char i40e_driver_name[] = "i40e";
@@ -28,6 +28,8 @@ const char i40e_driver_name[] = "i40e";
static const char i40e_driver_string[] =
"Intel(R) Ethernet Connection XL710 Network Driver";
@ -94,7 +99,7 @@ index a9f5a8a7d3f0..e35eb15896f2 100644
static const char i40e_copyright[] = "Copyright (c) 2013 - 2019 Intel Corporation.";
/* a bit of forward declarations */
@@ -98,6 +100,7 @@ MODULE_PARM_DESC(debug, "Debug level (0=none,...,16=all), Debug mask (0x8XXXXXXX
@@ -101,6 +103,7 @@ MODULE_PARM_DESC(debug, "Debug level (0=none,...,16=all), Debug mask (0x8XXXXXXX
MODULE_AUTHOR("Intel Corporation, <e1000-devel@lists.sourceforge.net>");
MODULE_DESCRIPTION("Intel(R) Ethernet Connection XL710 Network Driver");
MODULE_LICENSE("GPL v2");
@ -102,7 +107,7 @@ index a9f5a8a7d3f0..e35eb15896f2 100644
static struct workqueue_struct *i40e_wq;
@@ -10739,11 +10742,11 @@ static void i40e_send_version(struct i40e_pf *pf)
@@ -10783,11 +10786,11 @@ static void i40e_send_version(struct i40e_pf *pf)
{
struct i40e_driver_version dv;
@ -118,7 +123,7 @@ index a9f5a8a7d3f0..e35eb15896f2 100644
i40e_aq_send_driver_version(&pf->hw, &dv, NULL);
}
@@ -16722,7 +16725,8 @@ static int __init i40e_init_module(void)
@@ -16768,7 +16771,8 @@ static int __init i40e_init_module(void)
{
int err;
@ -129,10 +134,10 @@ index a9f5a8a7d3f0..e35eb15896f2 100644
/* There is no need to throttle the number of active tasks because
diff --git a/drivers/net/ethernet/intel/iavf/iavf.h b/drivers/net/ethernet/intel/iavf/iavf.h
index d8d7b62ceb24..9ee55faaeb65 100644
index 431d9d62c8c6..fec2e5bb77df 100644
--- a/drivers/net/ethernet/intel/iavf/iavf.h
+++ b/drivers/net/ethernet/intel/iavf/iavf.h
@@ -467,6 +467,7 @@ struct iavf_device {
@@ -468,6 +468,7 @@ struct iavf_device {
/* needed by iavf_ethtool.c */
extern char iavf_driver_name[];
@ -141,10 +146,10 @@ index d8d7b62ceb24..9ee55faaeb65 100644
static inline const char *iavf_state_str(enum iavf_state_t state)
{
diff --git a/drivers/net/ethernet/intel/iavf/iavf_ethtool.c b/drivers/net/ethernet/intel/iavf/iavf_ethtool.c
index 1b412754aa42..ac5c5c20e24d 100644
index 1ac97bd606e3..204f8305f728 100644
--- a/drivers/net/ethernet/intel/iavf/iavf_ethtool.c
+++ b/drivers/net/ethernet/intel/iavf/iavf_ethtool.c
@@ -585,6 +585,7 @@ static void iavf_get_drvinfo(struct net_device *netdev,
@@ -586,6 +586,7 @@ static void iavf_get_drvinfo(struct net_device *netdev,
struct iavf_adapter *adapter = netdev_priv(netdev);
strscpy(drvinfo->driver, iavf_driver_name, 32);
@ -153,7 +158,7 @@ index 1b412754aa42..ac5c5c20e24d 100644
strscpy(drvinfo->bus_info, pci_name(adapter->pdev), 32);
drvinfo->n_priv_flags = IAVF_PRIV_FLAGS_STR_LEN;
diff --git a/drivers/net/ethernet/intel/iavf/iavf_main.c b/drivers/net/ethernet/intel/iavf/iavf_main.c
index 68783a7b7096..1823a62e277b 100644
index ce0b91999526..10a96793c123 100644
--- a/drivers/net/ethernet/intel/iavf/iavf_main.c
+++ b/drivers/net/ethernet/intel/iavf/iavf_main.c
@@ -1,6 +1,7 @@
@ -168,7 +173,7 @@ index 68783a7b7096..1823a62e277b 100644
static const char iavf_driver_string[] =
"Intel(R) Ethernet Adaptive Virtual Function Network Driver";
+#define DRV_VERSION LINUX_IAVF_DRIVER_VERSION
+#define DRV_VERSION LINUX_IAVF_DRIVER_VERSION
+const char iavf_driver_version[] = DRV_VERSION;
static const char iavf_copyright[] =
"Copyright (c) 2013 - 2018 Intel Corporation.";
@ -181,18 +186,19 @@ index 68783a7b7096..1823a62e277b 100644
static const struct net_device_ops iavf_netdev_ops;
@@ -5239,7 +5243,8 @@ static struct pci_driver iavf_driver = {
@@ -5326,8 +5330,8 @@ static struct pci_driver iavf_driver = {
**/
static int __init iavf_init_module(void)
{
- pr_info("iavf: %s\n", iavf_driver_string);
-
+ pr_info("iavf: %s - version %s\n", iavf_driver_string,
+ iavf_driver_version);
+ iavf_driver_version);
pr_info("%s\n", iavf_copyright);
return pci_register_driver(&iavf_driver);
diff --git a/drivers/net/ethernet/intel/ice/ice.h b/drivers/net/ethernet/intel/ice/ice.h
index 5022b036ca4f..e0123dbd3dbc 100644
index c7962f322db2..2695794a5df7 100644
--- a/drivers/net/ethernet/intel/ice/ice.h
+++ b/drivers/net/ethernet/intel/ice/ice.h
@@ -77,6 +77,7 @@
@ -204,7 +210,7 @@ index 5022b036ca4f..e0123dbd3dbc 100644
#define ICE_REQ_DESC_MULTIPLE 32
#define ICE_MIN_NUM_DESC 64
diff --git a/drivers/net/ethernet/intel/ice/ice_ethtool.c b/drivers/net/ethernet/intel/ice/ice_ethtool.c
index ad4d4702129f..c31cd3a1610e 100644
index 39b5f24be7e4..456cf4785c74 100644
--- a/drivers/net/ethernet/intel/ice/ice_ethtool.c
+++ b/drivers/net/ethernet/intel/ice/ice_ethtool.c
@@ -358,6 +358,7 @@ __ice_get_drvinfo(struct net_device *netdev, struct ethtool_drvinfo *drvinfo,
@ -216,7 +222,7 @@ index ad4d4702129f..c31cd3a1610e 100644
/* Display NVM version (from which the firmware version can be
* determined) which contains more pertinent information.
diff --git a/drivers/net/ethernet/intel/ice/ice_main.c b/drivers/net/ethernet/intel/ice/ice_main.c
index 7784135160fd..945a2d0333bf 100644
index 600a2f537087..149984fb8ab0 100644
--- a/drivers/net/ethernet/intel/ice/ice_main.c
+++ b/drivers/net/ethernet/intel/ice/ice_main.c
@@ -5,7 +5,7 @@
@ -246,7 +252,7 @@ index 7784135160fd..945a2d0333bf 100644
MODULE_FIRMWARE(ICE_DDP_PKG_FILE);
static int debug = -1;
@@ -4188,11 +4191,11 @@ static int ice_send_version(struct ice_pf *pf)
@@ -4198,11 +4201,11 @@ static int ice_send_version(struct ice_pf *pf)
{
struct ice_driver_ver dv;
@ -262,7 +268,7 @@ index 7784135160fd..945a2d0333bf 100644
sizeof(dv.driver_string));
return ice_aq_send_driver_ver(&pf->hw, &dv, NULL);
}
@@ -5642,7 +5645,7 @@ static int __init ice_module_init(void)
@@ -5657,7 +5660,7 @@ static int __init ice_module_init(void)
{
int status = -ENOMEM;
@ -272,5 +278,5 @@ index 7784135160fd..945a2d0333bf 100644
ice_wq = alloc_workqueue("%s", 0, 0, KBUILD_MODNAME);
--
2.42.0
2.43.0

View File

@ -1,4 +1,4 @@
From 41770f71d22c46f30887d286512d2ab352c09e07 Mon Sep 17 00:00:00 2001
From 6cdb8d6b6ca8d1cdc7e7f6dbc2469fb81fc4062e Mon Sep 17 00:00:00 2001
From: Jiping Ma <jiping.ma2@windriver.com>
Date: Fri, 10 May 2024 20:24:31 -0700
Subject: [PATCH] ice: Use irq_update_affinity_hint
@ -25,49 +25,26 @@ And the i40e and iavf patches are accessible at:
Signed-off-by: Jiping Ma <jiping.ma2@windriver.com>
---
Makefile | 2 +-
drivers/net/ethernet/intel/ice/ice_lib.c | 2 +-
drivers/net/ethernet/intel/ice/ice_main.c | 4 ++--
3 files changed, 4 insertions(+), 4 deletions(-)
drivers/net/ethernet/intel/ice/ice_main.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/Makefile b/Makefile
index d895e81b31e5..ceadc649baf2 100644
index 2235636756b9..b545b2a4e667 100644
--- a/Makefile
+++ b/Makefile
@@ -3,7 +3,7 @@ VERSION = 6
PATCHLEVEL = 6
SUBLEVEL = 7
EXTRAVERSION =
@@ -1227,7 +1227,7 @@ uapi-asm-generic:
# KERNELRELEASE can change from a few different places, meaning version.h
# needs to be updated, so this check is forced on all builds
-ICE_STX = "-stx.0"
+ICE_STX = "-stx.1"
I40E_STX = "-stx.0"
IAVF_STX = "-stx.0"
NAME = Hurr durr I'ma ninja sloth
diff --git a/drivers/net/ethernet/intel/ice/ice_lib.c b/drivers/net/ethernet/intel/ice/ice_lib.c
index 73bbf06a76db..7d1346ffae8f 100644
--- a/drivers/net/ethernet/intel/ice/ice_lib.c
+++ b/drivers/net/ethernet/intel/ice/ice_lib.c
@@ -2771,7 +2771,7 @@ void ice_vsi_free_irq(struct ice_vsi *vsi)
irq_set_affinity_notifier(irq_num, NULL);
/* clear the affinity_mask in the IRQ descriptor */
- irq_set_affinity_hint(irq_num, NULL);
+ irq_update_affinity_hint(irq_num, NULL);
synchronize_irq(irq_num);
devm_free_irq(ice_pf_to_dev(pf), irq_num, vsi->q_vectors[i]);
}
diff --git a/drivers/net/ethernet/intel/ice/ice_main.c b/drivers/net/ethernet/intel/ice/ice_main.c
index 945a2d0333bf..de5032383c5c 100644
index 149984fb8ab0..c5ef2f422c34 100644
--- a/drivers/net/ethernet/intel/ice/ice_main.c
+++ b/drivers/net/ethernet/intel/ice/ice_main.c
@@ -2556,7 +2556,7 @@ static int ice_vsi_req_irq_msix(struct ice_vsi *vsi, char *basename)
}
/* assign the mask for this irq */
- irq_set_affinity_hint(irq_num, &q_vector->affinity_mask);
+ irq_update_affinity_hint(irq_num, &q_vector->affinity_mask);
}
err = ice_set_cpu_rx_rmap(vsi);
@@ -2574,7 +2574,7 @@ static int ice_vsi_req_irq_msix(struct ice_vsi *vsi, char *basename)
irq_num = vsi->q_vectors[vector]->irq.virq;
if (!IS_ENABLED(CONFIG_RFS_ACCEL))
@ -78,5 +55,5 @@ index 945a2d0333bf..de5032383c5c 100644
}
return err;
--
2.42.0
2.43.0

View File

@ -1,40 +0,0 @@
From 7054d0bcc43c621cd514b3bb488ff697d3aee74a Mon Sep 17 00:00:00 2001
From: Lucas Stach <l.stach@pengutronix.de>
Date: Wed, 17 Jan 2024 22:06:28 +0100
Subject: [PATCH] SUNRPC: use request size to initialize bio_vec in
svc_udp_sendto()
Use the proper size when setting up the bio_vec, as otherwise only
zero-length UDP packets will be sent.
Fixes: baabf59c2414 ("SUNRPC: Convert svc_udp_sendto() to use the per-socket bio_vec array")
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
(cherry picked from commit 1d9cabe2817edd215779dc9c2fe5e7ab9aac0704)
Signed-off-by: Matheus Guilhermino <Matheus.MachadoGuilhermino@windriver.com>
---
net/sunrpc/svcsock.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/net/sunrpc/svcsock.c b/net/sunrpc/svcsock.c
index 998687421fa6..e0ce4276274b 100644
--- a/net/sunrpc/svcsock.c
+++ b/net/sunrpc/svcsock.c
@@ -717,12 +717,12 @@ static int svc_udp_sendto(struct svc_rqst *rqstp)
ARRAY_SIZE(rqstp->rq_bvec), xdr);
iov_iter_bvec(&msg.msg_iter, ITER_SOURCE, rqstp->rq_bvec,
- count, 0);
+ count, rqstp->rq_res.len);
err = sock_sendmsg(svsk->sk_sock, &msg);
if (err == -ECONNREFUSED) {
/* ICMP error on earlier request. */
iov_iter_bvec(&msg.msg_iter, ITER_SOURCE, rqstp->rq_bvec,
- count, 0);
+ count, rqstp->rq_res.len);
err = sock_sendmsg(svsk->sk_sock, &msg);
}
--
2.34.1

View File

@ -15,4 +15,3 @@
0015-Add-the-pci-reboot-quirk-in-DMI-table-for-Dell-Power.patch
0016-Add-driver-versions-for-ice-i40e-and-iavf.patch
0017-ice-Use-irq_update_affinity_hint.patch
0018-SUNRPC-use-request-size-to-initialize-bio_vec-in-svc.patch

View File

@ -1,3 +1,9 @@
linux-rt (6.6.40-1) unstable; urgency=medium
* New upstream update:
https://git.yoctoproject.org/linux-yocto/log/?h=v6.6%2Fstandard%2Fpreempt-rt%2Fbase&qt=range&q=a1cc143cd640beb4c378a16345e25853224b5522
-- Jiping Ma <jiping.ma2@windriver.com> Fri, 12 Jul 2024 14:58:20 +0800
linux-rt (6.6.7-1) unstable; urgency=medium
* New upstream update:

View File

@ -0,0 +1,84 @@
From f898cef6d862223c6160d27218d3f13b5d67bf3d Mon Sep 17 00:00:00 2001
From: Jiping Ma <jiping.ma2@windriver.com>
Date: Fri, 12 Jul 2024 02:58:07 +0000
Subject: [PATCH] Update the patch for kernel 6.6.40
Upgrade kernel from 6.6.7 to 6.6.40. Need build kernel 6.6.40
with 6.1.27-bpo11 "debian" folder. Update the patch
efi-lock-down-the-kernel-if-booted-in-secure-boot-mo.patch
for context changes.
Signed-off-by: Jiping Ma <jiping.ma2@windriver.com>
---
...e-kernel-if-booted-in-secure-boot-mo.patch | 25 +++++++++++--------
1 file changed, 14 insertions(+), 11 deletions(-)
diff --git a/debian/patches/features/all/lockdown/efi-lock-down-the-kernel-if-booted-in-secure-boot-mo.patch b/debian/patches/features/all/lockdown/efi-lock-down-the-kernel-if-booted-in-secure-boot-mo.patch
index 9687fa9..0ab4db9 100644
--- a/debian/patches/features/all/lockdown/efi-lock-down-the-kernel-if-booted-in-secure-boot-mo.patch
+++ b/debian/patches/features/all/lockdown/efi-lock-down-the-kernel-if-booted-in-secure-boot-mo.patch
@@ -17,27 +17,27 @@ help text for LOCK_DOWN_IN_EFI_SECURE_BOOT needs to be adjusted to
mention that lockdown is triggered in integrity mode]
Signed-off-by: Salvatore Bonaccorso <carnil@debian.org>
---
- arch/x86/kernel/setup.c | 4 ++--
- drivers/firmware/efi/secureboot.c | 3 +++
- include/linux/security.h | 6 ++++++
- security/lockdown/Kconfig | 15 +++++++++++++++
- security/lockdown/lockdown.c | 2 +-
- 5 files changed, 27 insertions(+), 3 deletions(-)
+ arch/x86/kernel/setup.c | 4 ++--
+ drivers/firmware/efi/secureboot.c | 5 +++++
+ include/linux/security.h | 6 ++++++
+ security/lockdown/Kconfig | 15 +++++++++++++++
+ security/lockdown/lockdown.c | 2 +-
+ 5 files changed, 29 insertions(+), 3 deletions(-)
Index: debian-kernel/arch/x86/kernel/setup.c
===================================================================
--- debian-kernel.orig/arch/x86/kernel/setup.c
+++ debian-kernel/arch/x86/kernel/setup.c
-@@ -979,6 +979,8 @@ void __init setup_arch(char **cmdline_p)
+@@ -1028,6 +1028,8 @@ void __init setup_arch(char **cmdline_p)
if (efi_enabled(EFI_BOOT))
efi_init();
+ efi_set_secure_boot(boot_params.secure_boot);
+
reserve_ibft_region();
- dmi_setup();
+ x86_init.resources.dmi_setup();
-@@ -1130,8 +1132,6 @@ void __init setup_arch(char **cmdline_p)
+@@ -1190,8 +1192,6 @@ void __init setup_arch(char **cmdline_p)
/* Allocate bigger log buffer */
setup_log_buf(1);
@@ -73,7 +73,7 @@ Index: debian-kernel/include/linux/security.h
===================================================================
--- debian-kernel.orig/include/linux/security.h
+++ debian-kernel/include/linux/security.h
-@@ -451,6 +451,7 @@ int security_inode_notifysecctx(struct i
+@@ -486,6 +486,7 @@ int security_inode_notifysecctx(struct inode *inode, void *ctx, u32 ctxlen);
int security_inode_setsecctx(struct dentry *dentry, void *ctx, u32 ctxlen);
int security_inode_getsecctx(struct inode *inode, void **ctx, u32 *ctxlen);
int security_locked_down(enum lockdown_reason what);
@@ -81,7 +81,7 @@ Index: debian-kernel/include/linux/security.h
#else /* CONFIG_SECURITY */
static inline int call_blocking_lsm_notifier(enum lsm_event event, void *data)
-@@ -1291,6 +1292,11 @@ static inline int security_locked_down(e
+@@ -1404,6 +1405,11 @@ static inline int security_locked_down(enum lockdown_reason what)
{
return 0;
}
@@ -129,3 +129,6 @@ Index: debian-kernel/security/lockdown/lockdown.c
{
if (kernel_locked_down >= level)
return -EPERM;
+--
+2.43.0
+
--
2.43.0

View File

@ -0,0 +1,39 @@
From d44b04d55ed3b9c474e6aba7814bfd57fe01b220 Mon Sep 17 00:00:00 2001
From: Jiping Ma <jiping.ma2@windriver.com>
Date: Thu, 11 Jul 2024 13:55:30 +0000
Subject: [PATCH] mod: fix the undefined errors
Add symsearch.real-$(TYPE).o to fix the following errors when building
mod.
/usr/bin/ld: modpost.real-lsb-32.o: in function `find_fromsym':
scripts/mod/modpost.c:1050: undefined reference to `symsearch_find_nearest'
/usr/bin/ld: modpost.real-lsb-32.o: in function `find_tosym':
scripts/mod/modpost.c:1065: undefined reference to `symsearch_find_nearest'
/usr/bin/ld: modpost.real-lsb-32.o: in function `find_fromsym':
scripts/mod/modpost.c:1050: undefined reference to `symsearch_find_nearest'
/usr/bin/ld: modpost.real-lsb-32.o: in function `parse_elf':
scripts/mod/modpost.c:579: undefined reference to `symsearch_init'
/usr/bin/ld: modpost.real-lsb-32.o: in function `parse_elf_finish':
scripts/mod/modpost.c:586: undefined reference to `symsearch_finish'
Signed-off-by: Jiping Ma <jiping.ma2@windriver.com>
---
debian/rules.d/scripts/mod/Makefile.real | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/debian/rules.d/scripts/mod/Makefile.real b/debian/rules.d/scripts/mod/Makefile.real
index 6d56ff6..40e3ca2 100644
--- a/debian/rules.d/scripts/mod/Makefile.real
+++ b/debian/rules.d/scripts/mod/Makefile.real
@@ -5,7 +5,7 @@ include $(top_rulesdir)/Makefile.inc
wrapperdir = $(top_rulesdir)/$(OUTDIR)
CFLAGS += -I $(CURDIR)/real-$(TYPE) -I $(wrapperdir)/real-$(TYPE)
-modpost.real-$(TYPE): file2alias.real-$(TYPE).o modpost.real-$(TYPE).o sumversion.real-$(TYPE).o
+modpost.real-$(TYPE): file2alias.real-$(TYPE).o modpost.real-$(TYPE).o sumversion.real-$(TYPE).o symsearch.real-$(TYPE).o
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^
%.real-$(TYPE).o: $(SOURCEDIR)/%.c real-$(TYPE)/devicetable-offsets.h
--
2.43.0

View File

@ -7,3 +7,5 @@
0007-linux-kbuild-Stop-building-bin2c-in-6.3.patch
0008-linux-perf-Update-build-rules-and-dependencies-for-c.patch
0009-rtla-fix-error-for-undefined-reference.patch
0010-Update-the-patch-for-kernel-6.6.40.patch
0011-mod-fix-the-undefined-errors.patch

View File

@ -5,7 +5,7 @@
# be put at the same path where this script is located.
# Tools needed: tar
KERNEL_HEAD_COMMIT=a7d960cfa075eb93eef1e04e96940a35d1a49d79
KERNEL_HEAD_COMMIT=12524ba963715d599cd28515eb8814476b6bf1d9
DEBIAN_FILE=linux_6.1.27-1~bpo11%2B1.debian.tar.xz
tar xvf linux-yocto-${KERNEL_HEAD_COMMIT}.tar.gz

View File

@ -1,14 +1,14 @@
---
debver: 6.6.7
debver: 6.6.40
debname: linux
dl_hook: dl_hook
dl_files:
linux-yocto-a7d960cfa075eb93eef1e04e96940a35d1a49d79.tar.gz:
linux-yocto-12524ba963715d599cd28515eb8814476b6bf1d9.tar.gz:
topdir: null
url:
"https://git.yoctoproject.org/linux-yocto/snapshot/\
linux-yocto-a7d960cfa075eb93eef1e04e96940a35d1a49d79.tar.gz"
sha256sum: 908daef43545d465355db5971aee06ed7f5b1dcd7c8ba0389419e092072024db
linux-yocto-12524ba963715d599cd28515eb8814476b6bf1d9.tar.gz"
sha256sum: efe728c9ba5153a03b205d98566067402b96447e4ae6804d6fac677fe29a5faf
linux_6.1.27-1~bpo11%2B1.debian.tar.xz:
topdir: null
url:

View File

@ -1,7 +1,7 @@
From cd317ab94d47726632145fb6296872648d6c13a2 Mon Sep 17 00:00:00 2001
From 52de1a7c4bcaf87293a85cc80324bb23ca6c1508 Mon Sep 17 00:00:00 2001
From: Chris Friesen <chris.friesen@windriver.com>
Date: Thu, 17 Jun 2021 07:44:04 +0000
Subject: [PATCH] Notification of death of arbitrary processes
Subject: [PATCH 01/17] Notification of death of arbitrary processes
Note: this commit was copied from Titanium Cloud Rel2
@ -26,8 +26,10 @@ Signed-off-by: Jiping Ma <jiping.ma2@windriver.com>
Signed-off-by: Peng Zhang <Peng.Zhang2@windriver.com>
[lz: Adapted the patch for context changes.]
Signed-off-by: Li Zhou <li.zhou@windriver.com>
[jm: Adapted the patch for context changes.]
Signed-off-by: Jiping Ma <jiping.ma2@windriver.com>
---
include/linux/init_task.h | 8 ++
include/linux/init_task.h | 9 ++
include/linux/sched.h | 6 +
include/uapi/linux/prctl.h | 16 +++
init/Kconfig | 15 +++
@ -39,18 +41,19 @@ Signed-off-by: Li Zhou <li.zhou@windriver.com>
kernel/fork.c | 4 +
kernel/signal.c | 11 ++
kernel/sys.c | 8 ++
12 files changed, 350 insertions(+)
12 files changed, 351 insertions(+)
create mode 100644 kernel/death_notify.c
create mode 100644 kernel/death_notify.h
diff --git a/include/linux/init_task.h b/include/linux/init_task.h
index 40fc5813c..f1c786382 100644
index 40fc5813cf93..4fe260a1c280 100644
--- a/include/linux/init_task.h
+++ b/include/linux/init_task.h
@@ -27,6 +27,14 @@ extern struct fs_struct init_fs;
@@ -25,6 +25,15 @@
extern struct files_struct init_files;
extern struct fs_struct init_fs;
extern struct nsproxy init_nsproxy;
extern struct cred init_cred;
+
+#ifdef CONFIG_SIGEXIT
+#define INIT_SIGEXIT(tsk) \
+ .notify = LIST_HEAD_INIT(tsk.notify), \
@ -59,14 +62,14 @@ index 40fc5813c..f1c786382 100644
+#define INIT_SIGEXIT(tsk)
+#endif
+
extern struct cred init_cred;
#ifndef CONFIG_VIRT_CPU_ACCOUNTING_NATIVE
#define INIT_PREV_CPUTIME(x) .prev_cputime = { \
.lock = __RAW_SPIN_LOCK_UNLOCKED(x.prev_cputime.lock), \
diff --git a/include/linux/sched.h b/include/linux/sched.h
index ffb6eb55c..cf7f5602a 100644
index 77f01ac385f7..7b92c4d35ddd 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -1256,6 +1256,12 @@ struct task_struct {
@@ -1254,6 +1254,12 @@ struct task_struct {
short il_prev;
short pref_node_fork;
#endif
@ -80,7 +83,7 @@ index ffb6eb55c..cf7f5602a 100644
int numa_scan_seq;
unsigned int numa_scan_period;
diff --git a/include/uapi/linux/prctl.h b/include/uapi/linux/prctl.h
index a5e06dcbb..0478d9868 100644
index 370ed14b1ae0..4d5d1c7b7902 100644
--- a/include/uapi/linux/prctl.h
+++ b/include/uapi/linux/prctl.h
@@ -63,6 +63,22 @@
@ -107,10 +110,10 @@ index a5e06dcbb..0478d9868 100644
#define PR_GET_SECCOMP 21
#define PR_SET_SECCOMP 22
diff --git a/init/Kconfig b/init/Kconfig
index 2028ed4d5..818da5aa3 100644
index e403a2925635..b946cfd059b9 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -1882,6 +1882,21 @@ config DEBUG_PERF_USE_VMALLOC
@@ -1866,6 +1866,21 @@ config DEBUG_PERF_USE_VMALLOC
endmenu
@ -133,7 +136,7 @@ index 2028ed4d5..818da5aa3 100644
def_bool n
select SYSTEM_TRUSTED_KEYRING
diff --git a/init/init_task.c b/init/init_task.c
index ff6c4b9bf..ce2240882 100644
index ff6c4b9bfe6b..ce224088251c 100644
--- a/init/init_task.c
+++ b/init/init_task.c
@@ -129,6 +129,7 @@ struct task_struct init_task
@ -145,20 +148,20 @@ index ff6c4b9bf..ce2240882 100644
.timer_slack_ns = 50000, /* 50 usec default slack */
.thread_pid = &init_struct_pid,
diff --git a/kernel/Makefile b/kernel/Makefile
index ebc692242..269dbd3ca 100644
index ce105a5558fc..11fec2c76af0 100644
--- a/kernel/Makefile
+++ b/kernel/Makefile
@@ -111,6 +111,7 @@ obj-$(CONFIG_KCSAN) += kcsan/
@@ -113,6 +113,7 @@ obj-$(CONFIG_KCSAN) += kcsan/
obj-$(CONFIG_SHADOW_CALL_STACK) += scs.o
obj-$(CONFIG_HAVE_STATIC_CALL) += static_call.o
obj-$(CONFIG_HAVE_STATIC_CALL_INLINE) += static_call_inline.o
+obj-$(CONFIG_SIGEXIT) += death_notify.o
obj-$(CONFIG_CFI_CLANG) += cfi.o
obj-$(CONFIG_NUMA) += numa.o
obj-$(CONFIG_PERF_EVENTS) += events/
diff --git a/kernel/death_notify.c b/kernel/death_notify.c
new file mode 100644
index 000000000..5819d35a2
index 000000000000..5819d35a2564
--- /dev/null
+++ b/kernel/death_notify.c
@@ -0,0 +1,228 @@
@ -392,7 +395,7 @@ index 000000000..5819d35a2
+
diff --git a/kernel/death_notify.h b/kernel/death_notify.h
new file mode 100644
index 000000000..14a0995b7
index 000000000000..14a0995b79af
--- /dev/null
+++ b/kernel/death_notify.h
@@ -0,0 +1,46 @@
@ -443,10 +446,10 @@ index 000000000..14a0995b7
+#endif
+
diff --git a/kernel/exit.c b/kernel/exit.c
index bccfa4218..df6601e54 100644
index 21a59a6e1f2e..0b1bf34a1550 100644
--- a/kernel/exit.c
+++ b/kernel/exit.c
@@ -72,6 +72,9 @@
@@ -73,6 +73,9 @@
#include <linux/uaccess.h>
#include <asm/unistd.h>
#include <asm/mmu_context.h>
@ -456,7 +459,7 @@ index bccfa4218..df6601e54 100644
/*
* The default value should be high enough to not crash a system that randomly
@@ -250,6 +253,9 @@ void release_task(struct task_struct *p)
@@ -251,6 +254,9 @@ void release_task(struct task_struct *p)
cgroup_release(p);
write_lock_irq(&tasklist_lock);
@ -467,10 +470,10 @@ index bccfa4218..df6601e54 100644
thread_pid = get_pid(p->thread_pid);
__exit_signal(p);
diff --git a/kernel/fork.c b/kernel/fork.c
index 94f3f5947..91f1345b3 100644
index 869467885640..9a79ab5b7d77 100644
--- a/kernel/fork.c
+++ b/kernel/fork.c
@@ -2224,6 +2224,10 @@ static __latent_entropy struct task_struct *copy_process(
@@ -2466,6 +2466,10 @@ __latent_entropy struct task_struct *copy_process(
RCU_INIT_POINTER(p->bpf_storage, NULL);
p->bpf_ctx = NULL;
#endif
@ -482,10 +485,10 @@ index 94f3f5947..91f1345b3 100644
/* Perform scheduler related setup. Assign this task to a CPU. */
retval = sched_fork(clone_flags, p);
diff --git a/kernel/signal.c b/kernel/signal.c
index 5d45f5da2..dc8e3ff49 100644
index 09019017d669..883f7fa7f738 100644
--- a/kernel/signal.c
+++ b/kernel/signal.c
@@ -55,6 +55,9 @@
@@ -57,6 +57,9 @@
#include <asm/siginfo.h>
#include <asm/cacheflush.h>
#include <asm/syscall.h> /* for syscall_get_* */
@ -495,7 +498,7 @@ index 5d45f5da2..dc8e3ff49 100644
/*
* SLAB caches for signal bits.
@@ -2121,6 +2124,10 @@ bool do_notify_parent(struct task_struct *tsk, int sig)
@@ -2150,6 +2153,10 @@ bool do_notify_parent(struct task_struct *tsk, int sig)
__wake_up_parent(tsk, tsk->parent);
spin_unlock_irqrestore(&psig->siglock, flags);
@ -506,7 +509,7 @@ index 5d45f5da2..dc8e3ff49 100644
return autoreap;
}
@@ -2193,6 +2200,10 @@ static void do_notify_parent_cldstop(struct task_struct *tsk,
@@ -2222,6 +2229,10 @@ static void do_notify_parent_cldstop(struct task_struct *tsk,
*/
__wake_up_parent(tsk, parent);
spin_unlock_irqrestore(&sighand->siglock, flags);
@ -518,10 +521,10 @@ index 5d45f5da2..dc8e3ff49 100644
/*
diff --git a/kernel/sys.c b/kernel/sys.c
index c85e1abf7..cd1cb1d33 100644
index 44b575990333..4db207723ff9 100644
--- a/kernel/sys.c
+++ b/kernel/sys.c
@@ -75,6 +75,9 @@
@@ -76,6 +76,9 @@
#include <asm/unistd.h>
#include "uid16.h"
@ -531,7 +534,7 @@ index c85e1abf7..cd1cb1d33 100644
#ifndef SET_UNALIGN_CTL
# define SET_UNALIGN_CTL(a, b) (-EINVAL)
@@ -2504,6 +2507,11 @@ SYSCALL_DEFINE5(prctl, int, option, unsigned long, arg2, unsigned long, arg3,
@@ -2575,6 +2578,11 @@ SYSCALL_DEFINE5(prctl, int, option, unsigned long, arg2, unsigned long, arg3,
else
error = PR_MCE_KILL_DEFAULT;
break;
@ -544,5 +547,5 @@ index c85e1abf7..cd1cb1d33 100644
error = prctl_set_mm(arg2, arg3, arg4, arg5);
break;
--
2.17.1
2.43.0

View File

@ -1,4 +1,4 @@
From a3db39d04808391204a836dcadcc0997c33a5556 Mon Sep 17 00:00:00 2001
From b866d25ee24d62641b9e16a509d08ed4a4e0e1c7 Mon Sep 17 00:00:00 2001
From: Jiping Ma <jiping.ma2@windriver.com>
Date: Sun, 31 Mar 2024 20:13:57 -0700
Subject: [PATCH] Add driver versions for ice, i40e and iavf
@ -14,43 +14,43 @@ Signed-off-by: Jiping Ma <jiping.ma2@windriver.com>
drivers/net/ethernet/intel/i40e/i40e_main.c | 16 ++++++++++------
drivers/net/ethernet/intel/iavf/iavf.h | 1 +
drivers/net/ethernet/intel/iavf/iavf_ethtool.c | 1 +
drivers/net/ethernet/intel/iavf/iavf_main.c | 7 ++++++-
drivers/net/ethernet/intel/iavf/iavf_main.c | 8 ++++++--
drivers/net/ethernet/intel/ice/ice.h | 1 +
drivers/net/ethernet/intel/ice/ice_ethtool.c | 1 +
drivers/net/ethernet/intel/ice/ice_main.c | 15 +++++++++------
10 files changed, 39 insertions(+), 14 deletions(-)
10 files changed, 39 insertions(+), 15 deletions(-)
diff --git a/Makefile b/Makefile
index 504ee46be7a3..d895e81b31e5 100644
index 8ed7620308d1..2235636756b9 100644
--- a/Makefile
+++ b/Makefile
@@ -3,6 +3,9 @@ VERSION = 6
PATCHLEVEL = 6
SUBLEVEL = 7
EXTRAVERSION =
@@ -1227,6 +1227,9 @@ uapi-asm-generic:
# KERNELRELEASE can change from a few different places, meaning version.h
# needs to be updated, so this check is forced on all builds
+ICE_STX = "-stx.0"
+I40E_STX = "-stx.0"
+IAVF_STX = "-stx.0"
NAME = Hurr durr I'ma ninja sloth
# *DOCUMENTATION*
uts_len := 64
define filechk_utsrelease.h
@@ -1249,7 +1252,10 @@ define filechk_version.h
((c) > 255 ? 255 : (c)))'; \
echo \#define LINUX_VERSION_MAJOR $(VERSION); \
echo \#define LINUX_VERSION_PATCHLEVEL $(PATCHLEVEL); \
- echo \#define LINUX_VERSION_SUBLEVEL $(SUBLEVEL)
+ echo \#define LINUX_VERSION_SUBLEVEL $(SUBLEVEL); \
+ echo \#define LINUX_ICE_DRIVER_VERSION \"$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(ICE_STX)\"; \
+ echo \#define LINUX_ICE_DRIVER_VERSION \"$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(ICE_STX)\"; \
+ echo \#define LINUX_I40E_DRIVER_VERSION \"$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(I40E_STX)\"; \
+ echo \#define LINUX_IAVF_DRIVER_VERSION \"$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(IAVF_STX)\"
endef
ifneq ($(DISTRIBUTION_OFFICIAL_BUILD),)
diff --git a/drivers/net/ethernet/intel/i40e/i40e.h b/drivers/net/ethernet/intel/i40e/i40e.h
index 55bb0b5310d5..3cb6c5c2f96b 100644
index 3e6839ac1f0f..a72be4e1b318 100644
--- a/drivers/net/ethernet/intel/i40e/i40e.h
+++ b/drivers/net/ethernet/intel/i40e/i40e.h
@@ -1128,6 +1128,7 @@ static inline u32 i40e_get_pf_count(struct i40e_hw *hw)
@@ -1102,6 +1102,7 @@ static inline u32 i40e_get_pf_count(struct i40e_hw *hw)
int i40e_up(struct i40e_vsi *vsi);
void i40e_down(struct i40e_vsi *vsi);
extern const char i40e_driver_name[];
@ -59,33 +59,38 @@ index 55bb0b5310d5..3cb6c5c2f96b 100644
void i40e_do_reset(struct i40e_pf *pf, u32 reset_flags, bool lock_acquired);
int i40e_config_rss(struct i40e_vsi *vsi, u8 *seed, u8 *lut, u16 lut_size);
diff --git a/drivers/net/ethernet/intel/i40e/i40e_ethtool.c b/drivers/net/ethernet/intel/i40e/i40e_ethtool.c
index bd1321bf7e26..3f672eeb23a6 100644
index 4e90570ba780..d6a019b27add 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_ethtool.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_ethtool.c
@@ -2004,6 +2004,8 @@ static void i40e_get_drvinfo(struct net_device *netdev,
@@ -2005,6 +2005,8 @@ static void i40e_get_drvinfo(struct net_device *netdev,
struct i40e_pf *pf = vsi->back;
strscpy(drvinfo->driver, i40e_driver_name, sizeof(drvinfo->driver));
+ strlcpy(drvinfo->version, i40e_driver_version_str,
+ sizeof(drvinfo->version));
+ sizeof(drvinfo->version));
strscpy(drvinfo->fw_version, i40e_nvm_version_str(&pf->hw),
sizeof(drvinfo->fw_version));
strscpy(drvinfo->bus_info, pci_name(pf->pdev),
diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c
index a9f5a8a7d3f0..e35eb15896f2 100644
index f8d1a994c2f6..b8043e8cb9e2 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_main.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_main.c
@@ -5,8 +5,8 @@
#include <linux/of_net.h>
#include <linux/pci.h>
#include <linux/bpf.h>
@@ -1,13 +1,13 @@
// SPDX-License-Identifier: GPL-2.0
/* Copyright(c) 2013 - 2021 Intel Corporation. */
-#include <generated/utsrelease.h>
#include <linux/crash_dump.h>
#include <linux/if_bridge.h>
#include <linux/if_macvlan.h>
#include <linux/module.h>
#include <net/pkt_cls.h>
#include <net/xdp_sock_drv.h>
+#include <linux/version.h>
/* Local includes */
#include "i40e.h"
@@ -25,6 +25,8 @@ const char i40e_driver_name[] = "i40e";
@@ -28,6 +28,8 @@ const char i40e_driver_name[] = "i40e";
static const char i40e_driver_string[] =
"Intel(R) Ethernet Connection XL710 Network Driver";
@ -94,7 +99,7 @@ index a9f5a8a7d3f0..e35eb15896f2 100644
static const char i40e_copyright[] = "Copyright (c) 2013 - 2019 Intel Corporation.";
/* a bit of forward declarations */
@@ -98,6 +100,7 @@ MODULE_PARM_DESC(debug, "Debug level (0=none,...,16=all), Debug mask (0x8XXXXXXX
@@ -101,6 +103,7 @@ MODULE_PARM_DESC(debug, "Debug level (0=none,...,16=all), Debug mask (0x8XXXXXXX
MODULE_AUTHOR("Intel Corporation, <e1000-devel@lists.sourceforge.net>");
MODULE_DESCRIPTION("Intel(R) Ethernet Connection XL710 Network Driver");
MODULE_LICENSE("GPL v2");
@ -102,7 +107,7 @@ index a9f5a8a7d3f0..e35eb15896f2 100644
static struct workqueue_struct *i40e_wq;
@@ -10739,11 +10742,11 @@ static void i40e_send_version(struct i40e_pf *pf)
@@ -10783,11 +10786,11 @@ static void i40e_send_version(struct i40e_pf *pf)
{
struct i40e_driver_version dv;
@ -118,7 +123,7 @@ index a9f5a8a7d3f0..e35eb15896f2 100644
i40e_aq_send_driver_version(&pf->hw, &dv, NULL);
}
@@ -16722,7 +16725,8 @@ static int __init i40e_init_module(void)
@@ -16768,7 +16771,8 @@ static int __init i40e_init_module(void)
{
int err;
@ -129,10 +134,10 @@ index a9f5a8a7d3f0..e35eb15896f2 100644
/* There is no need to throttle the number of active tasks because
diff --git a/drivers/net/ethernet/intel/iavf/iavf.h b/drivers/net/ethernet/intel/iavf/iavf.h
index d8d7b62ceb24..9ee55faaeb65 100644
index 431d9d62c8c6..fec2e5bb77df 100644
--- a/drivers/net/ethernet/intel/iavf/iavf.h
+++ b/drivers/net/ethernet/intel/iavf/iavf.h
@@ -467,6 +467,7 @@ struct iavf_device {
@@ -468,6 +468,7 @@ struct iavf_device {
/* needed by iavf_ethtool.c */
extern char iavf_driver_name[];
@ -141,10 +146,10 @@ index d8d7b62ceb24..9ee55faaeb65 100644
static inline const char *iavf_state_str(enum iavf_state_t state)
{
diff --git a/drivers/net/ethernet/intel/iavf/iavf_ethtool.c b/drivers/net/ethernet/intel/iavf/iavf_ethtool.c
index 1b412754aa42..ac5c5c20e24d 100644
index 1ac97bd606e3..204f8305f728 100644
--- a/drivers/net/ethernet/intel/iavf/iavf_ethtool.c
+++ b/drivers/net/ethernet/intel/iavf/iavf_ethtool.c
@@ -585,6 +585,7 @@ static void iavf_get_drvinfo(struct net_device *netdev,
@@ -586,6 +586,7 @@ static void iavf_get_drvinfo(struct net_device *netdev,
struct iavf_adapter *adapter = netdev_priv(netdev);
strscpy(drvinfo->driver, iavf_driver_name, 32);
@ -153,7 +158,7 @@ index 1b412754aa42..ac5c5c20e24d 100644
strscpy(drvinfo->bus_info, pci_name(adapter->pdev), 32);
drvinfo->n_priv_flags = IAVF_PRIV_FLAGS_STR_LEN;
diff --git a/drivers/net/ethernet/intel/iavf/iavf_main.c b/drivers/net/ethernet/intel/iavf/iavf_main.c
index 68783a7b7096..1823a62e277b 100644
index ce0b91999526..10a96793c123 100644
--- a/drivers/net/ethernet/intel/iavf/iavf_main.c
+++ b/drivers/net/ethernet/intel/iavf/iavf_main.c
@@ -1,6 +1,7 @@
@ -168,7 +173,7 @@ index 68783a7b7096..1823a62e277b 100644
static const char iavf_driver_string[] =
"Intel(R) Ethernet Adaptive Virtual Function Network Driver";
+#define DRV_VERSION LINUX_IAVF_DRIVER_VERSION
+#define DRV_VERSION LINUX_IAVF_DRIVER_VERSION
+const char iavf_driver_version[] = DRV_VERSION;
static const char iavf_copyright[] =
"Copyright (c) 2013 - 2018 Intel Corporation.";
@ -181,18 +186,19 @@ index 68783a7b7096..1823a62e277b 100644
static const struct net_device_ops iavf_netdev_ops;
@@ -5239,7 +5243,8 @@ static struct pci_driver iavf_driver = {
@@ -5326,8 +5330,8 @@ static struct pci_driver iavf_driver = {
**/
static int __init iavf_init_module(void)
{
- pr_info("iavf: %s\n", iavf_driver_string);
-
+ pr_info("iavf: %s - version %s\n", iavf_driver_string,
+ iavf_driver_version);
+ iavf_driver_version);
pr_info("%s\n", iavf_copyright);
return pci_register_driver(&iavf_driver);
diff --git a/drivers/net/ethernet/intel/ice/ice.h b/drivers/net/ethernet/intel/ice/ice.h
index 5022b036ca4f..e0123dbd3dbc 100644
index c7962f322db2..2695794a5df7 100644
--- a/drivers/net/ethernet/intel/ice/ice.h
+++ b/drivers/net/ethernet/intel/ice/ice.h
@@ -77,6 +77,7 @@
@ -204,7 +210,7 @@ index 5022b036ca4f..e0123dbd3dbc 100644
#define ICE_REQ_DESC_MULTIPLE 32
#define ICE_MIN_NUM_DESC 64
diff --git a/drivers/net/ethernet/intel/ice/ice_ethtool.c b/drivers/net/ethernet/intel/ice/ice_ethtool.c
index ad4d4702129f..c31cd3a1610e 100644
index 39b5f24be7e4..456cf4785c74 100644
--- a/drivers/net/ethernet/intel/ice/ice_ethtool.c
+++ b/drivers/net/ethernet/intel/ice/ice_ethtool.c
@@ -358,6 +358,7 @@ __ice_get_drvinfo(struct net_device *netdev, struct ethtool_drvinfo *drvinfo,
@ -216,7 +222,7 @@ index ad4d4702129f..c31cd3a1610e 100644
/* Display NVM version (from which the firmware version can be
* determined) which contains more pertinent information.
diff --git a/drivers/net/ethernet/intel/ice/ice_main.c b/drivers/net/ethernet/intel/ice/ice_main.c
index 7784135160fd..945a2d0333bf 100644
index 600a2f537087..149984fb8ab0 100644
--- a/drivers/net/ethernet/intel/ice/ice_main.c
+++ b/drivers/net/ethernet/intel/ice/ice_main.c
@@ -5,7 +5,7 @@
@ -246,7 +252,7 @@ index 7784135160fd..945a2d0333bf 100644
MODULE_FIRMWARE(ICE_DDP_PKG_FILE);
static int debug = -1;
@@ -4188,11 +4191,11 @@ static int ice_send_version(struct ice_pf *pf)
@@ -4198,11 +4201,11 @@ static int ice_send_version(struct ice_pf *pf)
{
struct ice_driver_ver dv;
@ -262,7 +268,7 @@ index 7784135160fd..945a2d0333bf 100644
sizeof(dv.driver_string));
return ice_aq_send_driver_ver(&pf->hw, &dv, NULL);
}
@@ -5642,7 +5645,7 @@ static int __init ice_module_init(void)
@@ -5657,7 +5660,7 @@ static int __init ice_module_init(void)
{
int status = -ENOMEM;
@ -272,5 +278,5 @@ index 7784135160fd..945a2d0333bf 100644
ice_wq = alloc_workqueue("%s", 0, 0, KBUILD_MODNAME);
--
2.42.0
2.43.0

View File

@ -1,4 +1,4 @@
From 41770f71d22c46f30887d286512d2ab352c09e07 Mon Sep 17 00:00:00 2001
From 6cdb8d6b6ca8d1cdc7e7f6dbc2469fb81fc4062e Mon Sep 17 00:00:00 2001
From: Jiping Ma <jiping.ma2@windriver.com>
Date: Fri, 10 May 2024 20:24:31 -0700
Subject: [PATCH] ice: Use irq_update_affinity_hint
@ -25,49 +25,26 @@ And the i40e and iavf patches are accessible at:
Signed-off-by: Jiping Ma <jiping.ma2@windriver.com>
---
Makefile | 2 +-
drivers/net/ethernet/intel/ice/ice_lib.c | 2 +-
drivers/net/ethernet/intel/ice/ice_main.c | 4 ++--
3 files changed, 4 insertions(+), 4 deletions(-)
drivers/net/ethernet/intel/ice/ice_main.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/Makefile b/Makefile
index d895e81b31e5..ceadc649baf2 100644
index 2235636756b9..b545b2a4e667 100644
--- a/Makefile
+++ b/Makefile
@@ -3,7 +3,7 @@ VERSION = 6
PATCHLEVEL = 6
SUBLEVEL = 7
EXTRAVERSION =
@@ -1227,7 +1227,7 @@ uapi-asm-generic:
# KERNELRELEASE can change from a few different places, meaning version.h
# needs to be updated, so this check is forced on all builds
-ICE_STX = "-stx.0"
+ICE_STX = "-stx.1"
I40E_STX = "-stx.0"
IAVF_STX = "-stx.0"
NAME = Hurr durr I'ma ninja sloth
diff --git a/drivers/net/ethernet/intel/ice/ice_lib.c b/drivers/net/ethernet/intel/ice/ice_lib.c
index 73bbf06a76db..7d1346ffae8f 100644
--- a/drivers/net/ethernet/intel/ice/ice_lib.c
+++ b/drivers/net/ethernet/intel/ice/ice_lib.c
@@ -2771,7 +2771,7 @@ void ice_vsi_free_irq(struct ice_vsi *vsi)
irq_set_affinity_notifier(irq_num, NULL);
/* clear the affinity_mask in the IRQ descriptor */
- irq_set_affinity_hint(irq_num, NULL);
+ irq_update_affinity_hint(irq_num, NULL);
synchronize_irq(irq_num);
devm_free_irq(ice_pf_to_dev(pf), irq_num, vsi->q_vectors[i]);
}
diff --git a/drivers/net/ethernet/intel/ice/ice_main.c b/drivers/net/ethernet/intel/ice/ice_main.c
index 945a2d0333bf..de5032383c5c 100644
index 149984fb8ab0..c5ef2f422c34 100644
--- a/drivers/net/ethernet/intel/ice/ice_main.c
+++ b/drivers/net/ethernet/intel/ice/ice_main.c
@@ -2556,7 +2556,7 @@ static int ice_vsi_req_irq_msix(struct ice_vsi *vsi, char *basename)
}
/* assign the mask for this irq */
- irq_set_affinity_hint(irq_num, &q_vector->affinity_mask);
+ irq_update_affinity_hint(irq_num, &q_vector->affinity_mask);
}
err = ice_set_cpu_rx_rmap(vsi);
@@ -2574,7 +2574,7 @@ static int ice_vsi_req_irq_msix(struct ice_vsi *vsi, char *basename)
irq_num = vsi->q_vectors[vector]->irq.virq;
if (!IS_ENABLED(CONFIG_RFS_ACCEL))
@ -78,5 +55,5 @@ index 945a2d0333bf..de5032383c5c 100644
}
return err;
--
2.42.0
2.43.0

View File

@ -1,40 +0,0 @@
From 2f86ea6f73a0793308fc54fa4f89aaa07f30e0ff Mon Sep 17 00:00:00 2001
From: Lucas Stach <l.stach@pengutronix.de>
Date: Wed, 17 Jan 2024 22:06:28 +0100
Subject: [PATCH] SUNRPC: use request size to initialize bio_vec in
svc_udp_sendto()
Use the proper size when setting up the bio_vec, as otherwise only
zero-length UDP packets will be sent.
Fixes: baabf59c2414 ("SUNRPC: Convert svc_udp_sendto() to use the per-socket bio_vec array")
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
(cherry picked from commit 1d9cabe2817edd215779dc9c2fe5e7ab9aac0704)
Signed-off-by: Matheus Guilhermino <Matheus.MachadoGuilhermino@windriver.com>
---
net/sunrpc/svcsock.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/net/sunrpc/svcsock.c b/net/sunrpc/svcsock.c
index 998687421fa6..e0ce4276274b 100644
--- a/net/sunrpc/svcsock.c
+++ b/net/sunrpc/svcsock.c
@@ -717,12 +717,12 @@ static int svc_udp_sendto(struct svc_rqst *rqstp)
ARRAY_SIZE(rqstp->rq_bvec), xdr);
iov_iter_bvec(&msg.msg_iter, ITER_SOURCE, rqstp->rq_bvec,
- count, 0);
+ count, rqstp->rq_res.len);
err = sock_sendmsg(svsk->sk_sock, &msg);
if (err == -ECONNREFUSED) {
/* ICMP error on earlier request. */
iov_iter_bvec(&msg.msg_iter, ITER_SOURCE, rqstp->rq_bvec,
- count, 0);
+ count, rqstp->rq_res.len);
err = sock_sendmsg(svsk->sk_sock, &msg);
}
--
2.34.1

View File

@ -15,4 +15,3 @@
0015-Add-the-pci-reboot-quirk-in-DMI-table-for-Dell-Power.patch
0016-Add-driver-versions-for-ice-i40e-and-iavf.patch
0017-ice-Use-irq_update_affinity_hint.patch
0018-SUNRPC-use-request-size-to-initialize-bio_vec-in-svc.patch

View File

@ -1,3 +1,9 @@
linux (6.6.40-1) unstable; urgency=medium
* New upstream update:
https://git.yoctoproject.org/linux-yocto/log/?h=v6.6%2Fstandard%2Fbase&qt=range&q=12524ba963715d599cd28515eb8814476b6bf1d9
-- Jiping Ma <jiping.ma2@windriver.com> Wed, 10 Jul 2024 16:37:34 +0800
linux (6.6.7-1) unstable; urgency=medium
* New upstream update: