aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Somers <asomers@FreeBSD.org>2019-06-27 22:24:56 +0000
committerAlan Somers <asomers@FreeBSD.org>2019-06-27 22:24:56 +0000
commitc1afff113ceec2c78b96b2e52379cb5a9275d5fb (patch)
tree76ffbd6d91b97aa07a399dd77fc207b83501cfeb
parent435ecf40bbf56a6554ff9f9b51b1a783dffa2f42 (diff)
downloadsrc-c1afff113ceec2c78b96b2e52379cb5a9275d5fb.tar.gz
src-c1afff113ceec2c78b96b2e52379cb5a9275d5fb.zip
fusefs: fix a memory leak regarding FUSE_INTERRUPT
We were leaking the fuse ticket if the original operation completed before the daemon received the INTERRUPT operation. Fixing this was easier than I expected. Sponsored by: The FreeBSD Foundation
Notes
Notes: svn path=/projects/fuse2/; revision=349473
-rw-r--r--sys/fs/fuse/fuse_device.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/fs/fuse/fuse_device.c b/sys/fs/fuse/fuse_device.c
index 6a66df80e89b..02a13074b3da 100644
--- a/sys/fs/fuse/fuse_device.c
+++ b/sys/fs/fuse/fuse_device.c
@@ -473,6 +473,7 @@ fuse_device_write(struct cdev *dev, struct uio *uio, int ioflag)
x_tick) {
if (itick->tk_unique == tick->irq_unique) {
fuse_aw_remove(itick);
+ fuse_ticket_drop(itick);
break;
}
}