From: Dan Carpenter <dan.carpenter@oracle.com>
To: tinguely@sgi.com
Cc: xfs@oss.sgi.com
Subject: re: xfs: free the list of recovery items on error
Date: Fri, 6 Dec 2013 18:49:06 +0300 [thread overview]
Message-ID: <20131206154906.GA13568@elgon.mountain> (raw)
Hello Mark Tinguely,
The patch 2a84108fe275: "xfs: free the list of recovery items on
error" from Oct 2, 2013, leads to the following
static checker warning: "fs/xfs/xfs_log_recover.c:3621
xlog_recover_process_data()
warn: 'trans' was already freed."
fs/xfs/xfs_log_recover.c
3589 switch (flags) {
3590 case XLOG_COMMIT_TRANS:
3591 error = xlog_recover_commit_trans(log,
3592 trans, pass);
xlog_recover_commit_trans() frees trans on the success path and on some
failure paths.
3593 break;
3594 case XLOG_UNMOUNT_TRANS:
3595 error = xlog_recover_unmount_trans(log, trans);
3596 break;
3597 case XLOG_WAS_CONT_TRANS:
3598 error = xlog_recover_add_to_cont_trans(log,
3599 trans, dp,
3600 be32_to_cpu(ohead->oh_len));
3601 break;
3602 case XLOG_START_TRANS:
3603 xfs_warn(log->l_mp, "%s: bad transaction",
3604 __func__);
3605 ASSERT(0);
3606 error = XFS_ERROR(EIO);
3607 break;
3608 case 0:
3609 case XLOG_CONTINUE_TRANS:
3610 error = xlog_recover_add_to_trans(log, trans,
3611 dp, be32_to_cpu(ohead->oh_len));
3612 break;
3613 default:
3614 xfs_warn(log->l_mp, "%s: bad flag 0x%x",
3615 __func__, flags);
3616 ASSERT(0);
3617 error = XFS_ERROR(EIO);
3618 break;
3619 }
3620 if (error) {
3621 xlog_recover_free_trans(trans);
Double free?
3622 return error;
3623 }
regards,
dan carpenter
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
next reply other threads:[~2013-12-06 15:49 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-12-06 15:49 Dan Carpenter [this message]
2013-12-06 16:17 ` xfs: free the list of recovery items on error Mark Tinguely
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20131206154906.GA13568@elgon.mountain \
--to=dan.carpenter@oracle.com \
--cc=tinguely@sgi.com \
--cc=xfs@oss.sgi.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.