Re: XFS Bug null pointer dereference in xfs_free_ag_extent

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux