When EIP is at a module having an underscore in its name, the current code fails to find it because the module filenames has '-' instead of '_'. Use modinfo for a better path finding.
Unified · Split
| @@ -184,10 +184,7 @@ if ($target eq "0") { · 183 unmodified lines | ||
| 184 | 184 | |
| 185 | 185 | # if it's a module, we need to find the .ko file and calculate a load offset |
| 186 | 186 | if ($module ne "") { |
| 187 | − my $dir = dirname($filename); | |
| 188 | − $dir = $dir . "/"; | |
| 189 | − my $mod = $module . ".ko"; | |
| 190 | − my $modulefile = `find $dir -name $mod | head -1`; | |
| 187 | + my $modulefile = `modinfo $module | grep '^filename:' | awk '{ print \$2 }'`; | |
| 191 | 188 | chomp($modulefile); |
| 192 | 189 | $filename = $modulefile; |
| 193 | 190 | if ($filename eq "") { |