Messages in this thread Patch in this message | | | Date | Sat, 19 Nov 2005 15:30:59 +1100 | From | Nick Piggin <> | Subject | Re: 2.6.15-rc1-mm2 0x414 Bad page states |
| |
Rafael J. Wysocki wrote: > Hi, > > On Friday, 18 of November 2005 21:12, Dominik Brodowski wrote: > >>[4294995.698000] Bad page state at free_hot_cold_page (in process 'gaim', page c15eb020) >>[4294995.698000] flags:0x80000414 mapping:00000000 mapcount:0 count:0 >>[4294995.698000] vm_flags:0x800fb snd_pcm_mmap_data_open+0x0/0x11 snd_pcm_mmap_data_nopage+0x0/0xa7 > > > I've got pretty much the same: > > Nov 18 21:23:22 albercik kernel: Bad page state at free_hot_cold_page (in process 'artsd', page ffff8100019613b8) > Nov 18 21:23:22 albercik kernel: flags:0x4000000000000414 mapping:0000000000000000 mapcount:0 count:0 > Nov 18 21:23:22 albercik kernel: vm_flags:0x800fb snd_pcm_mmap_data_open+0x0/0x20 [snd_pcm] snd_pcm_mmap_data_nopage+0x0/0x150 [snd_pcm] > Nov 18 21:23:22 albercik kernel: Backtrace:
These look like they want the following patch. Does it help?
-- SUSE Labs, Novell Inc.
Index: linux-2.6/sound/core/pcm_native.c =================================================================== --- linux-2.6.orig/sound/core/pcm_native.c 2005-10-09 18:28:51.000000000 +1000 +++ linux-2.6/sound/core/pcm_native.c 2005-11-19 15:29:59.000000000 +1100 @@ -2949,8 +2949,7 @@ static struct page * snd_pcm_mmap_status return NOPAGE_OOM; runtime = substream->runtime; page = virt_to_page(runtime->status); - if (!PageReserved(page)) - get_page(page); + get_page(page); if (type) *type = VM_FAULT_MINOR; return page; @@ -2992,8 +2991,7 @@ static struct page * snd_pcm_mmap_contro return NOPAGE_OOM; runtime = substream->runtime; page = virt_to_page(runtime->control); - if (!PageReserved(page)) - get_page(page); + get_page(page); if (type) *type = VM_FAULT_MINOR; return page; @@ -3066,8 +3064,7 @@ static struct page *snd_pcm_mmap_data_no vaddr = runtime->dma_area + offset; page = virt_to_page(vaddr); } - if (!PageReserved(page)) - get_page(page); + get_page(page); if (type) *type = VM_FAULT_MINOR; return page; | |