* help needed with EXPORT_SYMBOL @ 2010-08-21 6:57 Aijaz Baig 2010-08-21 9:23 ` Jan Engelhardt 2010-08-23 5:14 ` Aijaz Baig 0 siblings, 2 replies; 14+ messages in thread From: Aijaz Baig @ 2010-08-21 6:57 UTC (permalink / raw) To: netfilter-devel; +Cc: linux-kernel Hello, Ive been trying to EXPORT a SYMBOL from a netfilter module (actually a hook) to the KERNEL. Various modules seem to export various symbols to the kernel (or so it seems), an example being x_tables which exports a whole lot of functions like xt_register_target and so on and all other netfilter modules which use these functions dont seem to have any problems. So why is it that when my netfilter module is exporting something to the kernel and im tryin to use it from within a core kernel file, the compiler flags a 'undefined reference to' error? I googled and came to the conclusion from the kernelnewbies mailing list that using kallsyms_lookup() seems to be the answer or is it? So, if I do intend to use kallsyms_lookup how do I use it? There aren't so many instances of it being used it seems. Ive seen it being used in dev/core.c like so: symname = kallsyms_lookup((unsigned long)sym, &symsize,&offset,&modname, namebuf); I am basically trying to call a function that MY module EXPORTs inside one of the core linux routines. This would also mean that my netfilter module must be compiled (and linked also maybe?..not so sound with link time stuff) before the address becomes visible so that kallsyms_lookup can find it. So do I really shd be using it and if so, how? Any input is appreciated. Regards, Aijaz Baig. ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: help needed with EXPORT_SYMBOL 2010-08-21 6:57 help needed with EXPORT_SYMBOL Aijaz Baig @ 2010-08-21 9:23 ` Jan Engelhardt 2010-08-23 5:14 ` Aijaz Baig 1 sibling, 0 replies; 14+ messages in thread From: Jan Engelhardt @ 2010-08-21 9:23 UTC (permalink / raw) To: Aijaz Baig; +Cc: netfilter-devel, linux-kernel On Saturday 2010-08-21 08:57, Aijaz Baig wrote: >So why is it that when my netfilter module is exporting something to the >kernel and im tryin to use it from within a core kernel file, the >compiler flags a 'undefined reference to' error? There, you answered yourself. Exports only go one way. And that is core -> module -> module. ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: help needed with EXPORT_SYMBOL 2010-08-21 6:57 help needed with EXPORT_SYMBOL Aijaz Baig 2010-08-21 9:23 ` Jan Engelhardt @ 2010-08-23 5:14 ` Aijaz Baig 2010-08-23 11:48 ` Brian Gerst 1 sibling, 1 reply; 14+ messages in thread From: Aijaz Baig @ 2010-08-23 5:14 UTC (permalink / raw) To: netfilter-devel, jengelh; +Cc: linux-kernel Hello, Yeah I do understand that part, but there has to be a way to do what I am trying to do here isn't it? And can anyone tell me can kallsyms_lookup() be used in such a situation? If yes than how do I use it? Regards, Aijaz On Sat, Aug 21, 2010 at 2:53 PM, Jan Engelhardt <jengelh@medozas.de> wrote: On Saturday 2010-08-21 08:57, Aijaz Baig wrote: >So why is it that when my netfilter module is exporting something to >the kernel and im tryin to use it from within a core kernel file, the >compiler flags a 'undefined reference to' error? There, you answered yourself. Exports only go one way. And that is core -> module -> module. On Sat, 2010-08-21 at 12:27 +0530, Aijaz Baig wrote: > Hello, > > Ive been trying to EXPORT a SYMBOL from a netfilter module (actually a > hook) to the KERNEL. Various modules seem to export various symbols to > the kernel (or so it seems), an example being x_tables which exports a > whole lot of functions like xt_register_target and so on and all other > netfilter modules which use these functions dont seem to have any > problems. > > So why is it that when my netfilter module is exporting something to the > kernel and im tryin to use it from within a core kernel file, the > compiler flags a 'undefined reference to' error? > > I googled and came to the conclusion from the kernelnewbies mailing list > that using kallsyms_lookup() seems to be the answer or is it? > So, if I do intend to use kallsyms_lookup how do I use it? There aren't > so many instances of it being used it seems. > > Ive seen it being used in dev/core.c like so: > symname = kallsyms_lookup((unsigned long)sym, &symsize,&offset,&modname, > namebuf); > > I am basically trying to call a function that MY module EXPORTs inside > one of the core linux routines. This would also mean that my netfilter > module must be compiled (and linked also maybe?..not so sound with link > time stuff) before the address becomes visible so that kallsyms_lookup > can find it. So do I really shd be using it and if so, how? > > Any input is appreciated. > > Regards, > Aijaz Baig. > > ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: help needed with EXPORT_SYMBOL 2010-08-23 5:14 ` Aijaz Baig @ 2010-08-23 11:48 ` Brian Gerst 2010-08-23 13:17 ` Peter Zijlstra 0 siblings, 1 reply; 14+ messages in thread From: Brian Gerst @ 2010-08-23 11:48 UTC (permalink / raw) To: aijazbaig1; +Cc: netfilter-devel, jengelh, linux-kernel On Mon, Aug 23, 2010 at 1:14 AM, Aijaz Baig <aijazbaig1@gmail.com> wrote: > Hello, > > Yeah I do understand that part, but there has to be a way to do what I > am trying to do here isn't it? > > And can anyone tell me can kallsyms_lookup() be used in such a > situation? If yes than how do I use it? > > Regards, > Aijaz > > On Sat, Aug 21, 2010 at 2:53 PM, Jan Engelhardt <jengelh@medozas.de> > wrote: > On Saturday 2010-08-21 08:57, Aijaz Baig wrote: > >>So why is it that when my netfilter module is exporting something to >>the kernel and im tryin to use it from within a core kernel file, the >>compiler flags a 'undefined reference to' error? > > There, you answered yourself. Exports only go one way. And that is > core -> module -> module. > > On Sat, 2010-08-21 at 12:27 +0530, Aijaz Baig wrote: >> Hello, >> >> Ive been trying to EXPORT a SYMBOL from a netfilter module (actually a >> hook) to the KERNEL. Various modules seem to export various symbols to >> the kernel (or so it seems), an example being x_tables which exports a >> whole lot of functions like xt_register_target and so on and all other >> netfilter modules which use these functions dont seem to have any >> problems. >> >> So why is it that when my netfilter module is exporting something to the >> kernel and im tryin to use it from within a core kernel file, the >> compiler flags a 'undefined reference to' error? >> >> I googled and came to the conclusion from the kernelnewbies mailing list >> that using kallsyms_lookup() seems to be the answer or is it? >> So, if I do intend to use kallsyms_lookup how do I use it? There aren't >> so many instances of it being used it seems. >> >> Ive seen it being used in dev/core.c like so: >> symname = kallsyms_lookup((unsigned long)sym, &symsize,&offset,&modname, >> namebuf); >> >> I am basically trying to call a function that MY module EXPORTs inside >> one of the core linux routines. This would also mean that my netfilter >> module must be compiled (and linked also maybe?..not so sound with link >> time stuff) before the address becomes visible so that kallsyms_lookup >> can find it. So do I really shd be using it and if so, how? >> >> Any input is appreciated. >> >> Regards, >> Aijaz Baig. >> >> Use an exported function pointer in the main kernel as a hook that the module sets when it is loaded. Note, you must use module_get and module_put around the call to the module to prevent it from unloading while in use. -- Brian Gerst -- To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: help needed with EXPORT_SYMBOL 2010-08-23 11:48 ` Brian Gerst @ 2010-08-23 13:17 ` Peter Zijlstra 2010-08-23 13:32 ` Jan Engelhardt 2010-08-23 13:44 ` Brian Gerst 0 siblings, 2 replies; 14+ messages in thread From: Peter Zijlstra @ 2010-08-23 13:17 UTC (permalink / raw) To: Brian Gerst; +Cc: aijazbaig1, netfilter-devel, jengelh, linux-kernel On Mon, 2010-08-23 at 07:48 -0400, Brian Gerst wrote: > > Use an exported function pointer in the main kernel as a hook that the > module sets when it is loaded. Note, you must use module_get and > module_put around the call to the module to prevent it from unloading > while in use. Please don't do any such thing, its impossible to use correctly. Suppose there are two modular users, A and B. Both have something like: extern void (*fptr)(void); static void (*old_fptr)(void); static void func(void) { /* foo */ if (old_fptr) old_fptr(); } module_init() { old_fptr = fptr; fptr = A_func; } Then you load A, load B and unload A, then guess what happens? ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: help needed with EXPORT_SYMBOL 2010-08-23 13:17 ` Peter Zijlstra @ 2010-08-23 13:32 ` Jan Engelhardt 2010-08-23 13:43 ` Peter Zijlstra 2010-08-23 13:44 ` Brian Gerst 1 sibling, 1 reply; 14+ messages in thread From: Jan Engelhardt @ 2010-08-23 13:32 UTC (permalink / raw) To: Peter Zijlstra; +Cc: Brian Gerst, aijazbaig1, netfilter-devel, linux-kernel On Monday 2010-08-23 15:17, Peter Zijlstra wrote: >On Mon, 2010-08-23 at 07:48 -0400, Brian Gerst wrote: >> >> Use an exported function pointer in the main kernel as a hook that the >> module sets when it is loaded. Note, you must use module_get and >> module_put around the call to the module to prevent it from unloading >> while in use. > >Please don't do any such thing, its impossible to use correctly. > >Suppose there are two modular users, A and B. Though in case there is just a single user it can work out. Just like bridge.c, and the bunch of nf_nat_*.c. :-) Though yeah. Bad bad. This is starting to sound pretty much like an XY problem: XY problem: You want to do X, but don't know how. You think you can solve it using Y, but don't know how to do that, either. You ask about Y, which is a strange thing to want to do. Just ask about X. (And then there is still the "good idea to do X in the first place" thing.) Like what's so important to have as a module when you can build it in, given that the caller is built-in (obj-y) itself. >module_init() >{ > old_fptr = fptr; > fptr = A_func; >} > >Then you load A, load B and unload A, then guess what happens? > ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: help needed with EXPORT_SYMBOL 2010-08-23 13:32 ` Jan Engelhardt @ 2010-08-23 13:43 ` Peter Zijlstra 0 siblings, 0 replies; 14+ messages in thread From: Peter Zijlstra @ 2010-08-23 13:43 UTC (permalink / raw) To: Jan Engelhardt; +Cc: Brian Gerst, aijazbaig1, netfilter-devel, linux-kernel On Mon, 2010-08-23 at 15:32 +0200, Jan Engelhardt wrote: > On Monday 2010-08-23 15:17, Peter Zijlstra wrote: > > >On Mon, 2010-08-23 at 07:48 -0400, Brian Gerst wrote: > >> > >> Use an exported function pointer in the main kernel as a hook that the > >> module sets when it is loaded. Note, you must use module_get and > >> module_put around the call to the module to prevent it from unloading > >> while in use. > > > >Please don't do any such thing, its impossible to use correctly. > > > >Suppose there are two modular users, A and B. > > Though in case there is just a single user it can work out. > Just like bridge.c, and the bunch of nf_nat_*.c. :-) > Though yeah. Bad bad. We have this problem in several areas in the kernel (pm_idle being the one I hate most since its in code I touch actually grew tons of users). If you really need to export hooks, provide a registration mechanism and an arbiter. A very simple, already existing, implementation of this would be notification chains (include/linux/notifier.h), these provide a registration interface, and the arbiter is a combination of static priority combined with return codes. A more complex example would be the cpuidle/pm_qos subsystem, where you can register idle states and provide various attributes (exit latency, energy break even duration, etc) and have the governor pick an idle state depending on the predicted idle time and required exit latencies. Bare function pointers suck. ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: help needed with EXPORT_SYMBOL 2010-08-23 13:17 ` Peter Zijlstra 2010-08-23 13:32 ` Jan Engelhardt @ 2010-08-23 13:44 ` Brian Gerst 2010-08-23 14:05 ` Peter Zijlstra 1 sibling, 1 reply; 14+ messages in thread From: Brian Gerst @ 2010-08-23 13:44 UTC (permalink / raw) To: Peter Zijlstra; +Cc: aijazbaig1, netfilter-devel, jengelh, linux-kernel On Mon, Aug 23, 2010 at 9:17 AM, Peter Zijlstra <peterz@infradead.org> wrote: > On Mon, 2010-08-23 at 07:48 -0400, Brian Gerst wrote: >> >> Use an exported function pointer in the main kernel as a hook that the >> module sets when it is loaded. Note, you must use module_get and >> module_put around the call to the module to prevent it from unloading >> while in use. > > Please don't do any such thing, its impossible to use correctly. > > Suppose there are two modular users, A and B. > > Both have something like: > > extern void (*fptr)(void); > > static void (*old_fptr)(void); > > static void func(void) > { > /* foo */ > if (old_fptr) > old_fptr(); > } > > module_init() > { > old_fptr = fptr; > fptr = A_func; > } > > Then you load A, load B and unload A, then guess what happens? > The assumption was that there was a single module using that hook. For multiple users you'd need to use a register function that adds the module to a linked list. -- Brian Gerst -- To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: help needed with EXPORT_SYMBOL 2010-08-23 13:44 ` Brian Gerst @ 2010-08-23 14:05 ` Peter Zijlstra [not found] ` <AANLkTimQDV74kcM_84QySMKmdf-XxFOhqp48cQdQNN4s@mail.gmail.com> 0 siblings, 1 reply; 14+ messages in thread From: Peter Zijlstra @ 2010-08-23 14:05 UTC (permalink / raw) To: Brian Gerst; +Cc: aijazbaig1, netfilter-devel, jengelh, linux-kernel On Mon, 2010-08-23 at 09:44 -0400, Brian Gerst wrote: > The assumption was that there was a single module using that hook. Not really a future-proof design, is it? ^ permalink raw reply [flat|nested] 14+ messages in thread
[parent not found: <AANLkTimQDV74kcM_84QySMKmdf-XxFOhqp48cQdQNN4s@mail.gmail.com>]
[parent not found: <AANLkTinRyoHcSmmHv9tZ36X4wxVVCKGLDwGiZUTPPn+z@mail.gmail.com>]
* Re: help needed with EXPORT_SYMBOL [not found] ` <AANLkTinRyoHcSmmHv9tZ36X4wxVVCKGLDwGiZUTPPn+z@mail.gmail.com> @ 2010-08-24 4:44 ` Aijaz Baig [not found] ` <AANLkTi=cj+qCFxeT5hq0-x-XqSUCbcqQRAwmQ9h+cOxy@mail.gmail.com> 0 siblings, 1 reply; 14+ messages in thread From: Aijaz Baig @ 2010-08-24 4:44 UTC (permalink / raw) To: netfilter-devel; +Cc: peterz, brgerst, jengelh, linux-kernel Hello everyone, thanks for sending in the replies with so many options. I am still a relative newbie so please do bear with me guys if I sound a bit naive at times. I'll first start with brian's suggestion. He said: "Use an exported function pointer in the main kernel as a hook that the module sets when it is loaded. Note, you must use module_get and module_put around the call to the module to prevent it from unloading while in use." I have never used such a technique and do not understand what you mean. Could you please elaborate a little. Do you mean I should NF_HOOK within the kernel code and then make the function that I would like to execute as the hookfn? Well..if this is what u meant then wouldn't it also cause all hooks at that particular position to be executed as well? And then peter and finally jan came up with, perhaps better suggestions (i really cannot judge the quality of any of these suggestions..m too much of a noob to do that). I got confused in the XY explanation by jan since there both X and Y are modules it seems and I was talking about a module exporting a certain symbol to be used by the kernel. Peter did suggest notification chains. Is there a simple example that I can look at? Will it allow the kernel to see symbols defined within the module? Lastly, will I be able to use kallsyms_lookup() to do what I can? I notice that it replaced EXPORT_SYMTAB sometime back. So if yes I can use it, does anyone know how to fill in the very first parameter of this function which says address (of what exactly and how am I supposed to know this address?) Keen to hear from you and once again, thank you for your inputs, Regards, Aijaz Baig. ^ permalink raw reply [flat|nested] 14+ messages in thread
[parent not found: <AANLkTi=cj+qCFxeT5hq0-x-XqSUCbcqQRAwmQ9h+cOxy@mail.gmail.com>]
[parent not found: <AANLkTim9nvJR0K6xJc2kHGCeoMzFLzSxR8Avx59jsEbf@mail.gmail.com>]
* Re: Fwd: help needed with EXPORT_SYMBOL [not found] ` <AANLkTim9nvJR0K6xJc2kHGCeoMzFLzSxR8Avx59jsEbf@mail.gmail.com> @ 2010-08-25 9:27 ` Aijaz Baig 2010-08-25 10:06 ` Jan Engelhardt ` (2 more replies) 0 siblings, 3 replies; 14+ messages in thread From: Aijaz Baig @ 2010-08-25 9:27 UTC (permalink / raw) To: brgerst, peterz, jengelh, netfilter-devel; +Cc: linux-kernel Hi everyone I am trying to understand if its possible to add functions dynamically to the kernel source based on the presence of certain modules in the running kernel image. I did try what brian suggested with the function pointer and yeah it does work. But I could not understand what peter was trying to say about modular users since I suppose he mentioned one module (B in this case) using a function pointer defined in (or by) module A. In my case, since it is the kernel that is gonna use the function, I need to make sure that the module doesn't get unloaded while we are using the function. By the way Jan I couldnt find bridge.c although there is an object file called bridge.o within /net/bridge. Nonetheless, I did check nf_nat_ftp.c as an example to see if something similar is being done there too. What I did find out is that nf_nat_ftp_hook is rcu assigned in nf_nat_ftp.c however this function pointer is being used with nf_contrack_ftp.c (im talkin 2.6.27.45 here). In this case, it still is module1 <- module2 and not kernel <- module. Could you please elaborate a little how it affects the latter case. Or perhaps u were commenting on the former case since peter brought that to our notice. thanks again for your replies and keen to hear your input Regards, Aijaz Baig > > > ---------- Forwarded message ---------- > From: Brian Gerst <brgerst@gmail.com> > Date: Tue, Aug 24, 2010 at 4:46 PM > Subject: Re: help needed with EXPORT_SYMBOL > To: aijazbaig1@gmail.com > > > > On Tue, Aug 24, 2010 at 12:44 AM, Aijaz Baig <aijazbaig1@gmail.com> > wrote: > > Hello everyone, > > > > thanks for sending in the replies with so many options. I am still a > > relative newbie so please do bear with me guys if I sound a bit > naive at > > times. > > > > I'll first start with brian's suggestion. He said: > > "Use an exported function pointer in the main kernel as a hook that > the > > module sets when it is loaded. Note, you must use module_get and > > module_put around the call to the module to prevent it from > unloading > > while in use." > > > > I have never used such a technique and do not understand what you > mean. > > Could you please elaborate a little. Do you mean I should NF_HOOK > within > > the kernel code and then make the function that I would like to > execute > > as the hookfn? Well..if this is what u meant then wouldn't it also > cause > > all hooks at that particular position to be executed as well? > > > > And then peter and finally jan came up with, perhaps better > suggestions > > (i really cannot judge the quality of any of these suggestions..m > too > > much of a noob to do that). I got confused in the XY explanation by > jan > > since there both X and Y are modules it seems and I was talking > about a > > module exporting a certain symbol to be used by the kernel. Peter > did > > suggest notification chains. Is there a simple example that I can > look > > at? Will it allow the kernel to see symbols defined within the > module? > > > > Lastly, will I be able to use kallsyms_lookup() to do what I can? I > > notice that it replaced EXPORT_SYMTAB sometime back. So if yes I can > use > > it, does anyone know how to fill in the very first parameter of this > > function which says address (of what exactly and how am I supposed > to > > know this address?) > > > > Keen to hear from you and once again, thank you for your inputs, > > > You still haven't explained why you want to lookup a symbol in a > module from the main kernel. There is probably a better way of doing > it. > > -- > Brian Gerst > > ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Fwd: help needed with EXPORT_SYMBOL 2010-08-25 9:27 ` Fwd: " Aijaz Baig @ 2010-08-25 10:06 ` Jan Engelhardt 2010-08-25 10:23 ` Peter Zijlstra 2010-08-25 15:37 ` Randy Dunlap 2 siblings, 0 replies; 14+ messages in thread From: Jan Engelhardt @ 2010-08-25 10:06 UTC (permalink / raw) To: Aijaz Baig; +Cc: brgerst, peterz, netfilter-devel, linux-kernel On Wednesday 2010-08-25 11:27, Aijaz Baig wrote: >By the way Jan I couldnt find bridge.c although there is an object file >called bridge.o within /net/bridge. $ git grep -e br_handle_frame_hook v2.6.35 net/bridge/ See that, which is used kernel<-module. This frame hook has been changed in 2.6.36-rc1 which is why looking at 2.6.35 would be the short route. ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Fwd: help needed with EXPORT_SYMBOL 2010-08-25 9:27 ` Fwd: " Aijaz Baig 2010-08-25 10:06 ` Jan Engelhardt @ 2010-08-25 10:23 ` Peter Zijlstra 2010-08-25 15:37 ` Randy Dunlap 2 siblings, 0 replies; 14+ messages in thread From: Peter Zijlstra @ 2010-08-25 10:23 UTC (permalink / raw) To: aijazbaig1; +Cc: brgerst, jengelh, netfilter-devel, linux-kernel On Wed, 2010-08-25 at 14:57 +0530, Aijaz Baig wrote: > I am trying to understand if its possible to add functions dynamically > to the kernel source based on the presence of certain modules in the > running kernel image. > > I did try what brian suggested with the function pointer and yeah it > does work. But I could not understand what peter was trying to say about > modular users since I suppose he mentioned one module (B in this case) > using a function pointer defined in (or by) module A. In my case, since > it is the kernel that is gonna use the function, I need to make sure > that the module doesn't get unloaded while we are using the function. Right, so there's two problems there: - the exposed function pointer - unload serialization The problem with the exposed function pointer is that two competing modules can set the function pointer: extern void (*ptr)(void); static void (*old_ptr)(void); void func(void) { /* do something */ } module_init() { old_ptr = ptr; ptr = func; } module_exit() { ptr = old_ptr; synchronize_stuff(); } Now suppose two modules A and B both have that template, then load module A, at that time ptr == A::func, A::old_ptr = NULL, right? Then load B, then ptr == B:func, B::old_ptr = A::func. then unload A, then ptr == NULL; /* hey where's B gone? */ Suppose module_exit() had read: module_exit() { if (ptr == func) ptr = old_ptr; } Then after A got unloaded, you'd have: ptr = B::func, B::old_ptr == A:func, and the world goes *bang* when you unload B. If you'd have exposed the thing like: static void (*callback)(void); int set_foo_callback(void (*func)(void)) { if (callback && func) return -EBUSY; callback = func; synchronize_world(); return 0; } EXPORT_SYMBOL_GPL(set_foo_callback); Then there'd be no confusion, as loading B while A was already loaded would fail since set_foo_callback() would fail with -EBUSY. Now the synchronization issue, above represented by synchronize_world(); that will have to do something that ensures all current users of the ptr have gone, taking a reference on the module will likely result in an pinned module, since what will drop the ref again? Module unload does a fairly heavy stop-machine thing, which might be sufficient for some, but a sensible solution really depends on the problem domain, RCU could be used in various ways. ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Fwd: help needed with EXPORT_SYMBOL 2010-08-25 9:27 ` Fwd: " Aijaz Baig 2010-08-25 10:06 ` Jan Engelhardt 2010-08-25 10:23 ` Peter Zijlstra @ 2010-08-25 15:37 ` Randy Dunlap 2 siblings, 0 replies; 14+ messages in thread From: Randy Dunlap @ 2010-08-25 15:37 UTC (permalink / raw) To: aijazbaig1; +Cc: brgerst, peterz, jengelh, netfilter-devel, linux-kernel On Wed, 25 Aug 2010 14:57:58 +0530 Aijaz Baig wrote: > By the way Jan I couldnt find bridge.c although there is an object file > called bridge.o within /net/bridge. Nonetheless, I did check See net/bridge/Makefile: obj-$(CONFIG_BRIDGE) += bridge.o bridge-y := br.o br_device.o br_fdb.o br_forward.o br_if.o br_input.o \ br_ioctl.o br_notify.o br_stp.o br_stp_bpdu.o \ br_stp_if.o br_stp_timer.o br_netlink.o and see Documentation/kbuild/makefiles.txt. --- ~Randy *** Remember to use Documentation/SubmitChecklist when testing your code *** ^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2010-08-25 15:38 UTC | newest] Thread overview: 14+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2010-08-21 6:57 help needed with EXPORT_SYMBOL Aijaz Baig 2010-08-21 9:23 ` Jan Engelhardt 2010-08-23 5:14 ` Aijaz Baig 2010-08-23 11:48 ` Brian Gerst 2010-08-23 13:17 ` Peter Zijlstra 2010-08-23 13:32 ` Jan Engelhardt 2010-08-23 13:43 ` Peter Zijlstra 2010-08-23 13:44 ` Brian Gerst 2010-08-23 14:05 ` Peter Zijlstra [not found] ` <AANLkTimQDV74kcM_84QySMKmdf-XxFOhqp48cQdQNN4s@mail.gmail.com> [not found] ` <AANLkTinRyoHcSmmHv9tZ36X4wxVVCKGLDwGiZUTPPn+z@mail.gmail.com> 2010-08-24 4:44 ` Aijaz Baig [not found] ` <AANLkTi=cj+qCFxeT5hq0-x-XqSUCbcqQRAwmQ9h+cOxy@mail.gmail.com> [not found] ` <AANLkTim9nvJR0K6xJc2kHGCeoMzFLzSxR8Avx59jsEbf@mail.gmail.com> 2010-08-25 9:27 ` Fwd: " Aijaz Baig 2010-08-25 10:06 ` Jan Engelhardt 2010-08-25 10:23 ` Peter Zijlstra 2010-08-25 15:37 ` Randy Dunlap
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).