[PR #406] fix(fuse): fix double-reply and null-deref in iovs/addIoRing error path #419

Open
opened 2026-10-26 09:50:06 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/deepseek-ai/3FS/pull/406
Author: @songqing
Created: 4/1/2026
Status: 🔄 Open

Base: main ← Head: fix/fuse-iovs-double-reply


📝 Commits (2)

  • 72bf8e3 fix(fuse): fix double-reply and null-deref in iovs/addIoRing error path
  • 81578a0 fix comment

📊 Changes

1 file changed (+7 additions, -1 deletions)

View changed files

📝 src/fuse/FuseOps.cc (+7 -1)

📄 Description

What: In the FUSE symlink path for the iovs special directory, when addIoRing fails after a successful addIov, the code now passes the addIoRing result (res2) into handle_error instead of the addIoV success (res), and returns immediately afterward.

Why: So the client gets the correct error, and the handler does not call fuse_reply_entry after already replying via handle_error (avoids a double reply and unsafe follow-on logic on the error path).


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/deepseek-ai/3FS/pull/406 **Author:** [@songqing](https://github.com/songqing) **Created:** 4/1/2026 **Status:** 🔄 Open **Base:** `main` ← **Head:** `fix/fuse-iovs-double-reply` --- ### 📝 Commits (2) - [`72bf8e3`](https://github.com/deepseek-ai/3FS/commit/72bf8e356541290ce11c22ea4c8e9d58f5081753) fix(fuse): fix double-reply and null-deref in iovs/addIoRing error path - [`81578a0`](https://github.com/deepseek-ai/3FS/commit/81578a04613d6704538c9d22b19a1946a6e46986) fix comment ### 📊 Changes **1 file changed** (+7 additions, -1 deletions) <details> <summary>View changed files</summary> 📝 `src/fuse/FuseOps.cc` (+7 -1) </details> ### 📄 Description What: In the FUSE symlink path for the iovs special directory, when addIoRing fails after a successful addIov, the code now passes the addIoRing result (res2) into handle_error instead of the addIoV success (res), and returns immediately afterward. Why: So the client gets the correct error, and the handler does not call fuse_reply_entry after already replying via handle_error (avoids a double reply and unsafe follow-on logic on the error path). --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
Sign in to join this conversation.
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
deepseek-ai/3FS#419
No description provided.