FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Debian > Debian User

 
 
LinkBack Thread Tools
 
Old 04-29-2008, 12:24 AM
서청원
 
Default problems for making kernel module

I'm working with kernel 2.6.18-4-686

I checked out the symbol is exported in file /lib/modules/2.6.18-4-686/build/include/linux/sched.h.

What warning?? About the above symbol? Actually NO!

Thanks a lot for your help~ :-)

-----Original Message-----
From: Tzafrir Cohen [mailto:tzafrir@cohens.org.il]
Sent: Monday, April 28, 2008 5:32 PM
To: debian-user@lists.debian.org
Subject: Re: problems for making kernel module

On Mon, Apr 28, 2008 at 09:20:32AM +0900, ��û�� wrote:
> I got this message during compiling module.
>
>
>
> Building modules, stage 2.
>
> MODPOST
>
> WARNING: "tasklist_lock" [ /Red/src/Red.ko] undefined!
>
> make[1]: Leaving directory `/usr/src/linux-headers-2.6.18-4-686'

(There's 2.6.18-6-686 , BTW.)

>
>
>
> Actually, Red.ko had made but can not load the module due to the unknown symbol (tasklist_lock).


Are there any warnings at build time?
(Where exactly is that symbol exported in 2.6.18?)

>
>
>
> Whats the problem?? I can see the symbol is exported in the linux-header-2.6.18-4-686/include/linux/sched.h.
>
> I couldnt understand why it is shown undefined??
>
>
>
> Also during searching about this problem, I read this - for linux kernel 2.6.18, the symbol does NOT export any more . Is this right???
>
> If it is, is there any way to use the symbol tasklist_lock?
>
>
>
> There is my only guess, it is needed the license to use this symbol.
>
>
>
>
>
>
>
> Thanks a lot for any suggestion.
>
>
>

--
Tzafrir Cohen | tzafrir@jabber.org | VIM is
http://tzafrir.org.il | | a Mutt's
tzafrir@cohens.org.il | | best
ICQ# 16849754 | | friend
 
Old 05-02-2008, 12:22 AM
서청원
 
Default problems for making kernel module

I got this message during
compiling module.


*





Building modules, stage 2.

MODPOST

WARNING: "tasklist_lock" [ /Red/src/Red.ko]
undefined!

make[1]: Leaving directory
`/usr/src/linux-headers-2.6.18-4-686'





*


Actually, Red.ko had made but
can not load the module due to the unknown symbol (tasklist_lock).


*


What’s the problem?? I can see the
symbol is exported in the linux-header-2.6.18-4-686/include/linux/sched.h.


I couldn’t understand why it is shown “undefined”??


*


Also during searching about
this problem, I read this - for linux kernel 2.6.18, the symbol does NOT export
any more …. Is this right???


If it is, is there any way
to use the symbol ‘tasklist_lock’?


*


There is my only guess, it
is needed the license to use this symbol.


*


*


*


Thanks a lot for any
suggestion.
 
Old 05-03-2008, 11:54 AM
Ben Hutchings
 
Default problems for making kernel module

On Fri, 2008-05-02 at 09:22 +0900, 서*원 wrote:
> I got this message during compiling module.
>
>
>
> Building modules, stage 2.
>
> MODPOST
>
> WARNING: "tasklist_lock" [ /Red/src/Red.ko] undefined!
>
> make[1]: Leaving directory `/usr/src/linux-headers-2.6.18-4-686'
>
>
>
>
>
> Actually, Red.ko had made but can not load the module due to the
> unknown symbol (tasklist_lock).
>
>
>
> What’s the problem?? I can see the symbol is exported in the
> linux-header-2.6.18-4-686/include/linux/sched.h.

No, it has external linkage within the kernel proper. That's not the
same thing as being exported. (But it probably shouldn't be mentioned
in this header.)

> I couldn’t understand why it is shown “undefined”??
>
>
>
> Also during searching about this problem, I read this - for linux
> kernel 2.6.18, the symbol does NOT export any more …. Is this right???

Right. The export was removed by this change:

commit c59923a15c12d2b3597af913bf234a0ef264a38b
Author: Christoph Hellwig <hch@lst.de>
Date: Mon Jul 10 04:45:40 2006 -0700

[PATCH] remove the tasklist_lock export

As announced half a year ago this patch will remove the tasklist_lock
export. The previous two patches got rid of the remaining modular users.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

which was merged between 2.6.17 and 2.6.18.

> If it is, is there any way to use the symbol ‘tasklist_lock’?

> There is my only guess, it is needed the license to use this symbol.

Nope. This is the reason it was un-exported:

Why: tasklist_lock protects the kernel internal task list. Modules have
no business looking at it, and all instances in drivers have been due
to use of too-lowlevel APIs. Having this symbol exported prevents
moving to more scalable locking schemes for the task list.

Ben.

--
Ben Hutchings
The most exhausting thing in life is being insincere. - Anne Morrow Lindberg
 

Thread Tools




All times are GMT. The time now is 11:43 PM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org