2023-07-19 15:36:50

by Eric Van Hensbergen

[permalink] [raw]
Subject: [PATCH v3 0/4] fs/9p: fix mmap regression

This series attempts to fix a reported exception with mmap
on newer kernels.

Fixes: 1543b4c5071c ("fs/9p: remove writeback fid and fix per-file modes")
Link: https://lore.kernel.org/v9fs/ZK25XZ%2BGpR3KHIB%[email protected]/
Reported-by: Robert Schwebel <[email protected]>
Signed-off-by: Eric Van Hensbergen <[email protected]>
---
Changes in v3:
- Clarify debug print to read-only mmap mode versus no mmap mode in
v9fs_file_mmap
- Fix suggested regression tags and propagate across series
- Link to v2: https://lore.kernel.org/r/20230716-fixes-overly-restrictive-mmap-v2-0-147d6b93f699@kernel.org

Changes in v2:
- fix requested changes in commit messages
- add patch to remove unnecessary invalidate_inode_pages in mmap readonly path
- Link to v1: https://lore.kernel.org/r/20230716-fixes-overly-restrictive-mmap-v1-0-0683b283b932@kernel.org

---
Eric Van Hensbergen (4):
fs/9p: remove unnecessary and overrestrictive check
fs/9p: fix typo in comparison logic for cache mode
fs/9p: fix type mismatch in file cache mode helper
fs/9p: remove unnecessary invalidate_inode_pages2

fs/9p/fid.h | 6 +++---
fs/9p/vfs_file.c | 5 +----
2 files changed, 4 insertions(+), 7 deletions(-)
---
base-commit: 95f41d87810083d8b3dedcce46a4e356cf4a9673
change-id: 20230716-fixes-overly-restrictive-mmap-30a23501e787

Best regards,
--
Eric Van Hensbergen <[email protected]>



2023-07-19 15:41:11

by Eric Van Hensbergen

[permalink] [raw]
Subject: [PATCH v3 3/4] fs/9p: fix type mismatch in file cache mode helper

There were two flags (s_flags and s_cache) which had incorrect signed
type in the parameters of the file cache mode helper function.

Fixes: 1543b4c5071c ("fs/9p: remove writeback fid and fix per-file modes")
Link: https://lore.kernel.org/v9fs/ZK25XZ%2BGpR3KHIB%[email protected]/
Reviewed-by: Dominique Martinet <[email protected]>
Signed-off-by: Eric Van Hensbergen <[email protected]>
---
fs/9p/fid.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/fs/9p/fid.h b/fs/9p/fid.h
index 297c2c377e3d..29281b7c3887 100644
--- a/fs/9p/fid.h
+++ b/fs/9p/fid.h
@@ -46,8 +46,8 @@ static inline struct p9_fid *v9fs_fid_clone(struct dentry *dentry)
* NOTE: these are set after open so only reflect 9p client not
* underlying file system on server.
*/
-static inline void v9fs_fid_add_modes(struct p9_fid *fid, int s_flags,
- int s_cache, unsigned int f_flags)
+static inline void v9fs_fid_add_modes(struct p9_fid *fid, unsigned int s_flags,
+ unsigned int s_cache, unsigned int f_flags)
{
if (fid->qid.type != P9_QTFILE)
return;

--
2.39.2


2023-07-19 16:06:38

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH v3 3/4] fs/9p: fix type mismatch in file cache mode helper

On Wed, Jul 19, 2023 at 03:17:07PM +0000, Eric Van Hensbergen wrote:
> There were two flags (s_flags and s_cache) which had incorrect signed
> type in the parameters of the file cache mode helper function.
>
> Fixes: 1543b4c5071c ("fs/9p: remove writeback fid and fix per-file modes")
> Link: https://lore.kernel.org/v9fs/ZK25XZ%2BGpR3KHIB%[email protected]/
> Reviewed-by: Dominique Martinet <[email protected]>
> Signed-off-by: Eric Van Hensbergen <[email protected]>
> ---
> fs/9p/fid.h | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)


<formletter>

This is not the correct way to submit patches for inclusion in the
stable kernel tree. Please read:
https://www.kernel.org/doc/html/latest/process/stable-kernel-rules.html
for how to do this properly.

</formletter>

2023-07-24 21:49:19

by Eric Van Hensbergen

[permalink] [raw]
Subject: Re: [PATCH v3 0/4] fs/9p: fix mmap regression

Awesome, thanks for verifying Robert. Will send a pull request for
this in a few days.

-eric

On Mon, Jul 24, 2023 at 4:17 PM Robert Schwebel
<[email protected]> wrote:
>
> Hi Eric,
>
> On Wed, Jul 19, 2023 at 03:17:04PM +0000, Eric Van Hensbergen wrote:
> > This series attempts to fix a reported exception with mmap
> > on newer kernels.
> >
> > Fixes: 1543b4c5071c ("fs/9p: remove writeback fid and fix per-file modes")
> > Link: https://lore.kernel.org/v9fs/ZK25XZ%2BGpR3KHIB%[email protected]/
> > Reported-by: Robert Schwebel <[email protected]>
> > Signed-off-by: Eric Van Hensbergen <[email protected]>
> > ---
> > Changes in v3:
> > - Clarify debug print to read-only mmap mode versus no mmap mode in
> > v9fs_file_mmap
> > - Fix suggested regression tags and propagate across series
> > - Link to v2: https://lore.kernel.org/r/20230716-fixes-overly-restrictive-mmap-v2-0-147d6b93f699@kernel.org
> >
> > Changes in v2:
> > - fix requested changes in commit messages
> > - add patch to remove unnecessary invalidate_inode_pages in mmap readonly path
> > - Link to v1: https://lore.kernel.org/r/20230716-fixes-overly-restrictive-mmap-v1-0-0683b283b932@kernel.org
>
> I've tested this patch series with my qemu setup and it resolves the
> issue. Thanks for taking care!
>
> Tested-by: Robert Schwebel <[email protected]>
>
> ----------8<----------
>
> rsc@dude05:~/work/DistroKit$ configs/platform-v7a/run
> Forwarding SSH port 127.0.0.1:24910 -> qemu:22
> [ 0.000000] L2C: platform modifies aux control register: 0x02020000 -> 0x02420000
> [ 0.000000] L2C: DT/platform modifies aux control register: 0x02020000 -> 0x02420000
> [ 0.004896] smp_twd: clock not found -2
> [ 0.726397] simple-pm-bus bus@40000000:motherboard-bus@40000000:iofpga@7,00000000: Failed to create device link (0x180) with dcc:tcrefclk
> [ 0.742338] simple-pm-bus bus@40000000:motherboard-bus@40000000:iofpga@7,00000000: Failed to create device link (0x180) with dcc:tcrefclk
> [ 0.809910] physmap-flash 48000000.psram: map_probe failed
> [ 1.201306] 9pnet_virtio: no channels available for device root
>
> ____ _ _
> | _ \ ___ _ __ __ _ _ _| |_ _ __ ___ _ __ (_)_ __
> | |_) / _ \ '_ \ / _` | | | | __| '__/ _ \| '_ \| \ \/ /
> | __/ __/ | | | (_| | |_| | |_| | | (_) | | | | |> <
> |_| \___|_| |_|\__, |\__,_|\__|_| \___/|_| |_|_/_/\_\
> |___/
>
> ____ _ _ _ ___ _
> | _ \(_)___| |_ _ __ ___ | |/ (_) |_
> | | | | / __| __| '__/ _ \| ' /| | __|
> | |_| | \__ \ |_| | | (_) | . \| | |_
> |____/|_|___/\__|_| \___/|_|\_\_|\__|
>
>
> OSELAS(R)-DistroKit-2019.12.0-00429-g57ffae760eb9 / v7a-2019.12.0-00429-g57ffae760eb9
> ptxdist-2023.07.1/2023-07-11T19:56:50+0200
>
> DistroKit login: root
> root@DistroKit:~ mount / -o remount,rw
> root@DistroKit:~ ldconfig
> root@DistroKit:~ uname -a
> Linux DistroKit 6.4.0 #1 SMP PREEMPT 2023-07-01T00:00:00+00:00 armv7l GNU/Linux
>
> ----------8<----------
>
> rsc
> --
> Pengutronix e.K. | Dipl.-Ing. Robert Schwebel |
> Steuerwalder Str. 21 | https://www.pengutronix.de/ |
> 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
> Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-9 |
>

2023-07-24 21:59:41

by Robert Schwebel

[permalink] [raw]
Subject: Re: [PATCH v3 0/4] fs/9p: fix mmap regression

Hi Eric,

On Wed, Jul 19, 2023 at 03:17:04PM +0000, Eric Van Hensbergen wrote:
> This series attempts to fix a reported exception with mmap
> on newer kernels.
>
> Fixes: 1543b4c5071c ("fs/9p: remove writeback fid and fix per-file modes")
> Link: https://lore.kernel.org/v9fs/ZK25XZ%2BGpR3KHIB%[email protected]/
> Reported-by: Robert Schwebel <[email protected]>
> Signed-off-by: Eric Van Hensbergen <[email protected]>
> ---
> Changes in v3:
> - Clarify debug print to read-only mmap mode versus no mmap mode in
> v9fs_file_mmap
> - Fix suggested regression tags and propagate across series
> - Link to v2: https://lore.kernel.org/r/20230716-fixes-overly-restrictive-mmap-v2-0-147d6b93f699@kernel.org
>
> Changes in v2:
> - fix requested changes in commit messages
> - add patch to remove unnecessary invalidate_inode_pages in mmap readonly path
> - Link to v1: https://lore.kernel.org/r/20230716-fixes-overly-restrictive-mmap-v1-0-0683b283b932@kernel.org

I've tested this patch series with my qemu setup and it resolves the
issue. Thanks for taking care!

Tested-by: Robert Schwebel <[email protected]>

----------8<----------

rsc@dude05:~/work/DistroKit$ configs/platform-v7a/run
Forwarding SSH port 127.0.0.1:24910 -> qemu:22
[ 0.000000] L2C: platform modifies aux control register: 0x02020000 -> 0x02420000
[ 0.000000] L2C: DT/platform modifies aux control register: 0x02020000 -> 0x02420000
[ 0.004896] smp_twd: clock not found -2
[ 0.726397] simple-pm-bus bus@40000000:motherboard-bus@40000000:iofpga@7,00000000: Failed to create device link (0x180) with dcc:tcrefclk
[ 0.742338] simple-pm-bus bus@40000000:motherboard-bus@40000000:iofpga@7,00000000: Failed to create device link (0x180) with dcc:tcrefclk
[ 0.809910] physmap-flash 48000000.psram: map_probe failed
[ 1.201306] 9pnet_virtio: no channels available for device root

____ _ _
| _ \ ___ _ __ __ _ _ _| |_ _ __ ___ _ __ (_)_ __
| |_) / _ \ '_ \ / _` | | | | __| '__/ _ \| '_ \| \ \/ /
| __/ __/ | | | (_| | |_| | |_| | | (_) | | | | |> <
|_| \___|_| |_|\__, |\__,_|\__|_| \___/|_| |_|_/_/\_\
|___/

____ _ _ _ ___ _
| _ \(_)___| |_ _ __ ___ | |/ (_) |_
| | | | / __| __| '__/ _ \| ' /| | __|
| |_| | \__ \ |_| | | (_) | . \| | |_
|____/|_|___/\__|_| \___/|_|\_\_|\__|


OSELAS(R)-DistroKit-2019.12.0-00429-g57ffae760eb9 / v7a-2019.12.0-00429-g57ffae760eb9
ptxdist-2023.07.1/2023-07-11T19:56:50+0200

DistroKit login: root
root@DistroKit:~ mount / -o remount,rw
root@DistroKit:~ ldconfig
root@DistroKit:~ uname -a
Linux DistroKit 6.4.0 #1 SMP PREEMPT 2023-07-01T00:00:00+00:00 armv7l GNU/Linux

----------8<----------

rsc
--
Pengutronix e.K. | Dipl.-Ing. Robert Schwebel |
Steuerwalder Str. 21 | https://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-9 |