diff options
author | Justin M. Forbes <jforbes@fedoraproject.org> | 2022-10-12 16:29:15 -0500 |
---|---|---|
committer | Justin M. Forbes <jforbes@fedoraproject.org> | 2022-10-12 16:29:15 -0500 |
commit | 27f8a26a71a29fe89b35ad8f3a60511ac764cd0a (patch) | |
tree | 296fe85d238e3841e7982ebe3d9b622ccd6844ee /patch-6.0-redhat.patch | |
parent | a9b556363988ffc8a62d16efda61b32522d548ab (diff) | |
download | kernel-27f8a26a71a29fe89b35ad8f3a60511ac764cd0a.tar.gz kernel-27f8a26a71a29fe89b35ad8f3a60511ac764cd0a.tar.xz kernel-27f8a26a71a29fe89b35ad8f3a60511ac764cd0a.zip |
kernel-6.0.1-300
* Wed Oct 12 2022 Justin M. Forbes <jforbes@fedoraproject.org> [6.0.1-0]
- scsi: stex: Properly zero out the passthrough command structure (Linus Torvalds)
- ipv4: Handle attempt to delete multipath route when fib_info contains an nh reference (David Ahern)
- Turn E1000 back on (Justin M. Forbes)
- Linux v6.0.1
Resolves:
Signed-off-by: Justin M. Forbes <jforbes@fedoraproject.org>
Diffstat (limited to 'patch-6.0-redhat.patch')
-rw-r--r-- | patch-6.0-redhat.patch | 97 |
1 files changed, 96 insertions, 1 deletions
diff --git a/patch-6.0-redhat.patch b/patch-6.0-redhat.patch index 1c3b214d2..2f3305bc9 100644 --- a/patch-6.0-redhat.patch +++ b/patch-6.0-redhat.patch @@ -16,6 +16,7 @@ drivers/firmware/efi/secureboot.c | 38 +++++++ drivers/firmware/sysfb.c | 18 ++- drivers/gpu/drm/drm_ioctl.c | 8 +- + drivers/gpu/drm/i915/display/intel_bios.c | 46 +++----- drivers/hid/hid-rmi.c | 64 ----------- drivers/hwtracing/coresight/coresight-etm4x-core.c | 19 ++++ drivers/input/rmi4/rmi_driver.c | 124 ++++++++++++--------- @@ -41,7 +42,7 @@ security/lockdown/lockdown.c | 1 + security/security.c | 6 + tools/testing/selftests/net/fib_nexthops.sh | 5 + - 43 files changed, 527 insertions(+), 200 deletions(-) + 44 files changed, 545 insertions(+), 228 deletions(-) diff --git a/Makefile b/Makefile index 3193969f1eb3..f6857e4cdb25 100644 @@ -617,6 +618,100 @@ index 8faad23dc1d8..ca2a6e6101dc 100644 /* don't overflow userbuf */ len = strlen(value); +diff --git a/drivers/gpu/drm/i915/display/intel_bios.c b/drivers/gpu/drm/i915/display/intel_bios.c +index 7d6eb9ad7a02..f801d923fdec 100644 +--- a/drivers/gpu/drm/i915/display/intel_bios.c ++++ b/drivers/gpu/drm/i915/display/intel_bios.c +@@ -333,18 +333,6 @@ static bool fixup_lfp_data_ptrs(const void *bdb, void *ptrs_block) + return validate_lfp_data_ptrs(bdb, ptrs); + } + +-static const void *find_fp_timing_terminator(const u8 *data, int size) +-{ +- int i; +- +- for (i = 0; i < size - 1; i++) { +- if (data[i] == 0xff && data[i+1] == 0xff) +- return &data[i]; +- } +- +- return NULL; +-} +- + static int make_lfp_data_ptr(struct lvds_lfp_data_ptr_table *table, + int table_size, int total_size) + { +@@ -368,11 +356,22 @@ static void next_lfp_data_ptr(struct lvds_lfp_data_ptr_table *next, + static void *generate_lfp_data_ptrs(struct drm_i915_private *i915, + const void *bdb) + { +- int i, size, table_size, block_size, offset; +- const void *t0, *t1, *block; ++ int i, size, table_size, block_size, offset, fp_timing_size; + struct bdb_lvds_lfp_data_ptrs *ptrs; ++ const void *block; + void *ptrs_block; + ++ /* ++ * The hardcoded fp_timing_size is only valid for ++ * modernish VBTs. All older VBTs definitely should ++ * include block 41 and thus we don't need to ++ * generate one. ++ */ ++ if (i915->vbt.version < 155) ++ return NULL; ++ ++ fp_timing_size = 38; ++ + block = find_raw_section(bdb, BDB_LVDS_LFP_DATA); + if (!block) + return NULL; +@@ -381,17 +380,8 @@ static void *generate_lfp_data_ptrs(struct drm_i915_private *i915, + + block_size = get_blocksize(block); + +- size = block_size; +- t0 = find_fp_timing_terminator(block, size); +- if (!t0) +- return NULL; +- +- size -= t0 - block - 2; +- t1 = find_fp_timing_terminator(t0 + 2, size); +- if (!t1) +- return NULL; +- +- size = t1 - t0; ++ size = fp_timing_size + sizeof(struct lvds_dvo_timing) + ++ sizeof(struct lvds_pnp_id); + if (size * 16 > block_size) + return NULL; + +@@ -409,7 +399,7 @@ static void *generate_lfp_data_ptrs(struct drm_i915_private *i915, + table_size = sizeof(struct lvds_dvo_timing); + size = make_lfp_data_ptr(&ptrs->ptr[0].dvo_timing, table_size, size); + +- table_size = t0 - block + 2; ++ table_size = fp_timing_size; + size = make_lfp_data_ptr(&ptrs->ptr[0].fp_timing, table_size, size); + + if (ptrs->ptr[0].fp_timing.table_size) +@@ -424,14 +414,14 @@ static void *generate_lfp_data_ptrs(struct drm_i915_private *i915, + return NULL; + } + +- size = t1 - t0; ++ size = fp_timing_size + sizeof(struct lvds_dvo_timing) + ++ sizeof(struct lvds_pnp_id); + for (i = 1; i < 16; i++) { + next_lfp_data_ptr(&ptrs->ptr[i].fp_timing, &ptrs->ptr[i-1].fp_timing, size); + next_lfp_data_ptr(&ptrs->ptr[i].dvo_timing, &ptrs->ptr[i-1].dvo_timing, size); + next_lfp_data_ptr(&ptrs->ptr[i].panel_pnp_id, &ptrs->ptr[i-1].panel_pnp_id, size); + } + +- size = t1 - t0; + table_size = sizeof(struct lvds_lfp_panel_name); + + if (16 * (size + table_size) <= block_size) { diff --git a/drivers/hid/hid-rmi.c b/drivers/hid/hid-rmi.c index 311eee599ce9..2460c6bd46f8 100644 --- a/drivers/hid/hid-rmi.c |