The patch titled Subject: crypto/async_pq: use __free_page() instead of put_page() has been added to the -mm tree. Its filename is mm-page_ref-add-tracepoint-to-track-down-page-reference-manipulation-fix-2.patch This patch should soon appear at http://ozlabs.org/~akpm/mmots/broken-out/mm-page_ref-add-tracepoint-to-track-down-page-reference-manipulation-fix-2.patch and later at http://ozlabs.org/~akpm/mmotm/broken-out/mm-page_ref-add-tracepoint-to-track-down-page-reference-manipulation-fix-2.patch Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/SubmitChecklist when testing your code *** The -mm tree is included into linux-next and is updated there every 3-4 working days ------------------------------------------------------ From: Arnd Bergmann <arnd@xxxxxxxx> Subject: crypto/async_pq: use __free_page() instead of put_page() The addition of tracepoints to the page reference tracking had an unfortunate side-effect in at least one driver that calls put_page from its exit function, resulting in a link error: `.exit.text' referenced in section `__jump_table' of crypto/built-in.o: defined in discarded section `.exit.text' of crypto/built-in.o >From a cursory look at that this driver, it seems that it may be doing the wrong thing here anyway, as the page gets allocated using 'alloc_page()', and should be freed using '__free_page()' rather than 'put_page()'. With this patch, I no longer get any other build errors from the page_ref patch, so hopefully we can assume that it's always wrong to call any of those functions from __exit code, and that no other driver does it. Fixes: 0f80830dd044 ("mm/page_ref: add tracepoint to track down page reference manipulation") Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Acked-by: Dan Williams <dan.j.williams@xxxxxxxxx> Cc: Joonsoo Kim <js1304@xxxxxxxxx> Cc: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- crypto/async_tx/async_pq.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff -puN crypto/async_tx/async_pq.c~mm-page_ref-add-tracepoint-to-track-down-page-reference-manipulation-fix-2 crypto/async_tx/async_pq.c --- a/crypto/async_tx/async_pq.c~mm-page_ref-add-tracepoint-to-track-down-page-reference-manipulation-fix-2 +++ a/crypto/async_tx/async_pq.c @@ -444,7 +444,7 @@ static int __init async_pq_init(void) static void __exit async_pq_exit(void) { - put_page(pq_scribble_page); + __free_page(pq_scribble_page); } module_init(async_pq_init); _ Patches currently in -mm which might be from arnd@xxxxxxxx are mm-compaction-introduce-kcompactd-fix.patch mm-page_ref-add-tracepoint-to-track-down-page-reference-manipulation-fix-2.patch profile-hide-unused-functions-when-config_proc_fs.patch staging-goldfish-use-6-arg-get_user_pages.patch -- To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html