- if ($file =~ "/sys/kernel/debug/.*") {
- print("ignoring file $file\n");
- return 0;
- }
- if ($file =~ "/sys/kernel/security/apparmor/revision") {
- print("ignoring file $file\n");
- return 0;
+ # ignore list: files that we can't read or are known to cause problems
+ SWITCH: for ($file) {
+ (
+ /.*\/bind$/ ||
+ /.*\/clear$/ ||
+ /.*\/delete$/ ||
+ /.*\/delete_device$/ ||
+ /.*\/drivers_probe$/ ||
+ /.*\/host_reset$/ ||
+ /.*\/new_device$/ ||
+ /.*\/new_id$/ ||
+ /.*\/reconfig$/ ||
+ /.*\/remove$/ ||
+ /.*\/remove_id$/ ||
+ /.*\/rescan$/ ||
+ /.*\/reset$/ ||
+ /.*\/scan$/ ||
+ /\/sys\/class\/gpio\/export$/ ||
+ /\/sys\/class\/gpio\/unexport$/ ||
+ /\/sys\/devices\/platform\/i8042\/serio[0-9]+\/drvctl$/ ||
+ /\/sys\/devices\/system\/clockevents\/clockevent[0-9]+\/unbind_device$/ ||
+ /\/sys\/devices\/system\/clocksource\/clocksource[0-9]+\/unbind_clocksource$/ ||
+ /\/sys\/devices\/system\/memory\/hard_offline_page$/ ||
+ /\/sys\/devices\/system\/memory\/soft_offline_page$/ ||
+ /\/sys\/devices\/system\/node\/node[0-9]\/compact$/ ||
+ /\/sys\/devices\/virtual\/graphics\/fbcon\/rotate_all$/ ||
+ /\/sys\/firmware\/efi\/vars\/del_var$/ ||
+ /\/sys\/firmware\/efi\/vars\/new_var$/ ||
+ /\/sys\/kernel\/debug\/.*/ ||
+ /\/sys\/kernel\/security\/apparmor\/revision$/ ||
+ /\/sys\/kernel\/tracing\/per_cpu\/cpu[0-9]+\/snapshot_raw$/ ||
+ /\/sys\/kernel\/tracing\/per_cpu\/cpu[0-9]+\/trace_pipe.*/ ||
+ /\/sys\/kernel\/tracing\/trace_pipe/ ||
+ /\/sys\/module\/md_mod\/parameters\/new_array$/ ||
+ /.*\/unbind$/
+ ) && do {
+ print "ignoring file $file\n";
+ return 0;
+ }