This reverts commit b84857c06ef9e72d09fadafdbb3ce9af64af954f.
5.10 stable contains 2 identical commits:
1. commit eb7bf11e8ef1 ("drm/i915/opregion: check port number bounds for SWSCI display power state")
2. commit b84857c06ef9 ("drm/i915/opregion: check port number bounds for SWSCI display power state")
Both commits add separate checks for the same condition. Revert the 2nd
redundant check to match upstream, which only has one check.
Signed-off-by: Greg Thelen <gthelen(a)google.com>
---
drivers/gpu/drm/i915/display/intel_opregion.c | 15 ---------------
1 file changed, 15 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_opregion.c b/drivers/gpu/drm/i915/display/intel_opregion.c
index 6d083b98f6ae..abff2d6cedd1 100644
--- a/drivers/gpu/drm/i915/display/intel_opregion.c
+++ b/drivers/gpu/drm/i915/display/intel_opregion.c
@@ -376,21 +376,6 @@ int intel_opregion_notify_encoder(struct intel_encoder *intel_encoder,
return -EINVAL;
}
- /*
- * The port numbering and mapping here is bizarre. The now-obsolete
- * swsci spec supports ports numbered [0..4]. Port E is handled as a
- * special case, but port F and beyond are not. The functionality is
- * supposed to be obsolete for new platforms. Just bail out if the port
- * number is out of bounds after mapping.
- */
- if (port > 4) {
- drm_dbg_kms(&dev_priv->drm,
- "[ENCODER:%d:%s] port %c (index %u) out of bounds for display power state notification\n",
- intel_encoder->base.base.id, intel_encoder->base.name,
- port_name(intel_encoder->port), port);
- return -EINVAL;
- }
-
if (!enable)
parm |= 4 << 8;
--
2.36.0.550.gb090851708-goog
Linux v5.7 introduced a couple patches to make walking the stack of the
idle tasks reliable when Linux runs as a Xen PV guest. Attached are the
backports for the 5.4 LTS, which are of special interest when using the
livepatch subsystem.
Markus
[Public]
Hi,
Some users have complained that i2c the controller doesn't work on newer designs. This is because the system can be configured by an OEM to not allow access to the I2C controller registers via legacy methods and instead requires MMIO.
Some bug reports collecting this problem (which have had duplicates brought in)
https://gitlab.com/CalcProgrammer1/OpenRGB/-/issues/1984https://bugs.launchpad.net/amd/+bug/1950062
These commits that have landed into 5.18 fix this issue both for i2c-piix4 and for sp5100-tco (which suffers the same fate).
Would you take them back to stable 5.15.y and 5.17.y? The series comes back cleanly to both.
27c196c7b73c kernel/resource: Introduce request_mem_region_muxed()
93102cb44978 i2c: piix4: Replace hardcoded memory map size with a #define
a3325d225b00 i2c: piix4: Move port I/O region request/release code into functions
0a59a24e14e9 i2c: piix4: Move SMBus controller base address detect into function
fbafbd51bff5 i2c: piix4: Move SMBus port selection into function
7c148722d074 i2c: piix4: Add EFCH MMIO support to region request and release
46967bc1ee93 i2c: piix4: Add EFCH MMIO support to SMBus base address detect
381a3083c674 i2c: piix4: Add EFCH MMIO support for SMBus port select
6cf72f41808a i2c: piix4: Enable EFCH MMIO for Family 17h+
abd71a948f7a Watchdog: sp5100_tco: Move timer initialization into function
1f182aca2300 Watchdog: sp5100_tco: Refactor MMIO base address initialization
0578fff4aae5 Watchdog: sp5100_tco: Add initialization using EFCH MMIO
826270373f17 Watchdog: sp5100_tco: Enable Family 17h+ CPUs
Thanks,
Hi,
On 5/8/22 13:37, Willy Tarreau wrote:
> Interrupt handler bad_flp_intr() may cause a UAF on the recently freed
> request just to increment the error count. There's no point keeping
> that one in the request anyway, and since the interrupt handler uses
> a static pointer to the error which cannot be kept in sync with the
> pending request, better make it use a static error counter that's
> reset for each new request. This reset now happens when entering
> redo_fd_request() for a new request via set_next_request().
>
> One initial concern about a single error counter was that errors on
> one floppy drive could be reported on another one, but this problem
> is not real given that the driver uses a single drive at a time, as
> that PC-compatible controllers also have this limitation by using
> shared signals. As such the error count is always for the "current"
> drive.
>
> Reported-by: Minh Yuan <yuanmingbuaa(a)gmail.com>
> Suggested-by: Linus Torvalds <torvalds(a)linuxfoundation.org>
> Tested-by: Denis Efremov <efremov(a)linux.com>
> Signed-off-by: Willy Tarreau <w(a)1wt.eu>
Could you please take this patch (only this one) to the stable trees?
commit f71f01394f742fc4558b3f9f4c7ef4c4cf3b07c8 upstream.
The patch applies cleanly to 5.17, 5.15, 5.10 kernels.
I'll send a backport for 5.4 and older kernels.
Thanks,
Denis
> ---
> drivers/block/floppy.c | 18 ++++++++----------
> 1 file changed, 8 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/block/floppy.c b/drivers/block/floppy.c
> index d5b9ff9bcbb2..015841f50f4e 100644
> --- a/drivers/block/floppy.c
> +++ b/drivers/block/floppy.c
> @@ -509,8 +509,8 @@ static unsigned long fdc_busy;
> static DECLARE_WAIT_QUEUE_HEAD(fdc_wait);
> static DECLARE_WAIT_QUEUE_HEAD(command_done);
>
> -/* Errors during formatting are counted here. */
> -static int format_errors;
> +/* errors encountered on the current (or last) request */
> +static int floppy_errors;
>
> /* Format request descriptor. */
> static struct format_descr format_req;
> @@ -530,7 +530,6 @@ static struct format_descr format_req;
> static char *floppy_track_buffer;
> static int max_buffer_sectors;
>
> -static int *errors;
> typedef void (*done_f)(int);
> static const struct cont_t {
> void (*interrupt)(void);
> @@ -1455,7 +1454,7 @@ static int interpret_errors(void)
> if (drive_params[current_drive].flags & FTD_MSG)
> DPRINT("Over/Underrun - retrying\n");
> bad = 0;
> - } else if (*errors >= drive_params[current_drive].max_errors.reporting) {
> + } else if (floppy_errors >= drive_params[current_drive].max_errors.reporting) {
> print_errors();
> }
> if (reply_buffer[ST2] & ST2_WC || reply_buffer[ST2] & ST2_BC)
> @@ -2095,7 +2094,7 @@ static void bad_flp_intr(void)
> if (!next_valid_format(current_drive))
> return;
> }
> - err_count = ++(*errors);
> + err_count = ++floppy_errors;
> INFBOUND(write_errors[current_drive].badness, err_count);
> if (err_count > drive_params[current_drive].max_errors.abort)
> cont->done(0);
> @@ -2241,9 +2240,8 @@ static int do_format(int drive, struct format_descr *tmp_format_req)
> return -EINVAL;
> }
> format_req = *tmp_format_req;
> - format_errors = 0;
> cont = &format_cont;
> - errors = &format_errors;
> + floppy_errors = 0;
> ret = wait_til_done(redo_format, true);
> if (ret == -EINTR)
> return -EINTR;
> @@ -2759,10 +2757,11 @@ static int set_next_request(void)
> current_req = list_first_entry_or_null(&floppy_reqs, struct request,
> queuelist);
> if (current_req) {
> - current_req->error_count = 0;
> + floppy_errors = 0;
> list_del_init(¤t_req->queuelist);
> + return 1;
> }
> - return current_req != NULL;
> + return 0;
> }
>
> /* Starts or continues processing request. Will automatically unlock the
> @@ -2821,7 +2820,6 @@ static void redo_fd_request(void)
> _floppy = floppy_type + drive_params[current_drive].autodetect[drive_state[current_drive].probed_format];
> } else
> probing = 0;
> - errors = &(current_req->error_count);
> tmp = make_raw_rw_request();
> if (tmp < 2) {
> request_done(tmp);
Hi,
Can you cherrypick:
commit e74ead135bc4459f7d40b1f8edab1333a28b54e8
Author: Pavel Begunkov <asml.silence(a)gmail.com>
Date: Sun Oct 17 00:07:08 2021 +0100
io_uring: arm poll for non-nowait files
into 5.15-stable? It should apply cleanly.
Thanks,
--
Jens Axboe
Hi,
Intel igc ethernet device does not work on 5.10.y due to a problem with the PHY check
of igc driver.
```
igc: probe of 0000:03:00.0 failed with error -2
```
To fix this issue, we'll need three commits that have been fixed in upstream.
Best regards,
Nobuhiro
Sasha Neftin (3):
igc: Remove _I_PHY_ID checking
igc: Remove phy->type checking
igc: Update I226_K device ID
drivers/net/ethernet/intel/igc/igc_base.c | 10 +---------
drivers/net/ethernet/intel/igc/igc_hw.h | 1 +
drivers/net/ethernet/intel/igc/igc_main.c | 18 +++++-------------
drivers/net/ethernet/intel/igc/igc_phy.c | 6 ++----
4 files changed, 9 insertions(+), 26 deletions(-)
--
2.36.0