Hi Peter, I can think of two simple ways of achieving the same without messing up with exported symbols. 1. If your intention is to use a common api to call function_1/my_print_function and function_2, then use a common placeholder. Assign it to function_1/my_print_function. Use the placeholder to call function_1/my_print_function. Reassign placeholder to function_2. Use placeholder to call function_2. 2. A neater way would be to directly call function_1/my_print_function and function_2. This would reduce complexities. About your code, I am not sure if you were able to compile the code successfully because "my_print_fuction = function_2" is a potential compilation error. Even if compilation succeeds, the risk is any thread executing simultaneously and using my_print_function (exported symbol) might experience a weird behavior when it's definition is dynamically changed by a different thread. Hope this helps, lest I confused you. Regards, Ayan Kumar Halder On Tue, Jun 3, 2014 at 10:51 AM, Greg KH <greg@xxxxxxxxx> wrote: > > A: No. > Q: Should I include quotations after my reply? > > http://daringfireball.net/2007/07/on_top > > On Mon, Jun 02, 2014 at 10:10:16PM -0700, Peter Tosh wrote: >> It's currently being done in a user space application which I am porting >> to a kernel module. Is there some other way of accomplishing the same >> thing safely? > > Again, what is such a thing being done _for_? > > Why are they doing this? > > And why would a userspace program need to be ported to the kernel? What > type of application is this? What does it do? Any pointers to the > source to take a look at it? > > thanks, > > greg k-h > > _______________________________________________ > Kernelnewbies mailing list > Kernelnewbies@xxxxxxxxxxxxxxxxx > http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies _______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies