+++ /dev/null
-From 38247e1de3305a6ef644404ac818bc6129440eae Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Mon, 30 Jan 2023 13:22:16 +0100
-Subject: sched/fair: sanitize vruntime of entity being placed
-
-From: Zhang Qiao <zhangqiao22@huawei.com>
-
-[ Upstream commit 829c1651e9c4a6f78398d3e67651cef9bb6b42cc ]
-
-When a scheduling entity is placed onto cfs_rq, its vruntime is pulled
-to the base level (around cfs_rq->min_vruntime), so that the entity
-doesn't gain extra boost when placed backwards.
-
-However, if the entity being placed wasn't executed for a long time, its
-vruntime may get too far behind (e.g. while cfs_rq was executing a
-low-weight hog), which can inverse the vruntime comparison due to s64
-overflow. This results in the entity being placed with its original
-vruntime way forwards, so that it will effectively never get to the cpu.
-
-To prevent that, ignore the vruntime of the entity being placed if it
-didn't execute for much longer than the characteristic sheduler time
-scale.
-
-[rkagan: formatted, adjusted commit log, comments, cutoff value]
-Signed-off-by: Zhang Qiao <zhangqiao22@huawei.com>
-Co-developed-by: Roman Kagan <rkagan@amazon.de>
-Signed-off-by: Roman Kagan <rkagan@amazon.de>
-Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
-Link: https://lkml.kernel.org/r/20230130122216.3555094-1-rkagan@amazon.de
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- kernel/sched/fair.c | 15 +++++++++++++--
- 1 file changed, 13 insertions(+), 2 deletions(-)
-
-diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
-index 3ff60230710c9..afa21e43477fa 100644
---- a/kernel/sched/fair.c
-+++ b/kernel/sched/fair.c
-@@ -3615,6 +3615,7 @@ static void
- place_entity(struct cfs_rq *cfs_rq, struct sched_entity *se, int initial)
- {
- u64 vruntime = cfs_rq->min_vruntime;
-+ u64 sleep_time;
-
- /*
- * The 'current' period is already promised to the current tasks,
-@@ -3639,8 +3640,18 @@ place_entity(struct cfs_rq *cfs_rq, struct sched_entity *se, int initial)
- vruntime -= thresh;
- }
-
-- /* ensure we never gain time by being placed backwards. */
-- se->vruntime = max_vruntime(se->vruntime, vruntime);
-+ /*
-+ * Pull vruntime of the entity being placed to the base level of
-+ * cfs_rq, to prevent boosting it if placed backwards. If the entity
-+ * slept for a long time, don't even try to compare its vruntime with
-+ * the base as it may be too far off and the comparison may get
-+ * inversed due to s64 overflow.
-+ */
-+ sleep_time = rq_clock_task(rq_of(cfs_rq)) - se->exec_start;
-+ if ((s64)sleep_time > 60LL * NSEC_PER_SEC)
-+ se->vruntime = vruntime;
-+ else
-+ se->vruntime = max_vruntime(se->vruntime, vruntime);
- }
-
- static void check_enqueue_throttle(struct cfs_rq *cfs_rq);
---
-2.39.2
-
rpmsg-glink-avoid-infinite-loop-on-intent-for-missin.patch
udf-define-efscorrupted-error-code.patch
arm-dts-exynos-use-exynos5420-compatible-for-the-mip.patch
-sched-fair-sanitize-vruntime-of-entity-being-placed.patch
wifi-brcmfmac-fix-potential-stack-out-of-bounds-in-b.patch
rcu-suppress-smp_processor_id-complaint-in-synchroni.patch
thermal-intel-fix-unsigned-comparison-with-less-than.patch
+++ /dev/null
-From 47398e01190531ee03509774a18c55181b7a72c8 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Mon, 30 Jan 2023 13:22:16 +0100
-Subject: sched/fair: sanitize vruntime of entity being placed
-
-From: Zhang Qiao <zhangqiao22@huawei.com>
-
-[ Upstream commit 829c1651e9c4a6f78398d3e67651cef9bb6b42cc ]
-
-When a scheduling entity is placed onto cfs_rq, its vruntime is pulled
-to the base level (around cfs_rq->min_vruntime), so that the entity
-doesn't gain extra boost when placed backwards.
-
-However, if the entity being placed wasn't executed for a long time, its
-vruntime may get too far behind (e.g. while cfs_rq was executing a
-low-weight hog), which can inverse the vruntime comparison due to s64
-overflow. This results in the entity being placed with its original
-vruntime way forwards, so that it will effectively never get to the cpu.
-
-To prevent that, ignore the vruntime of the entity being placed if it
-didn't execute for much longer than the characteristic sheduler time
-scale.
-
-[rkagan: formatted, adjusted commit log, comments, cutoff value]
-Signed-off-by: Zhang Qiao <zhangqiao22@huawei.com>
-Co-developed-by: Roman Kagan <rkagan@amazon.de>
-Signed-off-by: Roman Kagan <rkagan@amazon.de>
-Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
-Link: https://lkml.kernel.org/r/20230130122216.3555094-1-rkagan@amazon.de
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- kernel/sched/fair.c | 15 +++++++++++++--
- 1 file changed, 13 insertions(+), 2 deletions(-)
-
-diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
-index 84e7efda98daf..304e7fa0ae870 100644
---- a/kernel/sched/fair.c
-+++ b/kernel/sched/fair.c
-@@ -3858,6 +3858,7 @@ static void
- place_entity(struct cfs_rq *cfs_rq, struct sched_entity *se, int initial)
- {
- u64 vruntime = cfs_rq->min_vruntime;
-+ u64 sleep_time;
-
- /*
- * The 'current' period is already promised to the current tasks,
-@@ -3882,8 +3883,18 @@ place_entity(struct cfs_rq *cfs_rq, struct sched_entity *se, int initial)
- vruntime -= thresh;
- }
-
-- /* ensure we never gain time by being placed backwards. */
-- se->vruntime = max_vruntime(se->vruntime, vruntime);
-+ /*
-+ * Pull vruntime of the entity being placed to the base level of
-+ * cfs_rq, to prevent boosting it if placed backwards. If the entity
-+ * slept for a long time, don't even try to compare its vruntime with
-+ * the base as it may be too far off and the comparison may get
-+ * inversed due to s64 overflow.
-+ */
-+ sleep_time = rq_clock_task(rq_of(cfs_rq)) - se->exec_start;
-+ if ((s64)sleep_time > 60LL * NSEC_PER_SEC)
-+ se->vruntime = vruntime;
-+ else
-+ se->vruntime = max_vruntime(se->vruntime, vruntime);
- }
-
- static void check_enqueue_throttle(struct cfs_rq *cfs_rq);
---
-2.39.2
-
rpmsg-glink-avoid-infinite-loop-on-intent-for-missin.patch
udf-define-efscorrupted-error-code.patch
arm-dts-exynos-use-exynos5420-compatible-for-the-mip.patch
-sched-fair-sanitize-vruntime-of-entity-being-placed.patch
wifi-brcmfmac-fix-potential-stack-out-of-bounds-in-b.patch
rcu-suppress-smp_processor_id-complaint-in-synchroni.patch
thermal-intel-fix-unsigned-comparison-with-less-than.patch
+++ /dev/null
-From d80d945eea4fa7165e1a410111e0c4947075bd02 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Mon, 30 Jan 2023 13:22:16 +0100
-Subject: sched/fair: sanitize vruntime of entity being placed
-
-From: Zhang Qiao <zhangqiao22@huawei.com>
-
-[ Upstream commit 829c1651e9c4a6f78398d3e67651cef9bb6b42cc ]
-
-When a scheduling entity is placed onto cfs_rq, its vruntime is pulled
-to the base level (around cfs_rq->min_vruntime), so that the entity
-doesn't gain extra boost when placed backwards.
-
-However, if the entity being placed wasn't executed for a long time, its
-vruntime may get too far behind (e.g. while cfs_rq was executing a
-low-weight hog), which can inverse the vruntime comparison due to s64
-overflow. This results in the entity being placed with its original
-vruntime way forwards, so that it will effectively never get to the cpu.
-
-To prevent that, ignore the vruntime of the entity being placed if it
-didn't execute for much longer than the characteristic sheduler time
-scale.
-
-[rkagan: formatted, adjusted commit log, comments, cutoff value]
-Signed-off-by: Zhang Qiao <zhangqiao22@huawei.com>
-Co-developed-by: Roman Kagan <rkagan@amazon.de>
-Signed-off-by: Roman Kagan <rkagan@amazon.de>
-Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
-Link: https://lkml.kernel.org/r/20230130122216.3555094-1-rkagan@amazon.de
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- kernel/sched/fair.c | 15 +++++++++++++--
- 1 file changed, 13 insertions(+), 2 deletions(-)
-
-diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
-index c39d2fc3f9945..68166c599a355 100644
---- a/kernel/sched/fair.c
-+++ b/kernel/sched/fair.c
-@@ -4278,6 +4278,7 @@ static void
- place_entity(struct cfs_rq *cfs_rq, struct sched_entity *se, int initial)
- {
- u64 vruntime = cfs_rq->min_vruntime;
-+ u64 sleep_time;
-
- /*
- * The 'current' period is already promised to the current tasks,
-@@ -4302,8 +4303,18 @@ place_entity(struct cfs_rq *cfs_rq, struct sched_entity *se, int initial)
- vruntime -= thresh;
- }
-
-- /* ensure we never gain time by being placed backwards. */
-- se->vruntime = max_vruntime(se->vruntime, vruntime);
-+ /*
-+ * Pull vruntime of the entity being placed to the base level of
-+ * cfs_rq, to prevent boosting it if placed backwards. If the entity
-+ * slept for a long time, don't even try to compare its vruntime with
-+ * the base as it may be too far off and the comparison may get
-+ * inversed due to s64 overflow.
-+ */
-+ sleep_time = rq_clock_task(rq_of(cfs_rq)) - se->exec_start;
-+ if ((s64)sleep_time > 60LL * NSEC_PER_SEC)
-+ se->vruntime = vruntime;
-+ else
-+ se->vruntime = max_vruntime(se->vruntime, vruntime);
- }
-
- static void check_enqueue_throttle(struct cfs_rq *cfs_rq);
---
-2.39.2
-
udf-define-efscorrupted-error-code.patch
arm-dts-exynos-use-exynos5420-compatible-for-the-mip.patch
blk-iocost-fix-divide-by-0-error-in-calc_lcoefs.patch
-sched-fair-sanitize-vruntime-of-entity-being-placed.patch
wifi-ath9k-fix-use-after-free-in-ath9k_hif_usb_disco.patch
wifi-brcmfmac-fix-potential-stack-out-of-bounds-in-b.patch
rcu-make-rcu_lockdep_warn-avoid-early-lockdep-checks.patch
+++ /dev/null
-From bcfd9147a5efa95a66562cf4834b860b1e0b77ff Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Mon, 30 Jan 2023 13:22:16 +0100
-Subject: sched/fair: sanitize vruntime of entity being placed
-
-From: Zhang Qiao <zhangqiao22@huawei.com>
-
-[ Upstream commit 829c1651e9c4a6f78398d3e67651cef9bb6b42cc ]
-
-When a scheduling entity is placed onto cfs_rq, its vruntime is pulled
-to the base level (around cfs_rq->min_vruntime), so that the entity
-doesn't gain extra boost when placed backwards.
-
-However, if the entity being placed wasn't executed for a long time, its
-vruntime may get too far behind (e.g. while cfs_rq was executing a
-low-weight hog), which can inverse the vruntime comparison due to s64
-overflow. This results in the entity being placed with its original
-vruntime way forwards, so that it will effectively never get to the cpu.
-
-To prevent that, ignore the vruntime of the entity being placed if it
-didn't execute for much longer than the characteristic sheduler time
-scale.
-
-[rkagan: formatted, adjusted commit log, comments, cutoff value]
-Signed-off-by: Zhang Qiao <zhangqiao22@huawei.com>
-Co-developed-by: Roman Kagan <rkagan@amazon.de>
-Signed-off-by: Roman Kagan <rkagan@amazon.de>
-Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
-Link: https://lkml.kernel.org/r/20230130122216.3555094-1-rkagan@amazon.de
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- kernel/sched/fair.c | 15 +++++++++++++--
- 1 file changed, 13 insertions(+), 2 deletions(-)
-
-diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
-index 6648683cd9644..671bbd71ff26c 100644
---- a/kernel/sched/fair.c
-+++ b/kernel/sched/fair.c
-@@ -4331,6 +4331,7 @@ static void
- place_entity(struct cfs_rq *cfs_rq, struct sched_entity *se, int initial)
- {
- u64 vruntime = cfs_rq->min_vruntime;
-+ u64 sleep_time;
-
- /*
- * The 'current' period is already promised to the current tasks,
-@@ -4355,8 +4356,18 @@ place_entity(struct cfs_rq *cfs_rq, struct sched_entity *se, int initial)
- vruntime -= thresh;
- }
-
-- /* ensure we never gain time by being placed backwards. */
-- se->vruntime = max_vruntime(se->vruntime, vruntime);
-+ /*
-+ * Pull vruntime of the entity being placed to the base level of
-+ * cfs_rq, to prevent boosting it if placed backwards. If the entity
-+ * slept for a long time, don't even try to compare its vruntime with
-+ * the base as it may be too far off and the comparison may get
-+ * inversed due to s64 overflow.
-+ */
-+ sleep_time = rq_clock_task(rq_of(cfs_rq)) - se->exec_start;
-+ if ((s64)sleep_time > 60LL * NSEC_PER_SEC)
-+ se->vruntime = vruntime;
-+ else
-+ se->vruntime = max_vruntime(se->vruntime, vruntime);
- }
-
- static void check_enqueue_throttle(struct cfs_rq *cfs_rq);
---
-2.39.2
-
arm-dts-exynos-use-exynos5420-compatible-for-the-mip.patch
blk-iocost-fix-divide-by-0-error-in-calc_lcoefs.patch
trace-blktrace-fix-memory-leak-with-using-debugfs_lo.patch
-sched-fair-sanitize-vruntime-of-entity-being-placed.patch
wifi-ath9k-fix-use-after-free-in-ath9k_hif_usb_disco.patch
wifi-brcmfmac-fix-potential-stack-out-of-bounds-in-b.patch
rcu-make-rcu_lockdep_warn-avoid-early-lockdep-checks.patch
+++ /dev/null
-From 7cf75c4f005171522b77a8b59ba13acb71c92684 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Mon, 30 Jan 2023 13:22:16 +0100
-Subject: sched/fair: sanitize vruntime of entity being placed
-
-From: Zhang Qiao <zhangqiao22@huawei.com>
-
-[ Upstream commit 829c1651e9c4a6f78398d3e67651cef9bb6b42cc ]
-
-When a scheduling entity is placed onto cfs_rq, its vruntime is pulled
-to the base level (around cfs_rq->min_vruntime), so that the entity
-doesn't gain extra boost when placed backwards.
-
-However, if the entity being placed wasn't executed for a long time, its
-vruntime may get too far behind (e.g. while cfs_rq was executing a
-low-weight hog), which can inverse the vruntime comparison due to s64
-overflow. This results in the entity being placed with its original
-vruntime way forwards, so that it will effectively never get to the cpu.
-
-To prevent that, ignore the vruntime of the entity being placed if it
-didn't execute for much longer than the characteristic sheduler time
-scale.
-
-[rkagan: formatted, adjusted commit log, comments, cutoff value]
-Signed-off-by: Zhang Qiao <zhangqiao22@huawei.com>
-Co-developed-by: Roman Kagan <rkagan@amazon.de>
-Signed-off-by: Roman Kagan <rkagan@amazon.de>
-Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
-Link: https://lkml.kernel.org/r/20230130122216.3555094-1-rkagan@amazon.de
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- kernel/sched/fair.c | 15 +++++++++++++--
- 1 file changed, 13 insertions(+), 2 deletions(-)
-
-diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
-index d2a68ae7596ec..97ede6b914422 100644
---- a/kernel/sched/fair.c
-+++ b/kernel/sched/fair.c
-@@ -3881,6 +3881,7 @@ static void
- place_entity(struct cfs_rq *cfs_rq, struct sched_entity *se, int initial)
- {
- u64 vruntime = cfs_rq->min_vruntime;
-+ u64 sleep_time;
-
- /*
- * The 'current' period is already promised to the current tasks,
-@@ -3905,8 +3906,18 @@ place_entity(struct cfs_rq *cfs_rq, struct sched_entity *se, int initial)
- vruntime -= thresh;
- }
-
-- /* ensure we never gain time by being placed backwards. */
-- se->vruntime = max_vruntime(se->vruntime, vruntime);
-+ /*
-+ * Pull vruntime of the entity being placed to the base level of
-+ * cfs_rq, to prevent boosting it if placed backwards. If the entity
-+ * slept for a long time, don't even try to compare its vruntime with
-+ * the base as it may be too far off and the comparison may get
-+ * inversed due to s64 overflow.
-+ */
-+ sleep_time = rq_clock_task(rq_of(cfs_rq)) - se->exec_start;
-+ if ((s64)sleep_time > 60LL * NSEC_PER_SEC)
-+ se->vruntime = vruntime;
-+ else
-+ se->vruntime = max_vruntime(se->vruntime, vruntime);
- }
-
- static void check_enqueue_throttle(struct cfs_rq *cfs_rq);
---
-2.39.2
-
udf-define-efscorrupted-error-code.patch
arm-dts-exynos-use-exynos5420-compatible-for-the-mip.patch
blk-iocost-fix-divide-by-0-error-in-calc_lcoefs.patch
-sched-fair-sanitize-vruntime-of-entity-being-placed.patch
wifi-brcmfmac-fix-potential-stack-out-of-bounds-in-b.patch
rcu-suppress-smp_processor_id-complaint-in-synchroni.patch
thermal-intel-fix-unsigned-comparison-with-less-than.patch