Messages in this thread | | | Date | Thu, 1 Oct 2009 12:53:14 +0100 (BST) | From | Hugh Dickins <> | Subject | Re: [PATCH] swapfile: avoid NULL pointer dereference in swapon when s_bdev is NULL |
| |
On Thu, 1 Oct 2009, Suresh Jayaraman wrote: > > Yeah, perhaps. I stumbled upon one more of such error - a NULL pointer > dereference in blkdev_issue_discard() called from get_swap_page() when I ran > memhog, a simple program to generate a memory hog with Swap over NFS patches. > > The call sequence is add_to_swap() -> get_swap_page() -> scan_swap_map() > -> discard_swap_cluster() -> blkdev_issue_discard(). > > Wrapping the code around a NULL check fixes the Oops for me.
That's odd: scan_swap_map() should only discard_swap_cluster() if SWP_DISCARDABLE got set, and your first patch made sure that it wasn't.
So I don't think this second patch should be necessary: you did have your first applied when you found this?
I wonder if there's a funny little issue like si->lowest_alloc not being reset to 0 where it should be. Were you switching between NFS swap and SSD swap in your testing?
Hugh
| |