aboutsummaryrefslogtreecommitdiff
path: root/SOURCES
diff options
context:
space:
mode:
Diffstat (limited to 'SOURCES')
-rw-r--r--SOURCES/Patchlist.changelog6
-rw-r--r--SOURCES/asus-linux.patch9
-rw-r--r--SOURCES/kernel-aarch64-16k-debug-fedora.config1
-rw-r--r--SOURCES/kernel-aarch64-16k-fedora.config1
-rw-r--r--SOURCES/kernel-aarch64-64k-debug-rhel.config3
-rw-r--r--SOURCES/kernel-aarch64-64k-rhel.config3
-rw-r--r--SOURCES/kernel-aarch64-debug-fedora.config1
-rw-r--r--SOURCES/kernel-aarch64-debug-rhel.config3
-rw-r--r--SOURCES/kernel-aarch64-fedora.config1
-rw-r--r--SOURCES/kernel-aarch64-rhel.config3
-rw-r--r--SOURCES/kernel-aarch64-rt-debug-rhel.config3
-rw-r--r--SOURCES/kernel-aarch64-rt-rhel.config3
-rw-r--r--SOURCES/kernel.changelog7
-rw-r--r--SOURCES/patch-6.7-redhat.patch256
14 files changed, 83 insertions, 217 deletions
diff --git a/SOURCES/Patchlist.changelog b/SOURCES/Patchlist.changelog
index cae9726..e262294 100644
--- a/SOURCES/Patchlist.changelog
+++ b/SOURCES/Patchlist.changelog
@@ -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
diff --git a/SOURCES/asus-linux.patch b/SOURCES/asus-linux.patch
index acdc4a3..1a3cfcd 100644
--- a/SOURCES/asus-linux.patch
+++ b/SOURCES/asus-linux.patch
@@ -36,22 +36,21 @@ diff --git a/sound/pci/hda/cs35l41_hda_property.c b/sound/pci/hda/cs35l41_hda_pr
index c9eb70290..2b8f8fd52 100644
--- a/sound/pci/hda/cs35l41_hda_property.c
+++ b/sound/pci/hda/cs35l41_hda_property.c
-@@ -79,6 +79,7 @@
+@@ -81,6 +81,7 @@
{ "104316D3", 2, EXTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 1, 2, 0, 0, 0, 0 },
{ "104316F3", 2, EXTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 1, 2, 0, 0, 0, 0 },
{ "104317F3", 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 0, 1, -1, 1000, 4500, 24 },
+ { "10431B93", 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 1, 2, 0, 1000, 4500, 24 },
{ "10431863", 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 1, 2, 0, 1000, 4500, 24 },
{ "104318D3", 2, EXTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 0, 1, -1, 0, 0, 0 },
- { "10431C9F", 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 1, 2, 0, 1000, 4500, 24 },
-@@ -360,6 +361,7 @@ static const struct cs35l41_prop_model cs35l41_prop_model_table[] = {
+ { "10431A83", 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 0, 1, -1, 1000, 4500, 24 },
+@@ -415,6 +416,7 @@
{ "CSC3551", "104316D3", generic_dsd_config },
{ "CSC3551", "104316F3", generic_dsd_config },
{ "CSC3551", "104317F3", generic_dsd_config },
+ { "CSC3551", "10431B93", generic_dsd_config },
{ "CSC3551", "10431863", generic_dsd_config },
{ "CSC3551", "104318D3", generic_dsd_config },
- { "CSC3551", "10431C9F", generic_dsd_config },
-
+ { "CSC3551", "10431A83", generic_dsd_config },
--
2.41.0
diff --git a/SOURCES/kernel-aarch64-16k-debug-fedora.config b/SOURCES/kernel-aarch64-16k-debug-fedora.config
index a4e9344..21704f2 100644
--- a/SOURCES/kernel-aarch64-16k-debug-fedora.config
+++ b/SOURCES/kernel-aarch64-16k-debug-fedora.config
@@ -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
diff --git a/SOURCES/kernel-aarch64-16k-fedora.config b/SOURCES/kernel-aarch64-16k-fedora.config
index 69ff8fd..a500e6b 100644
--- a/SOURCES/kernel-aarch64-16k-fedora.config
+++ b/SOURCES/kernel-aarch64-16k-fedora.config
@@ -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
diff --git a/SOURCES/kernel-aarch64-64k-debug-rhel.config b/SOURCES/kernel-aarch64-64k-debug-rhel.config
index 1575e23..ca3c63d 100644
--- a/SOURCES/kernel-aarch64-64k-debug-rhel.config
+++ b/SOURCES/kernel-aarch64-64k-debug-rhel.config
@@ -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
diff --git a/SOURCES/kernel-aarch64-64k-rhel.config b/SOURCES/kernel-aarch64-64k-rhel.config
index 563be5c..6ad3c06 100644
--- a/SOURCES/kernel-aarch64-64k-rhel.config
+++ b/SOURCES/kernel-aarch64-64k-rhel.config
@@ -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
diff --git a/SOURCES/kernel-aarch64-debug-fedora.config b/SOURCES/kernel-aarch64-debug-fedora.config
index 1d73d6d..443a378 100644
--- a/SOURCES/kernel-aarch64-debug-fedora.config
+++ b/SOURCES/kernel-aarch64-debug-fedora.config
@@ -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
diff --git a/SOURCES/kernel-aarch64-debug-rhel.config b/SOURCES/kernel-aarch64-debug-rhel.config
index d1c455e..d5297cd 100644
--- a/SOURCES/kernel-aarch64-debug-rhel.config
+++ b/SOURCES/kernel-aarch64-debug-rhel.config
@@ -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
diff --git a/SOURCES/kernel-aarch64-fedora.config b/SOURCES/kernel-aarch64-fedora.config
index ac98c02..f1a9a33 100644
--- a/SOURCES/kernel-aarch64-fedora.config
+++ b/SOURCES/kernel-aarch64-fedora.config
@@ -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
diff --git a/SOURCES/kernel-aarch64-rhel.config b/SOURCES/kernel-aarch64-rhel.config
index ba2cd94..5e9ac65 100644
--- a/SOURCES/kernel-aarch64-rhel.config
+++ b/SOURCES/kernel-aarch64-rhel.config
@@ -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
diff --git a/SOURCES/kernel-aarch64-rt-debug-rhel.config b/SOURCES/kernel-aarch64-rt-debug-rhel.config
index a403dd4..a00e871 100644
--- a/SOURCES/kernel-aarch64-rt-debug-rhel.config
+++ b/SOURCES/kernel-aarch64-rt-debug-rhel.config
@@ -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
diff --git a/SOURCES/kernel-aarch64-rt-rhel.config b/SOURCES/kernel-aarch64-rt-rhel.config
index 1b9578c..bc5028d 100644
--- a/SOURCES/kernel-aarch64-rt-rhel.config
+++ b/SOURCES/kernel-aarch64-rt-rhel.config
@@ -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
diff --git a/SOURCES/kernel.changelog b/SOURCES/kernel.changelog
index 8b789ba..19b2075 100644
--- a/SOURCES/kernel.changelog
+++ b/SOURCES/kernel.changelog
@@ -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
diff --git a/SOURCES/patch-6.7-redhat.patch b/SOURCES/patch-6.7-redhat.patch
index 1b4f19b..5e62197 100644
--- a/SOURCES/patch-6.7-redhat.patch
+++ b/SOURCES/patch-6.7-redhat.patch
@@ -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: