> Every write_opcode()->__replace_page() leaks the new page on success. > > We have the reference after alloc_page_vma(), then __replace_page() > does another get_page() for the new mapping, we need put_page(new_page) > in any case. > > Alternatively we could remove __replace_page()->get_page() but it is > better to change write_opcode(). This way it is simpler to unify the > code with ksm.c:replace_page() and we can simplify the error handling > in write_opcode(), the patch simply adds a single page_cache_release() > under "unlock_out" label. I have folded this change and your other suggested changes into my patches. -- Thanks and Regards Srikar -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>