[PATCH v4 0/7] 9pfs: fix 'Twalk' protocol violation

Christian Schoenebeck posted 7 patches 2 years, 1 month ago
Test checkpatch passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/cover.1647339025.git.qemu_oss@crudebyte.com
Maintainers: Greg Kurz <groug@kaod.org>, Christian Schoenebeck <qemu_oss@crudebyte.com>, Thomas Huth <thuth@redhat.com>, Laurent Vivier <lvivier@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>
hw/9pfs/9p.c                 |  57 ++++++----
tests/qtest/virtio-9p-test.c | 201 ++++++++++++++++++++++++++++++++++-
2 files changed, 231 insertions(+), 27 deletions(-)
[PATCH v4 0/7] 9pfs: fix 'Twalk' protocol violation
Posted by Christian Schoenebeck 2 years, 1 month ago
Currently the implementation of 'Twalk' does not behave exactly as specified
by the 9p2000 protocol specification. Actual fix is patch 5; see the
description of that patch for details of what this overall fix and series is
about.

PREREQUISITES
=============

This series requires the following additional patch to work correctly:
https://lore.kernel.org/qemu-devel/E1nTpyU-0000yR-9o@lizzy.crudebyte.com/

OVERVIEW OF PATCHES
===================

Patch 4 is a preparatory (pure) refactoring change to make actual 'Twalk' fix
patch 5 better readable.

All the other patches are just additional test cases for guarding 'Twalk'
behaviour.

v3 -> v4:

  * QID returned by Twalk request in fs_walk_2nd_nonexistent() test should NOT
    be identical to root node's QID. [patch 7]

  * Fix actual 'fid unaffected' check in fs_walk_2nd_nonexistent() test by
    sending a subsequent 'Tgetattr' request. [patch 7]

Christian Schoenebeck (7):
  tests/9pfs: walk to non-existent dir
  tests/9pfs: Twalk with nwname=0
  tests/9pfs: compare QIDs in fs_walk_none() test
  9pfs: refactor 'name_idx' -> 'nwalked' in v9fs_walk()
  9pfs: fix 'Twalk' to only send error if no component walked
  tests/9pfs: guard recent 'Twalk' behaviour fix
  tests/9pfs: check fid being unaffected in fs_walk_2nd_nonexistent

 hw/9pfs/9p.c                 |  57 ++++++----
 tests/qtest/virtio-9p-test.c | 201 ++++++++++++++++++++++++++++++++++-
 2 files changed, 231 insertions(+), 27 deletions(-)

-- 
2.30.2
Re: [PATCH v4 0/7] 9pfs: fix 'Twalk' protocol violation
Posted by Christian Schoenebeck 2 years, 1 month ago
On Dienstag, 15. März 2022 11:10:25 CEST Christian Schoenebeck wrote:
> Currently the implementation of 'Twalk' does not behave exactly as specified
> by the 9p2000 protocol specification. Actual fix is patch 5; see the
> description of that patch for details of what this overall fix and series
> is about.
> 
> PREREQUISITES
> =============
> 
> This series requires the following additional patch to work correctly:
> https://lore.kernel.org/qemu-devel/E1nTpyU-0000yR-9o@lizzy.crudebyte.com/
> 
> OVERVIEW OF PATCHES
> ===================
> 
> Patch 4 is a preparatory (pure) refactoring change to make actual 'Twalk'
> fix patch 5 better readable.
> 
> All the other patches are just additional test cases for guarding 'Twalk'
> behaviour.
> 
> v3 -> v4:
> 
>   * QID returned by Twalk request in fs_walk_2nd_nonexistent() test should
> NOT be identical to root node's QID. [patch 7]
> 
>   * Fix actual 'fid unaffected' check in fs_walk_2nd_nonexistent() test by
>     sending a subsequent 'Tgetattr' request. [patch 7]
> 
> Christian Schoenebeck (7):
>   tests/9pfs: walk to non-existent dir
>   tests/9pfs: Twalk with nwname=0
>   tests/9pfs: compare QIDs in fs_walk_none() test
>   9pfs: refactor 'name_idx' -> 'nwalked' in v9fs_walk()
>   9pfs: fix 'Twalk' to only send error if no component walked
>   tests/9pfs: guard recent 'Twalk' behaviour fix
>   tests/9pfs: check fid being unaffected in fs_walk_2nd_nonexistent
> 
>  hw/9pfs/9p.c                 |  57 ++++++----
>  tests/qtest/virtio-9p-test.c | 201 ++++++++++++++++++++++++++++++++++-
>  2 files changed, 231 insertions(+), 27 deletions(-)

ping

No hurry, as this is something for the subsequent QEMU release cycle, but 
would be good to know whether you will be able to look at this at all.

Best regards,
Christian Schoenebeck
Re: [PATCH v4 0/7] 9pfs: fix 'Twalk' protocol violation
Posted by Greg Kurz 2 years, 1 month ago
On Tue, 29 Mar 2022 12:21:13 +0200
Christian Schoenebeck <qemu_oss@crudebyte.com> wrote:

> On Dienstag, 15. März 2022 11:10:25 CEST Christian Schoenebeck wrote:
> > Currently the implementation of 'Twalk' does not behave exactly as specified
> > by the 9p2000 protocol specification. Actual fix is patch 5; see the
> > description of that patch for details of what this overall fix and series
> > is about.
> > 
> > PREREQUISITES
> > =============
> > 
> > This series requires the following additional patch to work correctly:
> > https://lore.kernel.org/qemu-devel/E1nTpyU-0000yR-9o@lizzy.crudebyte.com/
> > 
> > OVERVIEW OF PATCHES
> > ===================
> > 
> > Patch 4 is a preparatory (pure) refactoring change to make actual 'Twalk'
> > fix patch 5 better readable.
> > 
> > All the other patches are just additional test cases for guarding 'Twalk'
> > behaviour.
> > 
> > v3 -> v4:
> > 
> >   * QID returned by Twalk request in fs_walk_2nd_nonexistent() test should
> > NOT be identical to root node's QID. [patch 7]
> > 
> >   * Fix actual 'fid unaffected' check in fs_walk_2nd_nonexistent() test by
> >     sending a subsequent 'Tgetattr' request. [patch 7]
> > 
> > Christian Schoenebeck (7):
> >   tests/9pfs: walk to non-existent dir
> >   tests/9pfs: Twalk with nwname=0
> >   tests/9pfs: compare QIDs in fs_walk_none() test
> >   9pfs: refactor 'name_idx' -> 'nwalked' in v9fs_walk()
> >   9pfs: fix 'Twalk' to only send error if no component walked
> >   tests/9pfs: guard recent 'Twalk' behaviour fix
> >   tests/9pfs: check fid being unaffected in fs_walk_2nd_nonexistent
> > 
> >  hw/9pfs/9p.c                 |  57 ++++++----
> >  tests/qtest/virtio-9p-test.c | 201 ++++++++++++++++++++++++++++++++++-
> >  2 files changed, 231 insertions(+), 27 deletions(-)
> 
> ping
> 
> No hurry, as this is something for the subsequent QEMU release cycle, but 
> would be good to know whether you will be able to look at this at all.
> 

Yes I will but probably not before next week.

Cheers,

--
Greg

> Best regards,
> Christian Schoenebeck
> 
>