Dave Chinner
3fc98b1ac0
XFS: Free buffer pages array unconditionally
...
The code in xfs_free_buf() only attempts to free the b_pages array if the
buffer is a page cache backed or page allocated buffer. The extra log buffer
that is used when the log wraps uses pages that are allocated to a different
log buffer, but it still has a b_pages array allocated when those pages
are associated to with the extra buffer in xfs_buf_associate_memory.
Hence we need to always attempt to free the b_pages array when tearing
down a buffer, not just on buffers that are explicitly marked as page bearing
buffers. This fixes a leak detected by the kernel memory leak code.
Signed-off-by: Dave Chinner <david@fromorbit.com>
Signed-off-by: Alex Elder <aelder@sgi.com>
2009-12-16 13:41:20 -06:00
..
2009-12-16 13:41:20 -06:00
2009-12-14 23:08:16 -06:00
2009-12-14 23:08:16 -06:00
2009-06-10 17:07:47 +02:00
2009-12-14 23:08:16 -06:00
2009-06-24 08:17:07 -04:00
2009-12-14 23:08:16 -06:00
2009-12-14 23:08:16 -06:00
2008-10-30 17:14:34 +11:00
2009-12-14 23:08:16 -06:00
2009-12-14 23:08:16 -06:00
2009-06-10 17:07:47 +02:00
2009-12-14 23:08:16 -06:00
2009-01-09 15:46:44 +11:00
2009-12-14 23:08:16 -06:00
2009-12-14 23:08:16 -06:00
2009-12-14 23:08:16 -06:00
2008-08-13 15:41:12 +10:00
2009-01-09 15:53:54 +11:00
2009-12-14 23:08:16 -06:00
2009-12-16 13:41:20 -06:00
2009-12-14 23:08:16 -06:00
2009-12-14 23:08:16 -06:00
2008-10-30 16:58:50 +11:00
2009-12-14 23:08:16 -06:00
2009-12-14 23:08:16 -06:00
2009-08-31 14:46:20 -05:00
2009-12-14 23:08:16 -06:00
2009-12-14 23:08:16 -06:00
2009-12-14 23:08:16 -06:00
2009-12-14 23:08:16 -06:00
2009-12-14 23:08:16 -06:00
2008-12-02 17:08:01 +11:00
2009-03-29 09:51:14 +02:00
2009-12-14 23:08:16 -06:00
2007-10-15 16:49:49 +10:00
2008-07-28 16:58:36 +10:00
2009-03-29 09:55:42 +02:00
2009-12-14 23:08:16 -06:00
2007-10-15 16:49:49 +10:00
2009-12-14 23:08:16 -06:00
2007-07-14 15:37:02 +10:00
2009-12-14 23:08:16 -06:00
2008-12-01 11:37:35 +11:00
2009-12-14 23:08:16 -06:00
2008-07-28 16:58:40 +10:00
2008-08-23 12:14:12 -07:00
2008-10-30 17:53:24 +11:00
2008-12-22 18:02:01 +11:00
2008-12-22 18:02:01 +11:00
2008-10-30 17:39:58 +11:00
2009-01-22 14:07:31 +11:00
2009-12-14 23:08:16 -06:00
2009-12-11 15:11:22 -06:00
2009-09-21 15:14:54 +02:00
2009-12-14 23:08:16 -06:00
2009-01-09 16:54:42 -08:00
2009-03-29 09:55:42 +02:00
2009-02-09 08:37:14 +01:00
2009-12-11 15:11:22 -06:00
2009-09-01 12:45:39 -05:00
2009-12-16 13:20:15 -06:00
2009-12-14 23:08:16 -06:00
2009-12-16 13:41:20 -06:00
2009-12-14 23:08:16 -06:00
2009-12-14 23:08:16 -06:00
2009-08-31 14:46:22 -05:00
2009-12-14 23:08:16 -06:00
2009-12-14 23:08:16 -06:00
2009-10-08 12:00:03 -05:00
2009-08-31 14:46:20 -05:00
2009-12-14 23:08:16 -06:00
2009-12-15 09:12:43 -08:00
2005-11-02 14:58:39 +11:00
2009-12-16 13:41:19 -06:00
2009-03-16 08:19:29 +01:00
2009-12-14 23:08:16 -06:00
2009-12-11 15:11:23 -06:00
2009-08-31 14:46:20 -05:00
2009-08-31 14:46:20 -05:00
2009-12-14 23:08:16 -06:00
2005-11-03 16:14:31 +11:00
2009-12-14 23:08:16 -06:00
2009-12-14 23:08:16 -06:00
2009-03-29 09:55:42 +02:00
2009-12-14 23:08:16 -06:00
2009-12-11 15:11:22 -06:00
2009-01-19 14:45:55 +11:00
2009-11-17 10:26:49 -06:00
2009-12-14 23:08:16 -06:00
2007-10-15 16:50:50 +10:00
2009-09-01 12:46:16 -05:00
2009-03-29 09:55:42 +02:00
2008-10-30 17:39:58 +11:00
2009-02-09 08:37:14 +01:00
2009-12-11 15:11:20 -06:00
2009-12-14 23:08:16 -06:00
2009-02-09 08:37:39 +01:00
2009-06-08 15:33:32 +02:00
2008-08-13 16:13:45 +10:00
2009-12-14 23:08:16 -06:00
2009-12-11 15:11:19 -06:00
2009-12-14 23:08:16 -06:00