[PATCH] netfs: Fix wrong sort of request put in error handling

From: David Howells

Date: Sat Apr 25 2026 - 03:32:32 EST



Fix netfs_write_begin() to call netfs_put_request(), not
netfs_put_failed_request(), if it has already tried to dispatch the
request.

Fixes: 453f1cc34a8f ("netfs: Fix leak of request in netfs_write_begin() error handling")
Signed-off-by: David Howells <dhowells@xxxxxxxxxx>
cc: Paulo Alcantara <pc@xxxxxxxxxxxxx>
cc: netfs@xxxxxxxxxxxxxxx
cc: linux-fsdevel@xxxxxxxxxxxxxxx
---
fs/netfs/buffered_read.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/fs/netfs/buffered_read.c b/fs/netfs/buffered_read.c
index 5c78ec14e46b..7e7dacded8f7 100644
--- a/fs/netfs/buffered_read.c
+++ b/fs/netfs/buffered_read.c
@@ -693,9 +693,9 @@ int netfs_write_begin(struct netfs_inode *ctx,

netfs_read_to_pagecache(rreq, NULL);
ret = netfs_wait_for_read(rreq);
- if (ret < 0)
- goto error_put;
netfs_put_request(rreq, netfs_rreq_trace_put_return);
+ if (ret < 0)
+ goto error;

have_folio:
ret = folio_wait_private_2_killable(folio);