| From: Jan Kara <jack@suse.cz> |
| Date: Wed, 2 Aug 2017 12:37:16 -0700 |
| Subject: [PATCH] xfs: Fix leak of discard bio |
| References: bnc#1060662 |
| Patch-mainline: v4.12.8 |
| Git-commit: ea7bd56fa309d10a41b1041827a63c0746c47554 |
| |
| commit ea7bd56fa309d10a41b1041827a63c0746c47554 upstream. |
| |
| The bio describing discard operation is allocated by |
| __blkdev_issue_discard() which returns us a reference to it. That |
| reference is never released and thus we leak this bio. Drop the bio |
| reference once it completes in xlog_discard_endio(). |
| |
| Fixes: 4560e78f40cb55bd2ea8f1ef4001c5baa88531c7 |
| Signed-off-by: Jan Kara <jack@suse.cz> |
| Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com> |
| Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| Signed-off-by: Jiri Slaby <jslaby@suse.cz> |
| |
| fs/xfs/xfs_log_cil.c | 1 + |
| 1 file changed, 1 insertion(+) |
| |
| diff --git a/fs/xfs/xfs_log_cil.c b/fs/xfs/xfs_log_cil.c |
| index 82f1cbcc4de1..1f53dc23aebe 100644 |
| |
| |
| @@ -519,6 +519,7 @@ xlog_discard_endio( |
| |
| INIT_WORK(&ctx->discard_endio_work, xlog_discard_endio_work); |
| queue_work(xfs_discard_wq, &ctx->discard_endio_work); |
| + bio_put(bio); |
| } |
| |
| static void |
| -- |
| 2.14.2 |
| |