commit | 903d26be2d3015f2a2d3cd1dfa3f37198d8b63ef | [log] [tgz] |
---|---|---|
author | Mukesh Agrawal <quiche@fuchsia.infra.roller.google.com> | Fri Dec 15 20:36:25 2023 +0000 |
committer | Copybara-Service <copybara-worker@google.com> | Fri Dec 15 12:38:57 2023 -0800 |
tree | 5a5c4fb37a2559bae1f1f1cac6e6bdf453d9a6ed | |
parent | f0c0b532a6adf95adae8f661beec7c95ee90601a [diff] |
[roll] Roll fuchsia [starnix][vfs] fail `create_entry()` when path contains embedded '/' When adding a node to the device registry, we expect to be able to create nodes in subdirectories. E.g., `mapper/control`. At present, this fails silently. That happens because 1. devtmpfs_create_device() doesn't have any special-case handling for embedded path separators. 2. DirEntry::create_entry() also lacks any special-case handling. I think it's best to add special-case handling in devtmpfs, because auto-magically handling embedded path separators isn't desirable everywhere. E.g., `mkdir("foo/bar/baz")` should fail unless `foo` and `bar` are already present. In this CL, I update the VFS code to report an error when asked to `create_entry()` with an embedded separator. In a later CL, I'll update devtmpfs to special-case device names with embedded separators. Original-Bug: b/310963779 Test: manual Manual test ----------- 1. Revert https://fxrev.dev/958094 2. Boot image 3. Observe the following error in the system logs: ERROR: [src/starnix/kernel/device/registry.rs(305)] Cannot add device DeviceMetadata { bus: None, class: (Weak), name: [109, 97, 112, 112, 101, 114, 47, 99, 111, 110, 116, 114, 111, 108], device_type: DeviceType(2796), mode: Char } in devtmpfs (EINVAL (22), source: ../../src/starnix/kernel/vfs/dir_entry.rs:289:20, context: None) Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/957401 Original-Revision: 9b3f2a72207789c13801de7575a29baefd5d20ae GitOrigin-RevId: 3b2d54e611d8029965afb8fef8a0c15287f46c6a Change-Id: I8977a37ee76c7f3ed7fc9c9a75cc5ab47b018002
This repository contains Fuchsia's Global Integration manifest files.
All changes should be made to the internal version of this repository. Our infrastructure automatically updates this version when the internal one changes.
Currently all changes must be made by a Google employee. Non-Google employees wishing to make a change can ask for assistance via the IRC channel #fuchsia
on Freenode.
First install Jiri.
Next run:
$ jiri init $ jiri import minimal https://fuchsia.googlesource.com/integration $ jiri update
Third party projects should have their own subdirectory in ./third_party
.