* [PATCH AUTOSEL 5.4 2/8] fs/9p: translate O_TRUNC into OTRUNC
2024-04-23 11:02 [PATCH AUTOSEL 5.4 1/8] fs/9p: only translate RWX permissions for plain 9P2000 Sasha Levin
@ 2024-04-23 11:02 ` Sasha Levin
2024-04-23 11:02 ` [PATCH AUTOSEL 5.4 3/8] 9p: explicitly deny setlease attempts Sasha Levin
` (5 subsequent siblings)
6 siblings, 0 replies; 10+ messages in thread
From: Sasha Levin @ 2024-04-23 11:02 UTC (permalink / raw)
To: linux-kernel, stable
Cc: Joakim Sindholt, Eric Van Hensbergen, Sasha Levin, lucho,
asmadeus, v9fs
From: Joakim Sindholt <opensource@zhasha.com>
[ Upstream commit 87de39e70503e04ddb58965520b15eb9efa7eef3 ]
This one hits both 9P2000 and .u as it appears v9fs has never translated
the O_TRUNC flag.
Signed-off-by: Joakim Sindholt <opensource@zhasha.com>
Signed-off-by: Eric Van Hensbergen <ericvh@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
fs/9p/vfs_inode.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/fs/9p/vfs_inode.c b/fs/9p/vfs_inode.c
index b1107b424bf64..ffce168296bd3 100644
--- a/fs/9p/vfs_inode.c
+++ b/fs/9p/vfs_inode.c
@@ -177,6 +177,9 @@ int v9fs_uflags2omode(int uflags, int extended)
break;
}
+ if (uflags & O_TRUNC)
+ ret |= P9_OTRUNC;
+
if (extended) {
if (uflags & O_EXCL)
ret |= P9_OEXCL;
--
2.43.0
^ permalink raw reply related [flat|nested] 10+ messages in thread* [PATCH AUTOSEL 5.4 3/8] 9p: explicitly deny setlease attempts
2024-04-23 11:02 [PATCH AUTOSEL 5.4 1/8] fs/9p: only translate RWX permissions for plain 9P2000 Sasha Levin
2024-04-23 11:02 ` [PATCH AUTOSEL 5.4 2/8] fs/9p: translate O_TRUNC into OTRUNC Sasha Levin
@ 2024-04-23 11:02 ` Sasha Levin
2024-04-23 11:02 ` [PATCH AUTOSEL 5.4 4/8] gpio: wcove: Use -ENOTSUPP consistently Sasha Levin
` (4 subsequent siblings)
6 siblings, 0 replies; 10+ messages in thread
From: Sasha Levin @ 2024-04-23 11:02 UTC (permalink / raw)
To: linux-kernel, stable
Cc: Jeff Layton, Eric Van Hensbergen, Sasha Levin, lucho, asmadeus,
v9fs
From: Jeff Layton <jlayton@kernel.org>
[ Upstream commit 7a84602297d36617dbdadeba55a2567031e5165b ]
9p is a remote network protocol, and it doesn't support asynchronous
notifications from the server. Ensure that we don't hand out any leases
since we can't guarantee they'll be broken when a file's contents
change.
Signed-off-by: Jeff Layton <jlayton@kernel.org>
Signed-off-by: Eric Van Hensbergen <ericvh@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
fs/9p/vfs_file.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/fs/9p/vfs_file.c b/fs/9p/vfs_file.c
index ee9cabac12041..14d6cb0316212 100644
--- a/fs/9p/vfs_file.c
+++ b/fs/9p/vfs_file.c
@@ -676,6 +676,7 @@ const struct file_operations v9fs_file_operations = {
.lock = v9fs_file_lock,
.mmap = generic_file_readonly_mmap,
.fsync = v9fs_file_fsync,
+ .setlease = simple_nosetlease,
};
const struct file_operations v9fs_file_operations_dotl = {
@@ -711,4 +712,5 @@ const struct file_operations v9fs_mmap_file_operations_dotl = {
.flock = v9fs_file_flock_dotl,
.mmap = v9fs_mmap_file_mmap,
.fsync = v9fs_file_fsync_dotl,
+ .setlease = simple_nosetlease,
};
--
2.43.0
^ permalink raw reply related [flat|nested] 10+ messages in thread* [PATCH AUTOSEL 5.4 4/8] gpio: wcove: Use -ENOTSUPP consistently
2024-04-23 11:02 [PATCH AUTOSEL 5.4 1/8] fs/9p: only translate RWX permissions for plain 9P2000 Sasha Levin
2024-04-23 11:02 ` [PATCH AUTOSEL 5.4 2/8] fs/9p: translate O_TRUNC into OTRUNC Sasha Levin
2024-04-23 11:02 ` [PATCH AUTOSEL 5.4 3/8] 9p: explicitly deny setlease attempts Sasha Levin
@ 2024-04-23 11:02 ` Sasha Levin
2024-04-23 11:03 ` [PATCH AUTOSEL 5.4 5/8] gpio: crystalcove: " Sasha Levin
` (3 subsequent siblings)
6 siblings, 0 replies; 10+ messages in thread
From: Sasha Levin @ 2024-04-23 11:02 UTC (permalink / raw)
To: linux-kernel, stable
Cc: Andy Shevchenko, Kuppuswamy Sathyanarayanan, Sasha Levin, andy,
linus.walleij, brgl, linux-gpio
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
[ Upstream commit 0c3b532ad3fbf82884a2e7e83e37c7dcdd4d1d99 ]
The GPIO library expects the drivers to return -ENOTSUPP in some
cases and not using analogue POSIX code. Make the driver to follow
this.
Reviewed-by: Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@linux.intel.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
drivers/gpio/gpio-wcove.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpio/gpio-wcove.c b/drivers/gpio/gpio-wcove.c
index 444fe9e7f04ac..79946c098271a 100644
--- a/drivers/gpio/gpio-wcove.c
+++ b/drivers/gpio/gpio-wcove.c
@@ -102,7 +102,7 @@ static inline int to_reg(int gpio, enum ctrl_register reg_type)
unsigned int reg;
if (gpio >= WCOVE_GPIO_NUM)
- return -EOPNOTSUPP;
+ return -ENOTSUPP;
if (reg_type == CTRL_IN)
reg = GPIO_IN_CTRL_BASE + gpio;
--
2.43.0
^ permalink raw reply related [flat|nested] 10+ messages in thread* [PATCH AUTOSEL 5.4 5/8] gpio: crystalcove: Use -ENOTSUPP consistently
2024-04-23 11:02 [PATCH AUTOSEL 5.4 1/8] fs/9p: only translate RWX permissions for plain 9P2000 Sasha Levin
` (2 preceding siblings ...)
2024-04-23 11:02 ` [PATCH AUTOSEL 5.4 4/8] gpio: wcove: Use -ENOTSUPP consistently Sasha Levin
@ 2024-04-23 11:03 ` Sasha Levin
2024-04-23 11:03 ` [PATCH AUTOSEL 5.4 6/8] clk: Don't hold prepare_lock when calling kref_put() Sasha Levin
` (2 subsequent siblings)
6 siblings, 0 replies; 10+ messages in thread
From: Sasha Levin @ 2024-04-23 11:03 UTC (permalink / raw)
To: linux-kernel, stable
Cc: Andy Shevchenko, Sasha Levin, andy, linus.walleij, brgl,
linux-gpio
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
[ Upstream commit ace0ebe5c98d66889f19e0f30e2518d0c58d0e04 ]
The GPIO library expects the drivers to return -ENOTSUPP in some
cases and not using analogue POSIX code. Make the driver to follow
this.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
drivers/gpio/gpio-crystalcove.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpio/gpio-crystalcove.c b/drivers/gpio/gpio-crystalcove.c
index 14d1f4c933b69..8b9c1833bf7d4 100644
--- a/drivers/gpio/gpio-crystalcove.c
+++ b/drivers/gpio/gpio-crystalcove.c
@@ -91,7 +91,7 @@ static inline int to_reg(int gpio, enum ctrl_register reg_type)
case 0x5e:
return GPIOPANELCTL;
default:
- return -EOPNOTSUPP;
+ return -ENOTSUPP;
}
}
--
2.43.0
^ permalink raw reply related [flat|nested] 10+ messages in thread* [PATCH AUTOSEL 5.4 6/8] clk: Don't hold prepare_lock when calling kref_put()
2024-04-23 11:02 [PATCH AUTOSEL 5.4 1/8] fs/9p: only translate RWX permissions for plain 9P2000 Sasha Levin
` (3 preceding siblings ...)
2024-04-23 11:03 ` [PATCH AUTOSEL 5.4 5/8] gpio: crystalcove: " Sasha Levin
@ 2024-04-23 11:03 ` Sasha Levin
2024-04-23 19:24 ` Stephen Boyd
2024-04-23 11:03 ` [PATCH AUTOSEL 5.4 7/8] fs/9p: drop inodes immediately on non-.L too Sasha Levin
2024-04-23 11:03 ` [PATCH AUTOSEL 5.4 8/8] net:usb:qmi_wwan: support Rolling modules Sasha Levin
6 siblings, 1 reply; 10+ messages in thread
From: Sasha Levin @ 2024-04-23 11:03 UTC (permalink / raw)
To: linux-kernel, stable
Cc: Stephen Boyd, Douglas Anderson, Sasha Levin, mturquette,
linux-clk
From: Stephen Boyd <sboyd@kernel.org>
[ Upstream commit 6f63af7511e7058f3fa4ad5b8102210741c9f947 ]
We don't need to hold the prepare_lock when dropping a ref on a struct
clk_core. The release function is only freeing memory and any code with
a pointer reference has already unlinked anything pointing to the
clk_core. This reduces the holding area of the prepare_lock a bit.
Note that we also don't call free_clk() with the prepare_lock held.
There isn't any reason to do that.
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
Link: https://lore.kernel.org/r/20240325184204.745706-3-sboyd@kernel.org
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
drivers/clk/clk.c | 12 +++++-------
1 file changed, 5 insertions(+), 7 deletions(-)
diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c
index 67051ca60920a..9dddf5f555ab5 100644
--- a/drivers/clk/clk.c
+++ b/drivers/clk/clk.c
@@ -3971,7 +3971,8 @@ void clk_unregister(struct clk *clk)
if (clk->core->ops == &clk_nodrv_ops) {
pr_err("%s: unregistered clock: %s\n", __func__,
clk->core->name);
- goto unlock;
+ clk_prepare_unlock();
+ return;
}
/*
* Assign empty clock ops for consumers that might still hold
@@ -4002,11 +4003,10 @@ void clk_unregister(struct clk *clk)
if (clk->core->protect_count)
pr_warn("%s: unregistering protected clock: %s\n",
__func__, clk->core->name);
+ clk_prepare_unlock();
kref_put(&clk->core->ref, __clk_release);
free_clk(clk);
-unlock:
- clk_prepare_unlock();
}
EXPORT_SYMBOL_GPL(clk_unregister);
@@ -4168,13 +4168,11 @@ void __clk_put(struct clk *clk)
clk->max_rate < clk->core->req_rate)
clk_core_set_rate_nolock(clk->core, clk->core->req_rate);
- owner = clk->core->owner;
- kref_put(&clk->core->ref, __clk_release);
-
clk_prepare_unlock();
+ owner = clk->core->owner;
+ kref_put(&clk->core->ref, __clk_release);
module_put(owner);
-
free_clk(clk);
}
--
2.43.0
^ permalink raw reply related [flat|nested] 10+ messages in thread* Re: [PATCH AUTOSEL 5.4 6/8] clk: Don't hold prepare_lock when calling kref_put()
2024-04-23 11:03 ` [PATCH AUTOSEL 5.4 6/8] clk: Don't hold prepare_lock when calling kref_put() Sasha Levin
@ 2024-04-23 19:24 ` Stephen Boyd
2024-05-08 10:16 ` Sasha Levin
0 siblings, 1 reply; 10+ messages in thread
From: Stephen Boyd @ 2024-04-23 19:24 UTC (permalink / raw)
To: Sasha Levin, linux-kernel, stable
Cc: Douglas Anderson, Sasha Levin, mturquette, linux-clk
Quoting Sasha Levin (2024-04-23 04:03:01)
> From: Stephen Boyd <sboyd@kernel.org>
>
> [ Upstream commit 6f63af7511e7058f3fa4ad5b8102210741c9f947 ]
>
> We don't need to hold the prepare_lock when dropping a ref on a struct
> clk_core. The release function is only freeing memory and any code with
> a pointer reference has already unlinked anything pointing to the
> clk_core. This reduces the holding area of the prepare_lock a bit.
>
> Note that we also don't call free_clk() with the prepare_lock held.
> There isn't any reason to do that.
You'll want the patch before this, 8358a76cfb47 ("clk: Remove
prepare_lock hold assertion in __clk_release()"), to avoid lockdep
warnings. And it looks like the problem was reported on v5.15.y so all
5 patches from the series would need a backport.
8358a76cfb47 clk: Remove prepare_lock hold assertion in __clk_release()
6f63af7511e7 clk: Don't hold prepare_lock when calling kref_put()
9d05ae531c2c clk: Initialize struct clk_core kref earlier
e581cf5d2162 clk: Get runtime PM before walking tree during disable_unused
9d1e795f754d clk: Get runtime PM before walking tree for clk_summary
^ permalink raw reply [flat|nested] 10+ messages in thread* Re: [PATCH AUTOSEL 5.4 6/8] clk: Don't hold prepare_lock when calling kref_put()
2024-04-23 19:24 ` Stephen Boyd
@ 2024-05-08 10:16 ` Sasha Levin
0 siblings, 0 replies; 10+ messages in thread
From: Sasha Levin @ 2024-05-08 10:16 UTC (permalink / raw)
To: Stephen Boyd
Cc: linux-kernel, stable, Douglas Anderson, mturquette, linux-clk
On Tue, Apr 23, 2024 at 12:24:51PM -0700, Stephen Boyd wrote:
>Quoting Sasha Levin (2024-04-23 04:03:01)
>> From: Stephen Boyd <sboyd@kernel.org>
>>
>> [ Upstream commit 6f63af7511e7058f3fa4ad5b8102210741c9f947 ]
>>
>> We don't need to hold the prepare_lock when dropping a ref on a struct
>> clk_core. The release function is only freeing memory and any code with
>> a pointer reference has already unlinked anything pointing to the
>> clk_core. This reduces the holding area of the prepare_lock a bit.
>>
>> Note that we also don't call free_clk() with the prepare_lock held.
>> There isn't any reason to do that.
>
>You'll want the patch before this, 8358a76cfb47 ("clk: Remove
>prepare_lock hold assertion in __clk_release()"), to avoid lockdep
>warnings. And it looks like the problem was reported on v5.15.y so all
>5 patches from the series would need a backport.
>
> 8358a76cfb47 clk: Remove prepare_lock hold assertion in __clk_release()
> 6f63af7511e7 clk: Don't hold prepare_lock when calling kref_put()
> 9d05ae531c2c clk: Initialize struct clk_core kref earlier
> e581cf5d2162 clk: Get runtime PM before walking tree during disable_unused
> 9d1e795f754d clk: Get runtime PM before walking tree for clk_summary
Ack, looks like its already the case. Thanks!
--
Thanks,
Sasha
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH AUTOSEL 5.4 7/8] fs/9p: drop inodes immediately on non-.L too
2024-04-23 11:02 [PATCH AUTOSEL 5.4 1/8] fs/9p: only translate RWX permissions for plain 9P2000 Sasha Levin
` (4 preceding siblings ...)
2024-04-23 11:03 ` [PATCH AUTOSEL 5.4 6/8] clk: Don't hold prepare_lock when calling kref_put() Sasha Levin
@ 2024-04-23 11:03 ` Sasha Levin
2024-04-23 11:03 ` [PATCH AUTOSEL 5.4 8/8] net:usb:qmi_wwan: support Rolling modules Sasha Levin
6 siblings, 0 replies; 10+ messages in thread
From: Sasha Levin @ 2024-04-23 11:03 UTC (permalink / raw)
To: linux-kernel, stable
Cc: Joakim Sindholt, Eric Van Hensbergen, Sasha Levin, lucho,
asmadeus, v9fs
From: Joakim Sindholt <opensource@zhasha.com>
[ Upstream commit 7fd524b9bd1be210fe79035800f4bd78a41b349f ]
Signed-off-by: Joakim Sindholt <opensource@zhasha.com>
Signed-off-by: Eric Van Hensbergen <ericvh@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
fs/9p/vfs_super.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/fs/9p/vfs_super.c b/fs/9p/vfs_super.c
index 74df32be4c6a5..46e58fdf9ba54 100644
--- a/fs/9p/vfs_super.c
+++ b/fs/9p/vfs_super.c
@@ -335,6 +335,7 @@ static const struct super_operations v9fs_super_ops = {
.alloc_inode = v9fs_alloc_inode,
.free_inode = v9fs_free_inode,
.statfs = simple_statfs,
+ .drop_inode = v9fs_drop_inode,
.evict_inode = v9fs_evict_inode,
.show_options = v9fs_show_options,
.umount_begin = v9fs_umount_begin,
--
2.43.0
^ permalink raw reply related [flat|nested] 10+ messages in thread* [PATCH AUTOSEL 5.4 8/8] net:usb:qmi_wwan: support Rolling modules
2024-04-23 11:02 [PATCH AUTOSEL 5.4 1/8] fs/9p: only translate RWX permissions for plain 9P2000 Sasha Levin
` (5 preceding siblings ...)
2024-04-23 11:03 ` [PATCH AUTOSEL 5.4 7/8] fs/9p: drop inodes immediately on non-.L too Sasha Levin
@ 2024-04-23 11:03 ` Sasha Levin
6 siblings, 0 replies; 10+ messages in thread
From: Sasha Levin @ 2024-04-23 11:03 UTC (permalink / raw)
To: linux-kernel, stable
Cc: Vanillan Wang, Jakub Kicinski, Sasha Levin, bjorn, davem,
edumazet, pabeni, netdev, linux-usb
From: Vanillan Wang <vanillanwang@163.com>
[ Upstream commit d362046021ea122309da8c8e0b6850c792ca97b5 ]
Update the qmi_wwan driver support for the Rolling
LTE modules.
- VID:PID 33f8:0104, RW101-GL for laptop debug M.2 cards(with RMNET
interface for /Linux/Chrome OS)
0x0104: RMNET, diag, at, pipe
Here are the outputs of usb-devices:
T: Bus=04 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=5000 MxCh= 0
D: Ver= 3.20 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 9 #Cfgs= 1
P: Vendor=33f8 ProdID=0104 Rev=05.04
S: Manufacturer=Rolling Wireless S.a.r.l.
S: Product=Rolling Module
S: SerialNumber=ba2eb033
C: #Ifs= 6 Cfg#= 1 Atr=a0 MxPwr=896mA
I: If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=30 Driver=option
E: Ad=01(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms
E: Ad=81(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms
I: If#= 1 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=40 Driver=option
E: Ad=02(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms
E: Ad=82(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms
E: Ad=83(I) Atr=03(Int.) MxPS= 10 Ivl=32ms
I: If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=40 Driver=option
E: Ad=03(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms
E: Ad=84(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms
E: Ad=85(I) Atr=03(Int.) MxPS= 10 Ivl=32ms
I: If#= 3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=40 Driver=option
E: Ad=04(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms
E: Ad=86(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms
E: Ad=87(I) Atr=03(Int.) MxPS= 10 Ivl=32ms
I: If#= 4 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=50 Driver=qmi_wwan
E: Ad=0f(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms
E: Ad=88(I) Atr=03(Int.) MxPS= 8 Ivl=32ms
E: Ad=8e(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms
I: If#= 5 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=42 Prot=01 Driver=usbfs
E: Ad=05(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms
E: Ad=89(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms
Signed-off-by: Vanillan Wang <vanillanwang@163.com>
Link: https://lore.kernel.org/r/20240416120713.24777-1-vanillanwang@163.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
drivers/net/usb/qmi_wwan.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/net/usb/qmi_wwan.c b/drivers/net/usb/qmi_wwan.c
index c2bd4abce6de5..1c48d3d9522ba 100644
--- a/drivers/net/usb/qmi_wwan.c
+++ b/drivers/net/usb/qmi_wwan.c
@@ -1380,6 +1380,7 @@ static const struct usb_device_id products[] = {
{QMI_FIXED_INTF(0x0489, 0xe0b5, 0)}, /* Foxconn T77W968 LTE with eSIM support*/
{QMI_FIXED_INTF(0x2692, 0x9025, 4)}, /* Cellient MPL200 (rebranded Qualcomm 05c6:9025) */
{QMI_QUIRK_SET_DTR(0x1546, 0x1342, 4)}, /* u-blox LARA-L6 */
+ {QMI_QUIRK_SET_DTR(0x33f8, 0x0104, 4)}, /* Rolling RW101 RMNET */
/* 4. Gobi 1000 devices */
{QMI_GOBI1K_DEVICE(0x05c6, 0x9212)}, /* Acer Gobi Modem Device */
--
2.43.0
^ permalink raw reply related [flat|nested] 10+ messages in thread