Guest User

Untitled

a guest
Oct 14th, 2025
35
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 2.69 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. toBinary(){
  4.   local n="$1"
  5.   local bit=""
  6.   for (( ; n>0 ; n >>= 1 )); do bit="$bit$(( n&1 ))"; done
  7.   printf "%s" "$bit"
  8. }
  9.  
  10. BIT_LIST="$(toBinary "$(< /proc/sys/kernel/tainted)")"
  11.  
  12. [[ "$BIT_LIST" -eq 0  ]] && exit
  13. echo '󰄻 Kernel tainted !'
  14.  
  15. [[ "$BIT_LIST" ==  1* ]] && echo "  proprietary module was loaded"                        ; BIT_LIST="${BIT_LIST:1}"
  16. [[ "$BIT_LIST" ==  1* ]] && echo "  module was force loaded"                              ; BIT_LIST="${BIT_LIST:1}"
  17. [[ "$BIT_LIST" ==  1* ]] && echo "  kernel running on an out of specification system"     ; BIT_LIST="${BIT_LIST:1}"
  18. [[ "$BIT_LIST" ==  1* ]] && echo "  module was force unloaded"                            ; BIT_LIST="${BIT_LIST:1}"
  19. [[ "$BIT_LIST" ==  1* ]] && echo "  processor reported a Machine Check Exception (MCE)"   ; BIT_LIST="${BIT_LIST:1}"
  20. [[ "$BIT_LIST" ==  1* ]] && echo "  bad page referenced or some unexpected page flags"    ; BIT_LIST="${BIT_LIST:1}"
  21. [[ "$BIT_LIST" ==  1* ]] && echo "  taint requested by userspace application"             ; BIT_LIST="${BIT_LIST:1}"
  22. [[ "$BIT_LIST" ==  1* ]] && echo "  kernel died recently, i.e. there was an OOPS or BUG"  ; BIT_LIST="${BIT_LIST:1}"
  23. [[ "$BIT_LIST" ==  1* ]] && echo "  ACPI table overridden by user"                        ; BIT_LIST="${BIT_LIST:1}"
  24. [[ "$BIT_LIST" ==  1* ]] && echo "  kernel issued warning"                                ; BIT_LIST="${BIT_LIST:1}"
  25. [[ "$BIT_LIST" ==  1* ]] && echo "  staging driver was loaded"                            ; BIT_LIST="${BIT_LIST:1}"
  26. [[ "$BIT_LIST" ==  1* ]] && echo "  workaround for bug in platform firmware applied"      ; BIT_LIST="${BIT_LIST:1}"
  27. [[ "$BIT_LIST" ==  1* ]] && echo '  externally-built ("out-of-tree") module was loaded'   ; BIT_LIST="${BIT_LIST:1}"
  28. [[ "$BIT_LIST" ==  1* ]] && echo "  unsigned module was loaded"                           ; BIT_LIST="${BIT_LIST:1}"
  29. [[ "$BIT_LIST" ==  1* ]] && echo "  soft lockup occurred"                                 ; BIT_LIST="${BIT_LIST:1}"
  30. [[ "$BIT_LIST" ==  1* ]] && echo "  kernel has been live patched"                         ; BIT_LIST="${BIT_LIST:1}"
  31. [[ "$BIT_LIST" ==  1* ]] && echo "  auxiliary taint, defined for and used by distros"     ; BIT_LIST="${BIT_LIST:1}"
  32. [[ "$BIT_LIST" ==  1* ]] && echo "  kernel was built with the struct randomization plugin"; BIT_LIST="${BIT_LIST:1}"
  33. [[ "$BIT_LIST" ==  1* ]] && echo "  an in-kernel test has been run"                       ; BIT_LIST="${BIT_LIST:1}"
  34. [[ "$BIT_LIST" ==  1* ]] && echo "  userspace used a mutating debug operation in fwctl"   ; BIT_LIST="${BIT_LIST:1}"
  35. [[ "$BIT_LIST" == *1* ]] && echo "  UNKNOWN! check https://www.kernel.org/doc/html/latest/admin-guide/tainted-kernels.html"
Advertisement
Add Comment
Please, Sign In to add comment