Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 89804c02 authored by Ingo Molnar's avatar Ingo Molnar
Browse files

x86: fix csum_partial() export



Fix this symbol export problem:

    Building modules, stage 2.
    MODPOST 193 modules
    ERROR: "csum_partial" [fs/reiserfs/reiserfs.ko] undefined!
    make[1]: *** [__modpost] Error 1
    make: *** [modules] Error 2

This is due to a known weakness of symbol exports: if a symbol's
only in-core user is an EXPORT_SYMBOL from a lib-y section, the
symbol is not linked in.

The solution is to move the export to x8664_ksyms_64.c - but the real
solution would be to fix kbuild.

Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent 8c45a4e4
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -2,6 +2,7 @@
   All C exports should go in the respective C files. */

#include <linux/module.h>
#include <net/checksum.h>
#include <linux/smp.h>

#include <asm/processor.h>
@@ -29,6 +30,8 @@ EXPORT_SYMBOL(__copy_from_user_inatomic);
EXPORT_SYMBOL(copy_page);
EXPORT_SYMBOL(clear_page);

EXPORT_SYMBOL(csum_partial);

/*
 * Export string functions. We normally rely on gcc builtin for most of these,
 * but gcc sometimes decides not to inline them.
+0 −2
Original line number Diff line number Diff line
@@ -136,8 +136,6 @@ __wsum csum_partial(const void *buff, int len, __wsum sum)
						(__force u32)sum);
}

EXPORT_SYMBOL(csum_partial);

/*
 * this routine is used for miscellaneous IP-like checksums, mainly
 * in icmp.c