Closed billy-lau closed 5 years ago
Seem situation here, in difuze sample driver(mediatek kernel ).
root@localhost# cat ioctl_finder_out/mt6620_ampc_ioctl.txt
Args: ~/difuze/difuze/helper_scripts/difuze_deps/llvm/build//bin/opt -analyze -debug -load ~/difuze/difuze/InterfaceHandlers/MainAnalysisPasses/build_dir/DeviceNameFinder/libDeviceNameFinderPass.so -dev-name-finder -ioctlFunction=mt6620_ampc_ioctl /tmp/tmp988mmB
[+] Provided Function Name: mt6620_ampc_ioctl
[+] Found Fops Structure: mt6620_ampc_fops
Printing analysis 'Device name finder':
Pass::print not implemented for pass: 'Device name finder'!
Args: ~/difuze/difuze/helper_scripts/difuze_deps/llvm/build//bin/opt -analyze -debug -load ~/difuze/difuze/InterfaceHandlers/MainAnalysisPasses/build_dir/IoctlCmdFinder/libIoctlCmdPass.so -new-ioctl-cmd-parser -ioctlFunction=mt6620_ampc_ioctl -bcOutDir=~/difuze/llvm_bitcode_out -srcBaseDir=~/difuze/kernel-3.18 /tmp/tmpgw6bkp
Provided Function Name:mt6620_ampc_ioctl
Found Cmd(BR):0,0:START
Found Cmd(BR):0,0:START
Found Cmd(BR):0,0:END
Found Cmd(BR):0,0:END
Includes file:~/difuze/llvm_bitcode_out/out/../drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_bow.includes
Preprocessed file:~/difuze/llvm_bitcode_out/out/../drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_bow.preprocessed
ALL PREPROCESSED FILES:
Compl Preprocessed file:~/difuze/llvm_bitcode_out/out/../drivers/misc/mediatek/aee/common/aee-common.preprocessed
Compl Preprocessed file:~/difuze/llvm_bitcode_out/out/../drivers/misc/mediatek/connectivity/wlan/gen2/common/debug.preprocessed
Compl Preprocessed file:~/difuze/llvm_bitcode_out/out/../drivers/misc/mediatek/connectivity/wlan/gen2/common/dump.preprocessed
Compl Preprocessed file:~/difuze/llvm_bitcode_out/out/../drivers/misc/mediatek/connectivity/wlan/gen2/mgmt/aaa_fsm.preprocessed
Compl Preprocessed file:~/difuze/llvm_bitcode_out/out/../drivers/misc/mediatek/connectivity/wlan/gen2/mgmt/ais_fsm.preprocessed
Compl Preprocessed file:~/difuze/llvm_bitcode_out/out/../drivers/misc/mediatek/connectivity/wlan/gen2/mgmt/auth.preprocessed
Compl Preprocessed file:~/difuze/llvm_bitcode_out/out/../drivers/misc/mediatek/connectivity/wlan/gen2/mgmt/bss.preprocessed
Compl Preprocessed file:~/difuze/llvm_bitcode_out/out/../drivers/misc/mediatek/connectivity/wlan/gen2/mgmt/cnm.preprocessed
Compl Preprocessed file:~/difuze/llvm_bitcode_out/out/../drivers/misc/mediatek/connectivity/wlan/gen2/mgmt/cnm_mem.preprocessed
Compl Preprocessed file:~/difuze/llvm_bitcode_out/out/../drivers/misc/mediatek/connectivity/wlan/gen2/mgmt/cnm_timer.preprocessed
Compl Preprocessed file:~/difuze/llvm_bitcode_out/out/../drivers/misc/mediatek/connectivity/wlan/gen2/nic/cmd_buf.preprocessed
Compl Preprocessed file:~/difuze/llvm_bitcode_out/out/../drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_bow.preprocessed
Compl Preprocessed file:~/difuze/llvm_bitcode_out/out/../drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/hif/ahb/ahb.preprocessed
Printing analysis 'IOCTL Command Parser':
Pass::print not implemented for pass: 'IOCTL Command Parser'!
Args: ~/difuze/difuze/helper_scripts/difuze_deps/llvm/build//bin/opt -analyze -debug -load ~/difuze/difuze/InterfaceHandlers/MainAnalysisPasses/build_dir/DeviceNameFinder/libDeviceNameFinderPass.so -dev-name-finder -ioctlFunction=mt6620_ampc_ioctl /tmp/tmpyCBpUx
[+] Provided Function Name: mt6620_ampc_ioctl
[+] Found Fops Structure: mt6620_ampc_fops
Printing analysis 'Device name finder':
Pass::print not implemented for pass: 'Device name finder'!
Args: ~/difuze/difuze/helper_scripts/difuze_deps/llvm/build//bin/opt -analyze -debug -load ~/difuze/difuze/InterfaceHandlers/MainAnalysisPasses/build_dir/IoctlCmdFinder/libIoctlCmdPass.so -new-ioctl-cmd-parser -ioctlFunction=mt6620_ampc_ioctl -bcOutDir=~/difuze/llvm_bitcode_out -srcBaseDir=~/difuze/kernel-3.18 /tmp/tmpSqyhKf
Provided Function Name:mt6620_ampc_ioctl
Found Cmd(BR):0,0:START
Found Cmd(BR):0,0:START
Found Cmd(BR):0,0:END
Found Cmd(BR):0,0:END
Includes file:~/difuze/llvm_bitcode_out/out/../drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_bow.includes
Preprocessed file:~/difuze/llvm_bitcode_out/out/../drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_bow.preprocessed
ALL PREPROCESSED FILES:
Compl Preprocessed file:~/difuze/llvm_bitcode_out/out/../drivers/misc/mediatek/aee/common/aee-common.preprocessed
Compl Preprocessed file:~/difuze/llvm_bitcode_out/out/../drivers/misc/mediatek/connectivity/wlan/gen2/common/debug.preprocessed
Compl Preprocessed file:~/difuze/llvm_bitcode_out/out/../drivers/misc/mediatek/connectivity/wlan/gen2/common/dump.preprocessed
Compl Preprocessed file:~/difuze/llvm_bitcode_out/out/../drivers/misc/mediatek/connectivity/wlan/gen2/mgmt/aaa_fsm.preprocessed
Compl Preprocessed file:~/difuze/llvm_bitcode_out/out/../drivers/misc/mediatek/connectivity/wlan/gen2/mgmt/ais_fsm.preprocessed
Compl Preprocessed file:~/difuze/llvm_bitcode_out/out/../drivers/misc/mediatek/connectivity/wlan/gen2/mgmt/auth.preprocessed
Compl Preprocessed file:~/difuze/llvm_bitcode_out/out/../drivers/misc/mediatek/connectivity/wlan/gen2/mgmt/bss.preprocessed
Compl Preprocessed file:~/difuze/llvm_bitcode_out/out/../drivers/misc/mediatek/connectivity/wlan/gen2/mgmt/cnm.preprocessed
Compl Preprocessed file:~/difuze/llvm_bitcode_out/out/../drivers/misc/mediatek/connectivity/wlan/gen2/mgmt/cnm_mem.preprocessed
Compl Preprocessed file:~/difuze/llvm_bitcode_out/out/../drivers/misc/mediatek/connectivity/wlan/gen2/mgmt/cnm_timer.preprocessed
Compl Preprocessed file:~/difuze/llvm_bitcode_out/out/../drivers/misc/mediatek/connectivity/wlan/gen2/nic/cmd_buf.preprocessed
Compl Preprocessed file:~/difuze/llvm_bitcode_out/out/../drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_bow.preprocessed
Compl Preprocessed file:~/difuze/llvm_bitcode_out/out/../drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/hif/ahb/ahb.preprocessed
Printing analysis 'IOCTL Command Parser':
Pass::print not implemented for pass: 'IOCTL Command Parser'!
You can ignore the "Pass::print not implemented for pass: 'IOCTL Command Parser'!" error.
Hello there,
I am trying to apply difuze's interface recovery for marlin (Pixel XL) kernel drivers, and I ran into the following issues:
After running the interface recovery's run_all.py, I found a number of
Pass:: print not implemented for pass: *
in the resulting .txt files. Not sure if I am missing some dependencies or this is intended.Following that, when invoking run_all.py from post_processing, I keep getting 0 sized directories. For instance, when applying to
ion_ioctl.txt
, the output I get is as follows:And I get a
common/
and anion_ioctl/
directory in the specified output directory, but they are empty.The content of my ion_ioctl.txt looks as below:
Any help would be much appreciated.
Thanks!