Let's say I have a Linux driver A, which has a non-static and non-extern function void f(int) declared and defined in driver's .h and .c source code and also gets used in the driver module too; When I load A.ko into the kernel, how is the f(int) resolved in A.ko's usage. Does the linking process first check existing kernel including the loaded driver modules for f(int) first, if not there then the f(int) function's copy in A.ko gets to be linked in and used - If f(int) is found, then the copy in A.ko gets ignored? or something else?
↧