Messages in this thread Patch in this message | | | Date | Tue, 01 Aug 2006 10:12:14 +0200 | From | Jan Dittmer <> | Subject | Re: XFS Bug null pointer dereference in xfs_free_ag_extent |
| |
Joe Jin schrieb: > From the information, I think it caused by (args.agbp == NULL). > get rid of, we'll find the call trace should panic: > xfs_free_extent > |_ xfs_free_ag_extent => here args.agbp= NULL; > |_ xfs_btree_init_cursor() > |_ agf = XFS_BUF_TO_AGF(agbp); => (xfs_agf_t > *)XFS_BUF_PTR(arbp) > |_ (xfs_caddr_t)((agbp)->b_addr) : but > here, agbp is NULL > so it caused the oops. > Non debug option, and the oops occured at xfs_btree_init_cursor(). >
Probably caused by this part of the diff from Nathan's earlier mail:
--- 8558226281c45a61d7a0bc056505246e705a372b +++ 22af489d3f346c7bb4488cdcf1ee91e59e48ddf3 --- fs/xfs/xfs_alloc.c +++ fs/xfs/xfs_alloc.c
@@ -1951,8 +1951,14 @@ xfs_alloc_fix_freelist( * the restrictions correctly. Can happen for free calls * on a completely full ag. */ - if (targs.agbno == NULLAGBLOCK) + if (targs.agbno == NULLAGBLOCK) { + if (!(flags & XFS_ALLOC_FLAG_FREEING)) { + xfs_trans_brelse(tp, agflbp); + args->agbp = NULL; + return 0; + } break; + } /* * Put each allocated block on the list. */ Jan - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |