[Crash-utility] [PATCH] crash: Show module taint flags via cmd_mod

Aaron Tomlin atomlin at redhat.com
Mon Mar 18 22:01:43 UTC 2013



----- Original Message -----
> From: "Dave Anderson" <anderson at redhat.com>
> To: "Discussion list for crash utility usage, maintenance and development" <crash-utility at redhat.com>
> Sent: Friday, March 15, 2013 6:54:19 PM
> Subject: Re: [Crash-utility] [PATCH] crash: Show module taint flags via cmd_mod
> 
> 
> 
> ----- Original Message -----
> > Hi Dave, et al,
> > 
> > 
> > Example output:
> > 
> > crash> mod
> >      MODULE       NAME                  TAINT           SIZE
> >       OBJECT
> >      FILE
> > ffffffffa0008ee0  scsi_transport_iscsi  (PFUT)         57491  (not
> > loaded)  [CONFIG_KALLSYMS]
> > ffffffffa0021020  libiscsi                             50543  (not
> > loaded)  [CONFIG_KALLSYMS]
> > ffffffffa0055a20  qla4xxx               (U)           221130  (not
> > loaded)  [CONFIG_KALLSYMS]
> > ffffffffa0060160  video                                18992  (not
> > loaded)  [CONFIG_KALLSYMS]
> > ffffffffa0065000  mdio                                 13436  (not
> > loaded)  [CONFIG_KALLSYMS]
> > ffffffffa006c000  libiscsi_tcp          (T)            24177  (not
> > loaded)  [CONFIG_KALLSYMS]
> > ffffffffa007c040  libcxgbi                             56493  (not
> > loaded)  [CONFIG_KALLSYMS]
> > ...
> > 
> > Any thoughts?
> > 
> > Regards,
> > 
> > Aaron
> > 
> 
> Well, the concept is interesting, especially for us enterprise-types,
> but I
> have to say that I don't think too much of the patch as-is...
> 
> First, I prefer to avoid hardwiring codes like this if at all
> possible:
> 
>  --- defs.h.org  2013-02-14 20:38:54.000000000 +0000
>  +++ defs.h      2013-03-15 16:36:16.505726642 +0000
>  @@ -177,6 +177,17 @@
>   };
>  
>   /*
>  + * Module taint flags
>  + */
>  +
>  +#define TAINT_PROPRIETARY_MODULE        0
>  +#define TAINT_FORCED_MODULE             1
>  +#define TAINT_UNSIGNED_MODULE           6
>  +#define TAINT_CRAP                     10
>  +#define TAINT_OOT_MODULE               12
>  +#define TAINT_TECH_PREVIEW             29
>  +
>  +/*
>    *  program_context flags
>    */
>   #define LIVE_SYSTEM                 (0x1ULL)
>  
> Although, there's probably no way around it.  And if they've changed
> over kernel-version time, that's even worse.
> 
> Secondly, I prefer to keep the mod command output line at 80 columns
> or less prior to loading the debuginfo object files.
> 
> For example, on my Fedora 17 machine, it looks like this, with an
> 80-column
> line shown in comparison:
> 
> 12345678901234567890123456789012345678901234567890123456789012345678901234567890
> 
> crash> mod
>      MODULE       NAME                     SIZE  OBJECT FILE
> ffffffffa0008ee0  scsi_transport_iscsi    57491  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa00125c0  iscsi_boot_sysfs        15642  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa0021020  libiscsi                50543  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa0055a20  qla4xxx                221130  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa0060160  video                   18992  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa0065000  mdio                    13436  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa006c000  libiscsi_tcp            24177  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa007c040  libcxgbi                56493  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa00a0860  cxgb3                  155602  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa00ab320  uio                     19045  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa00b88c0  cxgb3i                  32951  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa00d31a0  cxgb4                  113494  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa00dfa60  cxgb4i                  32880  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa00f1180  cnic                    66882  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa0100440  bnx2i                   54715  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa0106000  i2c_algo_bit            13258  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa011d3c0  be2iscsi                93412  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa0124240  wmi                     18698  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa0153ea0  sunrpc                 255581  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa016a1a0  sdhci_pci               18661  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa0173340  ghash_clmulni_intel     13260  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa0178020  soundcore               14492  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa0181600  i2c_core                38354  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa0189060  uinput                  17615  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa01be0e0  drm                    264190  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa01d52a0  drm_kms_helper          44759  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa024fa00  i915                   567858  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa0297a00  e1000e                 240492  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa02a5280  macvtap                 18241  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa02ac0c0  macvlan                 18732  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa02c3be0  mmc_core               106983  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa02d34a0  sdhci                   37836  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa02db320  tun                     22939  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa02e1180  crc32c_intel            12902  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa0336e00  kvm                    431794  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa0355600  vhost_net               33860  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa035c3a0  microcode               23449  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa0363380  rfkill                  21737  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa0385420  kvm_intel              132720  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa038e040  mfd_core                13183  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa0393000  iTCO_vendor_support     13420  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa0398120  coretemp                13394  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa03c54e0  cfg80211               201717  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa03d3d60  lpc_ich                 17062  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa03d9040  snd_page_alloc          18269  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa03f0240  iwlwifi                103188  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa0405180  mei                     75354  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa0410080  snd_timer               28691  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa04161a0  iTCO_wdt                13481  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa041b060  snd_seq_device          14137  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa042d2c0  snd                     79380  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa04382e0  i2c_i801                18135  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa0449180  thinkpad_acpi           79359  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa04b93c0  mac80211               540054  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa05080e0  iwldvm                 241608  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa05140c0  media                   20445  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa0519080  videobuf2_memops        13391  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa052e540  snd_pcm                 98005  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa0541280  snd_seq                 64878  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa0549060  snd_hwdep               17651  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa054f240  arc4                    12616  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa0568ec0  videodev               120901  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa0573060  videobuf2_vmalloc       12968  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa0580000  videobuf2_core          34281  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa059b260  snd_hda_codec          131731  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa05ad020  snd_hda_codec_hdmi      36749  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa05b85e0  snd_hda_intel           37938  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa05be080  xt_state                12579  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa05d0e40  snd_hda_codec_realtek   78233  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa05e7ee0  uvcvideo                80925  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa05fa7a0  nf_conntrack            84256  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa0607240  ip6_tables              26943  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa060d2a0  iscsi_tcp               18334  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa0616060  ip6table_filter         12816  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa061c4a0  nf_defrag_ipv6          18206  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa0625060  nf_defrag_ipv4          12674  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa0633e60  ib_core                 74065  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa063f460  nf_conntrack_ipv6       18624  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa0647520  nf_conntrack_ipv4       14809  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa064c0e0  ib_addr                 13786  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa06541a0  ip6t_REJECT             12940  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa0660060  ib_mad                  46341  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa066a080  ib_sa                   32956  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa067a300  ib_cm                   41726  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa0681000  iw_cm                   18222  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa068c0a0  rdma_cm                 42167  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa06920e0  llc                     14046  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa06d15a0  bluetooth              319586  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa06ec2a0  ib_iser                 37806  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa06f20c0  stp                     12869  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa06f8660  bnep                    19702  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa070c800  lockd                   93438  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa0723f20  bridge                  91098  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa072d080  xt_CHECKSUM             12550  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa0736040  iptable_mangle          12696  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa073d380  nf_nat                  25642  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa0743180  iptable_nat             13012  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa0748000  nf_nat_ipv4             13200  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa074d120  ipt_MASQUERADE          12881  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa0756180  ebtables                30758  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa075f260  ebtable_nat             12808  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa0771180  fuse                    78033  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa0779080  dns_resolver            13097  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa0788360  fscache                 55156  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa07ad920  nfs                    169253  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa07c0000  nfs_acl                 12742  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa07c5140  crash                   12577  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa07d12c0  auth_rpcgss             48595  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa0809420  nfsv4                  238218  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa081e640  nfsv3                   39243  (not loaded)
>  [CONFIG_KALLSYMS]
> crash>
> 
> And if I run your patch on my Fedora 17 machine, not only does it
> extend the
> output, it wastes a bunch of line space, but most unfortunately, it
> ends up just
> showing the first module.  What's happening there?:
> 
> crash> mod
>      MODULE       NAME                 TAINT           SIZE  OBJECT
>      FILE
> ffffffffa0008ee0  scsi_transport_iscsi                57491  (not
> loaded)  [CONFIG_KALLSYMS]
> crash>
> 
> On a Fedora 15 kernel, it shows only 5 of the 28 modules:
> 
> crash> mod
>      MODULE       NAME            TAINT           SIZE  OBJECT FILE
> ffffffffa0003cd0  i2c_core                       25468  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa00091f0  mperf                           1505  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa000fd10  i2c_algo_bit                    4950  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa0013790  freq_table                      3963  (not loaded)
>  [CONFIG_KALLSYMS]
> ffffffffa0038520  drm                           187648  (not loaded)
>  [CONFIG_KALLSYMS]
> crash>
> 
> On a 2.6.30 system, just one module again:
> 
> crash> mod
>      MODULE       NAME              TAINT           SIZE  OBJECT FILE
> ffffffffa0007e00  ehci_hcd                         32772  (not
> loaded)  [CONFIG_KALLSYMS]
> crash>
> 
> On RHEL5 system, it shows a garbage graphics character, and if I
> transpose it into this file, it's looks like it's trying to display
> a ^P character?:
> 
> crash> mod
>      MODULE       NAME             TAINT            SIZE  OBJECT FILE
> ffffffff88007e80  ehci_hcd         ^P               65741  (not
> loaded)  [CONFIG_KALLSYMS]
> ffffffff88017800  ohci_hcd         ^P               55925  (not
> loaded)  [CONFIG_KALLSYMS]
> ffffffff88026e00  uhci_hcd         ^P               57433  (not
> loaded)  [CONFIG_KALLSYMS]
> ffffffff8803fd80  jbd              ^P               94257  (not
> loaded)  [CONFIG_KALLSYMS]
> ffffffff8806ae00  ext3             ^P              168017  (not
> loaded)  [CONFIG_KALLSYMS]
> ffffffff88077c80  megaraid_mm      ^P               44793  (not
> loaded)  [CONFIG_KALLSYMS]
> ffffffff880a8a80  scsi_mod         ^P              196569  (not
> loaded)  [CONFIG_KALLSYMS]
> ffffffff880b7a00  sd_mod           ^P               56385  (not
> loaded)  [CONFIG_KALLSYMS]
> ffffffff880c8f00  megaraid_mbox    ^P               65873  (not
> loaded)  [CONFIG_KALLSYMS]
> ...
> 
> On RHEL5 Xen kernel, it shows multiple garbage graphic characters,
> and I
> cannot even transpose it, because it must have a CR, LF, or something
> else
> embedded in the garbarge.
> 
> If you want to re-post, fix the module list truncation issue, try to
> do
> something to handle kernel versions that do not have the same
> #define's
> as what you're hardwiring, and perhaps make it into a "mod -t" option
> that displays just the module name and its TAINT flag.
> 
> Dave
> 
> --
> Crash-utility mailing list
> Crash-utility at redhat.com
> https://www.redhat.com/mailman/listinfo/crash-utility
> 

Hi Dave,

Thanks for the excellent feedback, as always.
I'll work on a v2 patch.

Cheers,

Aaron




More information about the Crash-utility mailing list