PROBLEM: kernel/ksyms.c does not export init_mm, module bttv needs it

From: Robert M. Riches Jr. (richesr1@inetarena.com)
Date: Fri May 26 2000 - 23:57:08 EDT

  • Next message: Eric S. Raymond: "Re: [KBUILD] Re: Announcing CML2, a replacement for the kbuild system"

    [1.] One line summary of the problem:

    kernel/ksyms.c does not export init_mm, module bttv needs it

    [2.] Full description of the problem/report:

    Source file /usr/src/linux/kernel/ksyms.c does not export kernel symbol
    init_mm, which is needed by module bttv.

    [3.] Keywords (i.e., modules, networking, kernel):

    kernel, symbol export, modules, bttv

    [4.] Kernel version (from /proc/version):

    Linux version 2.2.13-0.9 (root@GTEDHCP-56.inetarena.com) (gcc version egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)) #2 Fri May 26 16:20:31 PDT 2000

    [5.] Output of Oops.. message (if applicable) with symbolic information
         resolved (see Documentation/oops-tracing.txt)

    No "oops" message; just an "unresolved symbol: init_mm"

    [6.] A small shell script or example program which triggers the
         problem (if possible)

    One command: /sbin/modprobe bttv.o

    [7.] Environment
    [7.1.] Software (add the output of the ver_linux script here)

    -- Versions installed: (if some fields are empty or looks
    -- unusual then possibly you have very old versions)
    Linux GTEDHCP-56.inetarena.com 2.2.13-0.9 #2 Fri May 26 16:20:31 PDT 2000 alpha unknown
    Kernel modules 2.1.121
    Gnu C egcs-2.91.66
    Binutils 2.9.1.0.24
    Linux C Library 2.1.2
    Dynamic linker ldd (GNU libc) 2.1.2
    Procps 2.0.5
    Mount 2.9u
    Net-tools 1.53
    Console-tools 1999.03.02
    Sh-utils 2.0
    Modules Loaded bttv videodev tuner i2c

    [7.2.] Processor information (from /proc/cpuinfo):

    cpu : Alpha
    cpu model : EV67
    cpu variation : 7
    cpu revision : 0
    cpu serial number :
    system type : Tsunami
    system variation : DP264
    system revision : 0
    system serial number :
    cycle frequency [Hz] : 666666666
    timer frequency [Hz] : 1024.00
    page size [bytes] : 8192
    phys. address bits : 44
    max. addr. space # : 255
    BogoMIPS : 1329.59
    kernel unaligned acc : 0 (pc=0,va=0)
    user unaligned acc : 5467 (pc=20000ac8d20,va=120352a22)
    platform string : AlphaPC 264DP 666 MHz
    cpus detected : 1

    [7.3.] Module information (from /proc/modules):

    (The following was taken _after_ patching the kernel; see below for
    context diff.)

    bttv 44240 0 (unused)
    videodev 4320 2 [bttv]
    tuner 3080 1
    i2c 5872 2 [bttv tuner]

    [7.4.] SCSI information (from /proc/scsi/scsi)

    Attached devices:
    Host: scsi0 Channel: 00 Id: 00 Lun: 00
      Vendor: SEAGATE Model: ST318275LW Rev: 0001
      Type: Direct-Access ANSI SCSI revision: 02
    Host: scsi0 Channel: 00 Id: 01 Lun: 00
      Vendor: SEAGATE Model: ST318275LW Rev: 0001
      Type: Direct-Access ANSI SCSI revision: 02
    Host: scsi1 Channel: 00 Id: 03 Lun: 00
      Vendor: YAMAHA Model: CRW8424S Rev: 1.0d
      Type: CD-ROM ANSI SCSI revision: 02

    [7.5.] Other information that might be relevant to the problem
           (please look in /proc and include all information that you
           think to be relevant):

    This is a fairly stock Redhat 6.1 Alpha Deluxe installation with
    "everything" installed. The kernel has been built a few times with
    various configuration (device support and such) options.

    [8.] Other notes, patches, fixes, workarounds:

    The following is a context diff that seems to have solved the symbol
    resolution problem for me. (I have yet to get xawtv or kwintv working,
    but that would appear to be independent of getting the module to load.)

    *** /usr/src/linux/kernel/ksyms.c.~1~ Thu Dec 9 13:26:35 1999
    --- /usr/src/linux/kernel/ksyms.c Fri May 26 16:18:50 2000
    ***************
    *** 416,418 ****
    --- 416,421 ----
      
      /* init task, for moving kthread roots - ought to export a function ?? */
      EXPORT_SYMBOL(init_task_union);
    +
    + /* Added by Rob Riches, 5/26/00. Module bttv needs init_mm */
    + EXPORT_SYMBOL(init_mm);

    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.rutgers.edu
    Please read the FAQ at http://www.tux.org/lkml/



    This archive was generated by hypermail 2b29 : Fri May 26 2000 - 23:58:26 EDT