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

Christian Schoenebeck posted 7 patches 3 years, 11 months ago
Test checkpatch passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/cover.1647083430.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>
There is a newer version of this series
hw/9pfs/9p.c                 |  43 +++++---
tests/qtest/virtio-9p-test.c | 191 ++++++++++++++++++++++++++++++++++-
2 files changed, 215 insertions(+), 19 deletions(-)
[PATCH v2 0/7] 9pfs: fix 'Twalk' protocol violation
Posted by Christian Schoenebeck 3 years, 11 months 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.

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

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

v1 -> v2:

  * Use Tgetattr instead of Tstat. [patch 3]

  * Add is_same_qid() function. [patch 3]

  * No need to stat root fid. [patch 3]

  * Adjust commit log: 'retrieved/walked' -> 'walked'. [patch 4]

  * Rename variable 'nvalid' -> 'nwalked'. [patch 4]

  * Fix typo in commit log 'unaffected'. [patch 5]

  * Compare 'any_err < 0' like previously done for 'err'. [patch 5]

  * Fix English wording 'says' in commit log. [patch 6]

  * Ensure fid unaffected in fs_walk_2nd_nonexistent(). [NEW 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                 |  43 +++++---
 tests/qtest/virtio-9p-test.c | 191 ++++++++++++++++++++++++++++++++++-
 2 files changed, 215 insertions(+), 19 deletions(-)

-- 
2.30.2