From 31fa41c6fd34acc89aa8df9f18bf80487db71711 Mon Sep 17 00:00:00 2001 From: Miklos Szeredi Date: Fri, 4 Mar 2005 17:28:51 +0000 Subject: [PATCH] fix --- ChangeLog | 5 +++++ kernel/dev.c | 5 ++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index a05370f..4fb2bab 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2005-03-04 Miklos Szeredi + + * kernel: fix nasty bug which could cause an Oops under certain + situations. Found by Magnus Johansson + 2005-02-28 Miklos Szeredi * libfuse: added opendir() method. This can be used in case diff --git a/kernel/dev.c b/kernel/dev.c index f6e8b1f..f3de9de 100644 --- a/kernel/dev.c +++ b/kernel/dev.c @@ -159,12 +159,11 @@ struct fuse_req *fuse_get_request_nonint(struct fuse_conn *fc) static void fuse_putback_request(struct fuse_conn *fc, struct fuse_req *req) { - if (!req->preallocated) - fuse_request_free(req); - spin_lock(&fuse_lock); if (req->preallocated) list_add(&req->list, &fc->unused_list); + else + fuse_request_free(req); if (fc->outstanding_debt) fc->outstanding_debt--; -- 2.30.2