I'm announcing the release of the 5.4.245 kernel.
All users of the 5.4 kernel series must upgrade.
The updated 5.4.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-5.4.y
and can be browsed at the normal kernel.org git web browser:
https://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=summary
thanks,
greg k-h
------------
Makefile | 2
drivers/android/binder.c | 26 -
drivers/net/ethernet/mellanox/mlx5/core/lib/devcom.c | 35 +
drivers/net/ethernet/mellanox/mlx5/core/lib/devcom.h | 2
drivers/net/usb/cdc_ncm.c | 435 ++++++++++++++-----
drivers/net/usb/huawei_cdc_ncm.c | 8
drivers/power/supply/bq24190_charger.c | 13
drivers/power/supply/bq27xxx_battery.c | 4
drivers/power/supply/power_supply_core.c | 57 +-
fs/io_uring.c | 8
include/linux/fs.h | 40 -
include/linux/power_supply.h | 5
include/linux/usb/cdc_ncm.h | 15
include/net/ip.h | 2
include/uapi/linux/in.h | 2
net/bluetooth/hci_sock.c | 28 +
net/ipv4/ip_sockglue.c | 12
net/ipv4/raw.c | 5
net/ipv6/raw.c | 3
net/netfilter/nf_conntrack_netlink.c | 8
20 files changed, 520 insertions(+), 190 deletions(-)
Alexander Bersenev (2):
cdc_ncm: Implement the 32-bit version of NCM Transfer Block
cdc_ncm: Fix the build warning
Carlos Llamas (1):
binder: fix UAF caused by faulty buffer cleanup
Greg Kroah-Hartman (1):
Linux 5.4.245
Hans de Goede (3):
power: supply: bq27xxx: After charger plug in/out wait 0.5s for things to stabilize
power: supply: core: Refactor power_supply_set_input_current_limit_from_supplier()
power: supply: bq24190: Call power_supply_changed() after updating input current
Hao Ge (1):
fs: fix undefined behavior in bit shift for SB_NOUSER
Jens Axboe (3):
io_uring: always grab lock in io_cancel_async_work()
io_uring: don't drop completion lock before timer is fully initialized
io_uring: have io_kill_timeout() honor the request references
Mark Bloch (1):
net/mlx5: devcom only supports 2 ports
Nicolas Dichtel (1):
ipv{4,6}/raw: fix output xfrm lookup wrt protocol
Paul Blakey (1):
netfilter: ctnetlink: Support offloaded conntrack entry deletion
Ruihan Li (1):
bluetooth: Add cmd validity checks at the start of hci_sock_ioctl()
Shay Drory (1):
net/mlx5: Devcom, serialize devcom registration
Tudor Ambarus (1):
net: cdc_ncm: Deal with too low values of dwNtbOutMaxSize
In I2C_FUNC_SMBUS_BLOCK_DATA case, the I2C Designware driver does not
handle correctly when it receives the length of SMBus block data
response from SMBus slave device, which is outside the range 1-32 bytes.
Consequently, the I2C Designware bus is stuck and cannot recover.
Because if IC_EMPTYFIFO_HOLD_MASTER_EN is set, which cannot be detected
from the registers, the controller can be disabled if the STOP bit is set.
But it is only set after receiving block data response length.
Hence, to prevent the bus from stuck condition, after receiving the
invalid block data response length, the driver will read another byte
with STOP bit set.
Cc: stable(a)vger.kernel.org
Signed-off-by: Tam Nguyen <tamnguyenchi(a)os.amperecomputing.com>
---
drivers/i2c/busses/i2c-designware-master.c | 15 +++++++++++++--
1 file changed, 13 insertions(+), 2 deletions(-)
diff --git a/drivers/i2c/busses/i2c-designware-master.c b/drivers/i2c/busses/i2c-designware-master.c
index 55ea91a63382..94dadd785ed0 100644
--- a/drivers/i2c/busses/i2c-designware-master.c
+++ b/drivers/i2c/busses/i2c-designware-master.c
@@ -527,8 +527,19 @@ i2c_dw_read(struct dw_i2c_dev *dev)
regmap_read(dev->map, DW_IC_DATA_CMD, &tmp);
/* Ensure length byte is a valid value */
- if (flags & I2C_M_RECV_LEN &&
- (tmp & DW_IC_DATA_CMD_DAT) <= I2C_SMBUS_BLOCK_MAX && tmp > 0) {
+ if (flags & I2C_M_RECV_LEN) {
+ /*
+ * if IC_EMPTYFIFO_HOLD_MASTER_EN is set, which cannot be
+ * detected from the registers, the controller can be
+ * disabled if the STOP bit is set. But it is only set
+ * after receiving block data response length in
+ * I2C_FUNC_SMBUS_BLOCK_DATA case. That needs to read
+ * another byte with STOP bit set when the block data
+ * response length is invalid to complete the transaction.
+ */
+ if ((tmp & DW_IC_DATA_CMD_DAT) > I2C_SMBUS_BLOCK_MAX || tmp == 0)
+ tmp = 1;
+
len = i2c_dw_recv_len(dev, tmp);
}
*buf++ = tmp;
--
2.25.1
From: Xiubo Li <xiubli(a)redhat.com>
Blindly expanding the readahead windows will cause unneccessary
pagecache thrashing and also will introdue the network workload.
We should disable expanding the windows if the readahead is disabled
and also shouldn't expand the windows too much.
Expanding forward firstly instead of expanding backward for possible
sequential reads.
Bound `rreq->len` to the actual file size to restore the previous page
cache usage.
The posix_fadvise may change the maximum size of a file readahead.
Cc: stable(a)vger.kernel.org
Fixes: 49870056005c ("ceph: convert ceph_readpages to ceph_readahead")
URL: https://lore.kernel.org/ceph-devel/20230504082510.247-1-sehuww@mail.scut.ed…
URL: https://www.spinics.net/lists/ceph-users/msg76183.html
Cc: Hu Weiwen <sehuww(a)mail.scut.edu.cn>
Signed-off-by: Xiubo Li <xiubli(a)redhat.com>
---
fs/ceph/addr.c | 40 +++++++++++++++++++++++++++++++++-------
1 file changed, 33 insertions(+), 7 deletions(-)
diff --git a/fs/ceph/addr.c b/fs/ceph/addr.c
index 93fff1a7373f..4b29777c01d7 100644
--- a/fs/ceph/addr.c
+++ b/fs/ceph/addr.c
@@ -188,16 +188,42 @@ static void ceph_netfs_expand_readahead(struct netfs_io_request *rreq)
struct inode *inode = rreq->inode;
struct ceph_inode_info *ci = ceph_inode(inode);
struct ceph_file_layout *lo = &ci->i_layout;
+ unsigned long max_pages = inode->i_sb->s_bdi->ra_pages;
+ loff_t end = rreq->start + rreq->len, new_end;
+ struct ceph_netfs_request_data *priv = rreq->netfs_priv;
+ unsigned long max_len;
u32 blockoff;
- u64 blockno;
- /* Expand the start downward */
- blockno = div_u64_rem(rreq->start, lo->stripe_unit, &blockoff);
- rreq->start = blockno * lo->stripe_unit;
- rreq->len += blockoff;
+ if (priv) {
+ /* Readahead is disabled by posix_fadvise POSIX_FADV_RANDOM */
+ if (priv->file_ra_disabled)
+ max_pages = 0;
+ else
+ max_pages = priv->file_ra_pages;
+
+ }
+
+ /* Readahead is disabled */
+ if (!max_pages)
+ return;
- /* Now, round up the length to the next block */
- rreq->len = roundup(rreq->len, lo->stripe_unit);
+ max_len = max_pages << PAGE_SHIFT;
+
+ /*
+ * Try to expand the length forward by rounding up it to the next
+ * block, but do not exceed the file size, unless the original
+ * request already exceeds it.
+ */
+ new_end = min(round_up(end, lo->stripe_unit), rreq->i_size);
+ if (new_end > end && new_end <= rreq->start + max_len)
+ rreq->len = new_end - rreq->start;
+
+ /* Try to expand the start downward */
+ div_u64_rem(rreq->start, lo->stripe_unit, &blockoff);
+ if (rreq->len + blockoff <= max_len) {
+ rreq->start -= blockoff;
+ rreq->len += blockoff;
+ }
}
static bool ceph_netfs_clamp_length(struct netfs_io_subrequest *subreq)
--
2.40.1
Hi,
Sasha's auto-selection backported:
commit f3f8f16b10f8 ("drm/amd/display: enable DPG when disabling plane
for phantom pipe") from 6.4 into 6.3.y as
commit ef6c86d067b4 ("drm/amd/display: enable DPG when disabling plane
for phantom pipe")
This was bisected down to have caused a regression in both 6.3.4 and 6.3.5:
Link: https://gitlab.freedesktop.org/drm/amd/-/issues/2581
The problematic behavior doesn't occur in 6.4-rc4.
This is confirmed to fixed on 6.3.y by backporting an additional commit:
82a10aff9428 ("drm/amd/display: Only wait for blank completion if OTG
active")||
Can you please backport this to 6.3.y to fix this regression?
Thanks!
PEACE BE WITH YOU,
Receiving this message might sound as a surprise to you, please do
accept it as a blessing from God made possible through a woman (widow)
with a good and sincere heart towards the poor orphans. Through these
projects millions will be positively touched as with God nothing is
impossible. I have this strong desire to help the poor orphans
suffering each day, but this dream cannot be realised as a result of
my health, which does not improve, hence I do not know whether I will
survive having undergone different surgical operations, which has kept
me hospitalized. Right now, life gives me no choice, but to answer the
call (death); my prayers each day is to have a place in Heaven. I have
suffered a lot as a result of this incurable sickness (terminal
cancer)! Above all, I do not have a child as a result of my sterility.
The only help I need from you at this point is to be in constant
prayers with me as I believe you have an open heart towards the poor
orphans and do believe in GOD. I would be so much happy to see that my
funds (Eight million Five Hundred United State Dollars) 8.5 Million
USD are properly used to help the less privileged etc before leaving
this world as this will be a great relieve for me and my soul. This is
a huge responsibility, but I pray that God gives you the strength to
handle it. You will also be highly recompensated.
Therefore, I want you to receive the money and take 30% to take care
of yourself and family while 70% should be used basically on
humanitarian purposes mostly to orphanages, Motherless babies home,
less privileged and disable citizens and widows around the world.
Once I get your reply, I will put you in contact with the bank in
charge of the transaction in order to start all necessary procedures
so as to enable you to have possession of my funds as soon as possible
before my next surgical operations.
I looking forward to reading from you.( mirabelvicent01(a)gmail.com )
Mrs. Mirabel Vicent..