kernel-6.7.11-200
* Wed Mar 27 2024 Augusto Caringi <acaringi@redhat.com> [6.7.11-0] - Config updates for stable (Justin M. Forbes) - xfs: fix SEEK_HOLE/DATA for regions with active COW extents (Dave Chinner) - drm/amd: Flush GFXOFF requests in prepare stage (Mario Limonciello) - Linux v6.7.11 Resolves: Signed-off-by: Augusto Caringi <acaringi@redhat.com>
This commit is contained in:
parent
feb1233eff
commit
ec05818cc1
15 changed files with 92 additions and 219 deletions
|
|
@ -1,3 +1,9 @@
|
|||
"https://gitlab.com/cki-project/kernel-ark/-/commit"/c0412c5250f7bdb2ea61b61f27eada0d8a135692
|
||||
c0412c5250f7bdb2ea61b61f27eada0d8a135692 xfs: fix SEEK_HOLE/DATA for regions with active COW extents
|
||||
|
||||
"https://gitlab.com/cki-project/kernel-ark/-/commit"/fed615a24400369495f10f93cd7f644e7983020a
|
||||
fed615a24400369495f10f93cd7f644e7983020a drm/amd: Flush GFXOFF requests in prepare stage
|
||||
|
||||
"https://gitlab.com/cki-project/kernel-ark/-/commit"/f65fe5e93408aed742291b98358a9873317a59ef
|
||||
f65fe5e93408aed742291b98358a9873317a59ef Bluetooth: rfcomm: Fix null-ptr-deref in rfcomm_check_security
|
||||
|
||||
|
|
|
|||
|
|
@ -2765,6 +2765,7 @@ CONFIG_GPIO_TPS65086=m
|
|||
CONFIG_GPIO_TPS65219=m
|
||||
CONFIG_GPIO_TPS6586X=y
|
||||
# CONFIG_GPIO_TS4900 is not set
|
||||
# CONFIG_GPIO_VF610 is not set
|
||||
# CONFIG_GPIO_VIPERBOARD is not set
|
||||
CONFIG_GPIO_VIRTIO=m
|
||||
CONFIG_GPIO_WATCHDOG=m
|
||||
|
|
|
|||
|
|
@ -2748,6 +2748,7 @@ CONFIG_GPIO_TPS65086=m
|
|||
CONFIG_GPIO_TPS65219=m
|
||||
CONFIG_GPIO_TPS6586X=y
|
||||
# CONFIG_GPIO_TS4900 is not set
|
||||
# CONFIG_GPIO_VF610 is not set
|
||||
# CONFIG_GPIO_VIPERBOARD is not set
|
||||
CONFIG_GPIO_VIRTIO=m
|
||||
CONFIG_GPIO_WATCHDOG=m
|
||||
|
|
|
|||
|
|
@ -2248,6 +2248,7 @@ CONFIG_GPIO_TEGRA186=y
|
|||
CONFIG_GPIO_TEGRA=y
|
||||
# CONFIG_GPIO_THUNDERX is not set
|
||||
# CONFIG_GPIO_TPIC2810 is not set
|
||||
# CONFIG_GPIO_VF610 is not set
|
||||
# CONFIG_GPIO_VIPERBOARD is not set
|
||||
# CONFIG_GPIO_VIRTIO is not set
|
||||
# CONFIG_GPIO_VX855 is not set
|
||||
|
|
@ -6937,6 +6938,8 @@ CONFIG_TEE=m
|
|||
CONFIG_TEGRA186_GPC_DMA=m
|
||||
CONFIG_TEGRA186_TIMER=y
|
||||
CONFIG_TEGRA20_APB_DMA=y
|
||||
CONFIG_TEGRA210_ADMA=m
|
||||
CONFIG_TEGRA_ACONNECT=m
|
||||
CONFIG_TEGRA_BPMP_THERMAL=m
|
||||
# CONFIG_TEGRA_GMI is not set
|
||||
CONFIG_TEGRA_HOST1X_FIREWALL=y
|
||||
|
|
|
|||
|
|
@ -2232,6 +2232,7 @@ CONFIG_GPIO_TEGRA186=y
|
|||
CONFIG_GPIO_TEGRA=y
|
||||
# CONFIG_GPIO_THUNDERX is not set
|
||||
# CONFIG_GPIO_TPIC2810 is not set
|
||||
# CONFIG_GPIO_VF610 is not set
|
||||
# CONFIG_GPIO_VIPERBOARD is not set
|
||||
# CONFIG_GPIO_VIRTIO is not set
|
||||
# CONFIG_GPIO_VX855 is not set
|
||||
|
|
@ -6912,6 +6913,8 @@ CONFIG_TEE=m
|
|||
CONFIG_TEGRA186_GPC_DMA=m
|
||||
CONFIG_TEGRA186_TIMER=y
|
||||
CONFIG_TEGRA20_APB_DMA=y
|
||||
CONFIG_TEGRA210_ADMA=m
|
||||
CONFIG_TEGRA_ACONNECT=m
|
||||
CONFIG_TEGRA_BPMP_THERMAL=m
|
||||
# CONFIG_TEGRA_GMI is not set
|
||||
CONFIG_TEGRA_HOST1X_FIREWALL=y
|
||||
|
|
|
|||
|
|
@ -2765,6 +2765,7 @@ CONFIG_GPIO_TPS65086=m
|
|||
CONFIG_GPIO_TPS65219=m
|
||||
CONFIG_GPIO_TPS6586X=y
|
||||
# CONFIG_GPIO_TS4900 is not set
|
||||
# CONFIG_GPIO_VF610 is not set
|
||||
# CONFIG_GPIO_VIPERBOARD is not set
|
||||
CONFIG_GPIO_VIRTIO=m
|
||||
CONFIG_GPIO_WATCHDOG=m
|
||||
|
|
|
|||
|
|
@ -2244,6 +2244,7 @@ CONFIG_GPIO_TEGRA186=y
|
|||
CONFIG_GPIO_TEGRA=y
|
||||
# CONFIG_GPIO_THUNDERX is not set
|
||||
# CONFIG_GPIO_TPIC2810 is not set
|
||||
# CONFIG_GPIO_VF610 is not set
|
||||
# CONFIG_GPIO_VIPERBOARD is not set
|
||||
# CONFIG_GPIO_VIRTIO is not set
|
||||
# CONFIG_GPIO_VX855 is not set
|
||||
|
|
@ -6933,6 +6934,8 @@ CONFIG_TEE=m
|
|||
CONFIG_TEGRA186_GPC_DMA=m
|
||||
CONFIG_TEGRA186_TIMER=y
|
||||
CONFIG_TEGRA20_APB_DMA=y
|
||||
CONFIG_TEGRA210_ADMA=m
|
||||
CONFIG_TEGRA_ACONNECT=m
|
||||
CONFIG_TEGRA_BPMP_THERMAL=m
|
||||
# CONFIG_TEGRA_GMI is not set
|
||||
CONFIG_TEGRA_HOST1X_FIREWALL=y
|
||||
|
|
|
|||
|
|
@ -2748,6 +2748,7 @@ CONFIG_GPIO_TPS65086=m
|
|||
CONFIG_GPIO_TPS65219=m
|
||||
CONFIG_GPIO_TPS6586X=y
|
||||
# CONFIG_GPIO_TS4900 is not set
|
||||
# CONFIG_GPIO_VF610 is not set
|
||||
# CONFIG_GPIO_VIPERBOARD is not set
|
||||
CONFIG_GPIO_VIRTIO=m
|
||||
CONFIG_GPIO_WATCHDOG=m
|
||||
|
|
|
|||
|
|
@ -2228,6 +2228,7 @@ CONFIG_GPIO_TEGRA186=y
|
|||
CONFIG_GPIO_TEGRA=y
|
||||
# CONFIG_GPIO_THUNDERX is not set
|
||||
# CONFIG_GPIO_TPIC2810 is not set
|
||||
# CONFIG_GPIO_VF610 is not set
|
||||
# CONFIG_GPIO_VIPERBOARD is not set
|
||||
# CONFIG_GPIO_VIRTIO is not set
|
||||
# CONFIG_GPIO_VX855 is not set
|
||||
|
|
@ -6908,6 +6909,8 @@ CONFIG_TEE=m
|
|||
CONFIG_TEGRA186_GPC_DMA=m
|
||||
CONFIG_TEGRA186_TIMER=y
|
||||
CONFIG_TEGRA20_APB_DMA=y
|
||||
CONFIG_TEGRA210_ADMA=m
|
||||
CONFIG_TEGRA_ACONNECT=m
|
||||
CONFIG_TEGRA_BPMP_THERMAL=m
|
||||
# CONFIG_TEGRA_GMI is not set
|
||||
CONFIG_TEGRA_HOST1X_FIREWALL=y
|
||||
|
|
|
|||
|
|
@ -2283,6 +2283,7 @@ CONFIG_GPIO_TEGRA186=y
|
|||
CONFIG_GPIO_TEGRA=y
|
||||
# CONFIG_GPIO_THUNDERX is not set
|
||||
# CONFIG_GPIO_TPIC2810 is not set
|
||||
# CONFIG_GPIO_VF610 is not set
|
||||
# CONFIG_GPIO_VIPERBOARD is not set
|
||||
# CONFIG_GPIO_VIRTIO is not set
|
||||
# CONFIG_GPIO_VX855 is not set
|
||||
|
|
@ -6986,6 +6987,8 @@ CONFIG_TEE=m
|
|||
CONFIG_TEGRA186_GPC_DMA=m
|
||||
CONFIG_TEGRA186_TIMER=y
|
||||
CONFIG_TEGRA20_APB_DMA=y
|
||||
CONFIG_TEGRA210_ADMA=m
|
||||
CONFIG_TEGRA_ACONNECT=m
|
||||
CONFIG_TEGRA_BPMP_THERMAL=m
|
||||
# CONFIG_TEGRA_GMI is not set
|
||||
CONFIG_TEGRA_HOST1X_FIREWALL=y
|
||||
|
|
|
|||
|
|
@ -2267,6 +2267,7 @@ CONFIG_GPIO_TEGRA186=y
|
|||
CONFIG_GPIO_TEGRA=y
|
||||
# CONFIG_GPIO_THUNDERX is not set
|
||||
# CONFIG_GPIO_TPIC2810 is not set
|
||||
# CONFIG_GPIO_VF610 is not set
|
||||
# CONFIG_GPIO_VIPERBOARD is not set
|
||||
# CONFIG_GPIO_VIRTIO is not set
|
||||
# CONFIG_GPIO_VX855 is not set
|
||||
|
|
@ -6961,6 +6962,8 @@ CONFIG_TEE=m
|
|||
CONFIG_TEGRA186_GPC_DMA=m
|
||||
CONFIG_TEGRA186_TIMER=y
|
||||
CONFIG_TEGRA20_APB_DMA=y
|
||||
CONFIG_TEGRA210_ADMA=m
|
||||
CONFIG_TEGRA_ACONNECT=m
|
||||
CONFIG_TEGRA_BPMP_THERMAL=m
|
||||
# CONFIG_TEGRA_GMI is not set
|
||||
CONFIG_TEGRA_HOST1X_FIREWALL=y
|
||||
|
|
|
|||
|
|
@ -1,3 +1,10 @@
|
|||
* Wed Mar 27 2024 Augusto Caringi <acaringi@redhat.com> [6.7.11-0]
|
||||
- Config updates for stable (Justin M. Forbes)
|
||||
- xfs: fix SEEK_HOLE/DATA for regions with active COW extents (Dave Chinner)
|
||||
- drm/amd: Flush GFXOFF requests in prepare stage (Mario Limonciello)
|
||||
- Linux v6.7.11
|
||||
Resolves:
|
||||
|
||||
* Mon Mar 18 2024 Augusto Caringi <acaringi@redhat.com> [6.7.10-0]
|
||||
- redhat/configs: Enable CONFIG_MITIGATION_RFDS (Augusto Caringi)
|
||||
- Linux v6.7.10
|
||||
|
|
|
|||
14
kernel.spec
14
kernel.spec
|
|
@ -160,18 +160,18 @@ Summary: The Linux kernel
|
|||
# the --with-release option overrides this setting.)
|
||||
%define debugbuildsenabled 1
|
||||
# define buildid .local
|
||||
%define specrpmversion 6.7.10
|
||||
%define specversion 6.7.10
|
||||
%define specrpmversion 6.7.11
|
||||
%define specversion 6.7.11
|
||||
%define patchversion 6.7
|
||||
%define pkgrelease 200
|
||||
%define kversion 6
|
||||
%define tarfile_release 6.7.10
|
||||
%define tarfile_release 6.7.11
|
||||
# This is needed to do merge window version magic
|
||||
%define patchlevel 7
|
||||
# This allows pkg_release to have configurable %%{?dist} tag
|
||||
%define specrelease 200%{?buildid}%{?dist}
|
||||
# This defines the kabi tarball version
|
||||
%define kabiversion 6.7.10
|
||||
%define kabiversion 6.7.11
|
||||
|
||||
# If this variable is set to 1, a bpf selftests build failure will cause a
|
||||
# fatal kernel package build error
|
||||
|
|
@ -3847,6 +3847,12 @@ fi\
|
|||
#
|
||||
#
|
||||
%changelog
|
||||
* Wed Mar 27 2024 Augusto Caringi <acaringi@redhat.com> [6.7.11-0]
|
||||
- Config updates for stable (Justin M. Forbes)
|
||||
- xfs: fix SEEK_HOLE/DATA for regions with active COW extents (Dave Chinner)
|
||||
- drm/amd: Flush GFXOFF requests in prepare stage (Mario Limonciello)
|
||||
- Linux v6.7.11
|
||||
|
||||
* Mon Mar 18 2024 Augusto Caringi <acaringi@redhat.com> [6.7.10-0]
|
||||
- redhat/configs: Enable CONFIG_MITIGATION_RFDS (Augusto Caringi)
|
||||
- Linux v6.7.10
|
||||
|
|
|
|||
|
|
@ -14,16 +14,17 @@
|
|||
drivers/firmware/efi/efi.c | 124 +++++++++++----
|
||||
drivers/firmware/efi/secureboot.c | 38 +++++
|
||||
drivers/firmware/sysfb.c | 18 ++-
|
||||
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 2 +
|
||||
drivers/hid/hid-rmi.c | 66 --------
|
||||
drivers/hwtracing/coresight/coresight-etm4x-core.c | 19 +++
|
||||
drivers/input/keyboard/atkbd.c | 3 +-
|
||||
drivers/input/rmi4/rmi_driver.c | 124 +++++++++------
|
||||
drivers/iommu/iommu.c | 22 +++
|
||||
drivers/net/wireless/ath/ath10k/wmi-tlv.c | 4 +
|
||||
drivers/pci/quirks.c | 24 +++
|
||||
drivers/platform/x86/thinkpad_acpi.c | 20 ++-
|
||||
drivers/scsi/sd.c | 10 ++
|
||||
drivers/usb/core/hub.c | 7 +
|
||||
fs/xfs/xfs_iomap.c | 4 +-
|
||||
include/linux/efi.h | 22 ++-
|
||||
include/linux/lsm_hook_defs.h | 2 +
|
||||
include/linux/module.h | 1 +
|
||||
|
|
@ -32,7 +33,6 @@
|
|||
include/linux/security.h | 5 +
|
||||
kernel/module/main.c | 2 +
|
||||
kernel/module/signing.c | 9 +-
|
||||
net/bluetooth/rfcomm/core.c | 2 +-
|
||||
scripts/mod/modpost.c | 8 +
|
||||
scripts/tags.sh | 2 +
|
||||
security/integrity/platform_certs/load_uefi.c | 6 +-
|
||||
|
|
@ -40,9 +40,7 @@
|
|||
security/lockdown/lockdown.c | 1 +
|
||||
security/security.c | 12 ++
|
||||
tools/power/cpupower/Makefile | 2 +-
|
||||
.../selftests/net/openvswitch/openvswitch.sh | 13 ++
|
||||
.../testing/selftests/net/openvswitch/ovs-dpctl.py | 71 +++++++--
|
||||
44 files changed, 771 insertions(+), 195 deletions(-)
|
||||
42 files changed, 701 insertions(+), 181 deletions(-)
|
||||
|
||||
diff --git a/Documentation/admin-guide/laptops/thinkpad-acpi.rst b/Documentation/admin-guide/laptops/thinkpad-acpi.rst
|
||||
index 98d304010170..7f674a6cfa8a 100644
|
||||
|
|
@ -70,7 +68,7 @@ index 98d304010170..7f674a6cfa8a 100644
|
|||
|
||||
0x1020 0x1F unknown
|
||||
diff --git a/Makefile b/Makefile
|
||||
index 00c159535dab..c4fed2e416db 100644
|
||||
index 6e3182cdf016..9cc543a90f97 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -22,6 +22,18 @@ $(if $(filter __%, $(MAKECMDGOALS)), \
|
||||
|
|
@ -264,10 +262,10 @@ index 1687483ff319..390b67f19181 100644
|
|||
return ctx.rc;
|
||||
}
|
||||
diff --git a/drivers/acpi/scan.c b/drivers/acpi/scan.c
|
||||
index 02bb2cce423f..4a6287d7a22d 100644
|
||||
index 35ad5781f0a5..63245639aecf 100644
|
||||
--- a/drivers/acpi/scan.c
|
||||
+++ b/drivers/acpi/scan.c
|
||||
@@ -1757,6 +1757,15 @@ static bool acpi_device_enumeration_by_parent(struct acpi_device *device)
|
||||
@@ -1753,6 +1753,15 @@ static bool acpi_device_enumeration_by_parent(struct acpi_device *device)
|
||||
if (!acpi_match_device_ids(device, ignore_serial_bus_ids))
|
||||
return false;
|
||||
|
||||
|
|
@ -610,6 +608,19 @@ index 3c197db42c9d..16e4a2e90fae 100644
|
|||
pd = sysfb_create_simplefb(si, &mode);
|
||||
if (!IS_ERR(pd))
|
||||
goto unlock_mutex;
|
||||
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
|
||||
index 7f48c7ec4136..c8ce83be5376 100644
|
||||
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
|
||||
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
|
||||
@@ -4451,6 +4451,8 @@ int amdgpu_device_prepare(struct drm_device *dev)
|
||||
if (r)
|
||||
goto unprepare;
|
||||
|
||||
+ flush_delayed_work(&adev->gfx.gfx_off_delay_work);
|
||||
+
|
||||
for (i = 0; i < adev->num_ip_blocks; i++) {
|
||||
if (!adev->ip_blocks[i].status.valid)
|
||||
continue;
|
||||
diff --git a/drivers/hid/hid-rmi.c b/drivers/hid/hid-rmi.c
|
||||
index d4af17fdba46..154f0403cbf4 100644
|
||||
--- a/drivers/hid/hid-rmi.c
|
||||
|
|
@ -713,7 +724,7 @@ index d4af17fdba46..154f0403cbf4 100644
|
|||
data->xport.ops = &hid_rmi_ops;
|
||||
|
||||
diff --git a/drivers/hwtracing/coresight/coresight-etm4x-core.c b/drivers/hwtracing/coresight/coresight-etm4x-core.c
|
||||
index 34aee59dd147..7c5a7f7c11bd 100644
|
||||
index 18c4544f6045..4c37cdc40426 100644
|
||||
--- a/drivers/hwtracing/coresight/coresight-etm4x-core.c
|
||||
+++ b/drivers/hwtracing/coresight/coresight-etm4x-core.c
|
||||
@@ -10,6 +10,7 @@
|
||||
|
|
@ -1016,23 +1027,8 @@ index 33e2a9b5d339..6ae1abc3f11c 100644
|
|||
/**
|
||||
* iommu_setup_default_domain - Set the default_domain for the group
|
||||
* @group: Group to change
|
||||
diff --git a/drivers/net/wireless/ath/ath10k/wmi-tlv.c b/drivers/net/wireless/ath/ath10k/wmi-tlv.c
|
||||
index 6b6aa3c36744..0ce08e9a0a3d 100644
|
||||
--- a/drivers/net/wireless/ath/ath10k/wmi-tlv.c
|
||||
+++ b/drivers/net/wireless/ath/ath10k/wmi-tlv.c
|
||||
@@ -851,6 +851,10 @@ ath10k_wmi_tlv_op_pull_mgmt_tx_compl_ev(struct ath10k *ar, struct sk_buff *skb,
|
||||
}
|
||||
|
||||
ev = tb[WMI_TLV_TAG_STRUCT_MGMT_TX_COMPL_EVENT];
|
||||
+ if (!ev) {
|
||||
+ kfree(tb);
|
||||
+ return -EPROTO;
|
||||
+ }
|
||||
|
||||
arg->desc_id = ev->desc_id;
|
||||
arg->status = ev->status;
|
||||
diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
|
||||
index a2bf6de11462..692a9e777d72 100644
|
||||
index 528044237bf9..c50375d40fa0 100644
|
||||
--- a/drivers/pci/quirks.c
|
||||
+++ b/drivers/pci/quirks.c
|
||||
@@ -4426,6 +4426,30 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_BROADCOM, 0x9000,
|
||||
|
|
@ -1157,6 +1153,28 @@ index 4854d883e601..e1ee781ca985 100644
|
|||
/* Lock the device, then check to see if we were
|
||||
* disconnected while waiting for the lock to succeed. */
|
||||
usb_lock_device(hdev);
|
||||
diff --git a/fs/xfs/xfs_iomap.c b/fs/xfs/xfs_iomap.c
|
||||
index 18c8f168b153..055cdec2e9ad 100644
|
||||
--- a/fs/xfs/xfs_iomap.c
|
||||
+++ b/fs/xfs/xfs_iomap.c
|
||||
@@ -1323,7 +1323,7 @@ xfs_seek_iomap_begin(
|
||||
if (cow_fsb != NULLFILEOFF && cow_fsb <= offset_fsb) {
|
||||
if (data_fsb < cow_fsb + cmap.br_blockcount)
|
||||
end_fsb = min(end_fsb, data_fsb);
|
||||
- xfs_trim_extent(&cmap, offset_fsb, end_fsb);
|
||||
+ xfs_trim_extent(&cmap, offset_fsb, end_fsb - offset_fsb);
|
||||
seq = xfs_iomap_inode_sequence(ip, IOMAP_F_SHARED);
|
||||
error = xfs_bmbt_to_iomap(ip, iomap, &cmap, flags,
|
||||
IOMAP_F_SHARED, seq);
|
||||
@@ -1348,7 +1348,7 @@ xfs_seek_iomap_begin(
|
||||
imap.br_state = XFS_EXT_NORM;
|
||||
done:
|
||||
seq = xfs_iomap_inode_sequence(ip, 0);
|
||||
- xfs_trim_extent(&imap, offset_fsb, end_fsb);
|
||||
+ xfs_trim_extent(&imap, offset_fsb, end_fsb - offset_fsb);
|
||||
error = xfs_bmbt_to_iomap(ip, iomap, &imap, flags, 0, seq);
|
||||
out_unlock:
|
||||
xfs_iunlock(ip, lockmode);
|
||||
diff --git a/include/linux/efi.h b/include/linux/efi.h
|
||||
index 9cc5bf32f6f2..7462fb1fc99e 100644
|
||||
--- a/include/linux/efi.h
|
||||
|
|
@ -1464,7 +1482,7 @@ index 9d3138c6364c..7089843865bf 100644
|
|||
|
||||
#if defined(CONFIG_SECURITY) && defined(CONFIG_WATCH_QUEUE)
|
||||
diff --git a/kernel/module/main.c b/kernel/module/main.c
|
||||
index 98fedfdb8db5..a21921f880e1 100644
|
||||
index 34d9e718c2c7..1c8b40b19014 100644
|
||||
--- a/kernel/module/main.c
|
||||
+++ b/kernel/module/main.c
|
||||
@@ -528,6 +528,7 @@ static struct module_attribute modinfo_##field = { \
|
||||
|
|
@ -1506,19 +1524,6 @@ index a2ff4242e623..f0d2be1ee4f1 100644
|
|||
}
|
||||
|
||||
int module_sig_check(struct load_info *info, int flags)
|
||||
diff --git a/net/bluetooth/rfcomm/core.c b/net/bluetooth/rfcomm/core.c
|
||||
index 053ef8f25fae..1d34d8497033 100644
|
||||
--- a/net/bluetooth/rfcomm/core.c
|
||||
+++ b/net/bluetooth/rfcomm/core.c
|
||||
@@ -1941,7 +1941,7 @@ static struct rfcomm_session *rfcomm_process_rx(struct rfcomm_session *s)
|
||||
/* Get data directly from socket receive queue without copying it. */
|
||||
while ((skb = skb_dequeue(&sk->sk_receive_queue))) {
|
||||
skb_orphan(skb);
|
||||
- if (!skb_linearize(skb)) {
|
||||
+ if (!skb_linearize(skb) && sk->sk_state != BT_CLOSED) {
|
||||
s = rfcomm_recv_frame(s, skb);
|
||||
if (!s)
|
||||
break;
|
||||
diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c
|
||||
index f7c4d3fe4381..7fd1ef7930c6 100644
|
||||
--- a/scripts/mod/modpost.c
|
||||
|
|
@ -1661,176 +1666,3 @@ index b53753dee02f..90701fc65aa2 100644
|
|||
|
||||
PACKAGE = cpupower
|
||||
PACKAGE_BUGREPORT = linux-pm@vger.kernel.org
|
||||
diff --git a/tools/testing/selftests/net/openvswitch/openvswitch.sh b/tools/testing/selftests/net/openvswitch/openvswitch.sh
|
||||
index f8499d4c87f3..36e40256ab92 100755
|
||||
--- a/tools/testing/selftests/net/openvswitch/openvswitch.sh
|
||||
+++ b/tools/testing/selftests/net/openvswitch/openvswitch.sh
|
||||
@@ -502,7 +502,20 @@ test_netlink_checks () {
|
||||
wc -l) == 2 ] || \
|
||||
return 1
|
||||
|
||||
+ info "Checking clone depth"
|
||||
ERR_MSG="Flow actions may not be safe on all matching packets"
|
||||
+ PRE_TEST=$(dmesg | grep -c "${ERR_MSG}")
|
||||
+ ovs_add_flow "test_netlink_checks" nv0 \
|
||||
+ 'in_port(1),eth(),eth_type(0x800),ipv4()' \
|
||||
+ 'clone(clone(clone(clone(clone(clone(clone(clone(clone(clone(clone(clone(clone(clone(clone(clone(clone(drop)))))))))))))))))' \
|
||||
+ >/dev/null 2>&1 && return 1
|
||||
+ POST_TEST=$(dmesg | grep -c "${ERR_MSG}")
|
||||
+
|
||||
+ if [ "$PRE_TEST" == "$POST_TEST" ]; then
|
||||
+ info "failed - clone depth too large"
|
||||
+ return 1
|
||||
+ fi
|
||||
+
|
||||
PRE_TEST=$(dmesg | grep -c "${ERR_MSG}")
|
||||
ovs_add_flow "test_netlink_checks" nv0 \
|
||||
'in_port(1),eth(),eth_type(0x0806),arp()' 'drop(0),2' \
|
||||
diff --git a/tools/testing/selftests/net/openvswitch/ovs-dpctl.py b/tools/testing/selftests/net/openvswitch/ovs-dpctl.py
|
||||
index b97e621face9..5e0e539a323d 100644
|
||||
--- a/tools/testing/selftests/net/openvswitch/ovs-dpctl.py
|
||||
+++ b/tools/testing/selftests/net/openvswitch/ovs-dpctl.py
|
||||
@@ -299,7 +299,7 @@ class ovsactions(nla):
|
||||
("OVS_ACTION_ATTR_PUSH_NSH", "none"),
|
||||
("OVS_ACTION_ATTR_POP_NSH", "flag"),
|
||||
("OVS_ACTION_ATTR_METER", "none"),
|
||||
- ("OVS_ACTION_ATTR_CLONE", "none"),
|
||||
+ ("OVS_ACTION_ATTR_CLONE", "recursive"),
|
||||
("OVS_ACTION_ATTR_CHECK_PKT_LEN", "none"),
|
||||
("OVS_ACTION_ATTR_ADD_MPLS", "none"),
|
||||
("OVS_ACTION_ATTR_DEC_TTL", "none"),
|
||||
@@ -465,29 +465,42 @@ class ovsactions(nla):
|
||||
print_str += "pop_mpls"
|
||||
else:
|
||||
datum = self.get_attr(field[0])
|
||||
- print_str += datum.dpstr(more)
|
||||
+ if field[0] == "OVS_ACTION_ATTR_CLONE":
|
||||
+ print_str += "clone("
|
||||
+ print_str += datum.dpstr(more)
|
||||
+ print_str += ")"
|
||||
+ else:
|
||||
+ print_str += datum.dpstr(more)
|
||||
|
||||
return print_str
|
||||
|
||||
def parse(self, actstr):
|
||||
+ totallen = len(actstr)
|
||||
while len(actstr) != 0:
|
||||
parsed = False
|
||||
+ parencount = 0
|
||||
if actstr.startswith("drop"):
|
||||
# If no reason is provided, the implicit drop is used (i.e no
|
||||
# action). If some reason is given, an explicit action is used.
|
||||
- actstr, reason = parse_extract_field(
|
||||
- actstr,
|
||||
- "drop(",
|
||||
- "([0-9]+)",
|
||||
- lambda x: int(x, 0),
|
||||
- False,
|
||||
- None,
|
||||
- )
|
||||
+ reason = None
|
||||
+ if actstr.startswith("drop("):
|
||||
+ parencount += 1
|
||||
+
|
||||
+ actstr, reason = parse_extract_field(
|
||||
+ actstr,
|
||||
+ "drop(",
|
||||
+ "([0-9]+)",
|
||||
+ lambda x: int(x, 0),
|
||||
+ False,
|
||||
+ None,
|
||||
+ )
|
||||
+
|
||||
if reason is not None:
|
||||
self["attrs"].append(["OVS_ACTION_ATTR_DROP", reason])
|
||||
parsed = True
|
||||
else:
|
||||
- return
|
||||
+ actstr = actstr[len("drop"): ]
|
||||
+ return (totallen - len(actstr))
|
||||
|
||||
elif parse_starts_block(actstr, "^(\d+)", False, True):
|
||||
actstr, output = parse_extract_field(
|
||||
@@ -504,6 +517,7 @@ class ovsactions(nla):
|
||||
False,
|
||||
0,
|
||||
)
|
||||
+ parencount += 1
|
||||
self["attrs"].append(["OVS_ACTION_ATTR_RECIRC", recircid])
|
||||
parsed = True
|
||||
|
||||
@@ -516,12 +530,22 @@ class ovsactions(nla):
|
||||
|
||||
for flat_act in parse_flat_map:
|
||||
if parse_starts_block(actstr, flat_act[0], False):
|
||||
- actstr += len(flat_act[0])
|
||||
+ actstr = actstr[len(flat_act[0]):]
|
||||
self["attrs"].append([flat_act[1]])
|
||||
actstr = actstr[strspn(actstr, ", ") :]
|
||||
parsed = True
|
||||
|
||||
- if parse_starts_block(actstr, "ct(", False):
|
||||
+ if parse_starts_block(actstr, "clone(", False):
|
||||
+ parencount += 1
|
||||
+ subacts = ovsactions()
|
||||
+ actstr = actstr[len("clone("):]
|
||||
+ parsedLen = subacts.parse(actstr)
|
||||
+ lst = []
|
||||
+ self["attrs"].append(("OVS_ACTION_ATTR_CLONE", subacts))
|
||||
+ actstr = actstr[parsedLen:]
|
||||
+ parsed = True
|
||||
+ elif parse_starts_block(actstr, "ct(", False):
|
||||
+ parencount += 1
|
||||
actstr = actstr[len("ct(") :]
|
||||
ctact = ovsactions.ctact()
|
||||
|
||||
@@ -553,6 +577,7 @@ class ovsactions(nla):
|
||||
natact = ovsactions.ctact.natattr()
|
||||
|
||||
if actstr.startswith("("):
|
||||
+ parencount += 1
|
||||
t = None
|
||||
actstr = actstr[1:]
|
||||
if actstr.startswith("src"):
|
||||
@@ -607,15 +632,29 @@ class ovsactions(nla):
|
||||
actstr = actstr[strspn(actstr, ", ") :]
|
||||
|
||||
ctact["attrs"].append(["OVS_CT_ATTR_NAT", natact])
|
||||
- actstr = actstr[strspn(actstr, ",) ") :]
|
||||
+ actstr = actstr[strspn(actstr, ", ") :]
|
||||
|
||||
self["attrs"].append(["OVS_ACTION_ATTR_CT", ctact])
|
||||
parsed = True
|
||||
|
||||
- actstr = actstr[strspn(actstr, "), ") :]
|
||||
+ actstr = actstr[strspn(actstr, ", ") :]
|
||||
+ while parencount > 0:
|
||||
+ parencount -= 1
|
||||
+ actstr = actstr[strspn(actstr, " "):]
|
||||
+ if len(actstr) and actstr[0] != ")":
|
||||
+ raise ValueError("Action str: '%s' unbalanced" % actstr)
|
||||
+ actstr = actstr[1:]
|
||||
+
|
||||
+ if len(actstr) and actstr[0] == ")":
|
||||
+ return (totallen - len(actstr))
|
||||
+
|
||||
+ actstr = actstr[strspn(actstr, ", ") :]
|
||||
+
|
||||
if not parsed:
|
||||
raise ValueError("Action str: '%s' not supported" % actstr)
|
||||
|
||||
+ return (totallen - len(actstr))
|
||||
+
|
||||
|
||||
class ovskey(nla):
|
||||
nla_flags = NLA_F_NESTED
|
||||
@@ -2111,6 +2150,8 @@ def main(argv):
|
||||
ovsflow = OvsFlow()
|
||||
ndb = NDB()
|
||||
|
||||
+ sys.setrecursionlimit(100000)
|
||||
+
|
||||
if hasattr(args, "showdp"):
|
||||
found = False
|
||||
for iface in ndb.interfaces:
|
||||
|
|
|
|||
6
sources
6
sources
|
|
@ -1,5 +1,5 @@
|
|||
SHA512 (kernel-abi-stablelists-6.5.12.tar.bz2) = 7130ba0d72e398ae63bd0192e5e765885d8b932ff10c22f214821387588c358a21c8460561993baab0e5cd48afbad08db822cc49e5e3ae2d927b328de2072e7a
|
||||
SHA512 (kernel-kabi-dw-6.5.12.tar.bz2) = 7fc7372de576d1f3602abe70483edf30cf635a6d4175261bb44e1b7d4b413bc045b1e2affc0dbe6bf710a7c10b4a5c26c7fd47d8b8e7fe4bee2a25e2fd80b13a
|
||||
SHA512 (linux-6.7.10.tar.xz) = 56d43d671aac5ad8093eb3ec827bf7860e08490480527fff3212d57ea83e750c078d622584e155932e49b504b1229bf6b73e9dd5cfb8a2c73c7f58dcf5593b92
|
||||
SHA512 (kernel-abi-stablelists-6.7.10.tar.xz) = 30932f793c44fdfeb1f9c95669efa2ad44456641e34dd9b6f69a050adec8ad21e7ba4c0038b12d57ae1c851e29c9969de2ad780fe61cd6c774076099d2ab099b
|
||||
SHA512 (kernel-kabi-dw-6.7.10.tar.xz) = ae7b7b23736e1fa715e9336320efe2faf6c6c01fd538c64e2db45db422df90d0014c8c1fe0698c9d65db4db30613c8b7553fd2834060339d1669c48d36748e62
|
||||
SHA512 (linux-6.7.11.tar.xz) = 6f7e546ed408ac3ac8ffe5f06821f1ebf17182c64ea16d2d9703d53647d7cd746e0b9aa1d8d40cc50a84792462b24796b1f4f088c0f909ff4e459aea0f68d187
|
||||
SHA512 (kernel-abi-stablelists-6.7.11.tar.xz) = 4af79bdcbdcb1deeb79c7892c3a091b33a95114939514e1e8b273c93b4e21267b4af64a3405693835285da5f3ecd128eed1ccf327808e8e7b711e01c58e96ef1
|
||||
SHA512 (kernel-kabi-dw-6.7.11.tar.xz) = 87bf25c863f5962ed054da8c297c1dcadd90401f60d1b78dea3406c7c367a7cd88f42d87847acc864dff7917dfbcaa1ab6518131686e563811e08bc51550fcf7
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue