I've again a problem with the page fault handler I'm hijacking. The error returned is: Unable to handle kernel NULL pointer dereference at virtual address 00000000. ............... <0>kernel panic: Aiee, killing interrupt handler In interrupt handler - not syncing I do the following operation. I've a page fault handler function that calls a function to scan a list (of type list_head) created by me. There's another function that adds page addresses to the list. When I call this function to fill the list, I've the problem with NULL pointer. I try to implement some spin_lock_irq. The functions are like the following: new_page_fault_handler( { ...... scanlist(); ....... } scanlist() { spin_lock_irqsave(...); list_for_each(..) ..... spin_unlock_irqrestore(); } fill_list() { spin_lock_irqsave(...); for all searched pages do{ make pages as not writable; list_add(...); } spin_unlock_irqrestore(); } I've to do some important statements. 1) I'm sure the hijacked page fault function works well. I've tested in other situations. 2) Also the fill_list function works well. So, I think there's a serious problem with the lock strategy I've implemented. Can anyone tell me a different strategy? Is this really a locking problem? Thanks. Vincenzo Mallozzi. ___________________________________ Yahoo! Mail: gratis 1GB per i messaggi e allegati da 10MB http://mail.yahoo.it -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/