1ksc(1)                           User Commands                          ksc(1)
2
3
4

NAME

6       ksc - report symbols used by kernel modules
7

SYNOPSIS

9       ksc -k FILE ... [OPTIONS]
10
11       ksc -k FILE ... -s [OPTIONS]
12
13       ksc -s -p KSC_RESULT [OPTIONS]
14
15

DESCRIPTION

17       ksc produces and submits reports of symbols used by kernel object FILEs
18       (specified by -k).  Resulting  report  is  always  saved  to  ~/ksc-re‐
19       sult.txt.
20
21       For more on report generation, see -k.
22
23       For more on report submission, see -s.
24
25

ENVIRONMENT

27       It  is  highly recommended that ksc is used on the latest minor version
28       of RHEL, and to make sure, prior to  ksc  usage,  to  update  kabi-sta‐
29       blelists  as  well as kernel-devel-provided Module.symvers. This can be
30       accomplished, for example, by issuing:
31
32       yum update kernel-abi-stablelists kernel-devel
33
34       It is also possible to use the  -y  (--symvers)  option  to  explicitly
35       state  the  location  of Module.symvers file to make sure that accurate
36       and up-to-date kABI data be provided to ksc.
37
38

OPTIONS

40       You may freely mix different option styles.
41
42
43       -h, --help
44              Show help message and exit.
45
46       -c CONFIG, --config=CONFIG
47              Read config options from CONFIG file. If not supplied, ksc  will
48              use  ~/ksc.conf.  If  not  found, /etc/ksc.conf will be used in‐
49              stead.
50
51       -j KSC_RESULT, --justification-from=KSC_RESULT
52              Read symbol justifications from KSC_RESULT file and use them  in
53              the  new report. It is important to note that placeholder justi‐
54              fications and reference justifications are ignored by  this  op‐
55              tion and re-generated every time.
56
57              This option may be specified multiple times. KSC_RESULT file or‐
58              der is determined by the order of arguments passed  to  ksc.  If
59              there are two conflicting non-placeholder/non-reference justifi‐
60              cations for a kernel module A.ko symbol  S  in  multiple  report
61              files  at  the  same time, it will be carried over from the last
62              one specified on the command line.
63
64              Symbol justifications can be carried over within the same kernel
65              module only.  Justifications do not propagate through references
66              (i.e., if you justify usage of S for A.ko, B.ko references  jus‐
67              tification  in A.ko, and you run ksc without A.ko, justification
68              is not carried over and you will be asked to specify).
69
70       -k FILE, --ko=FILE
71              Collect used symbols in kernel object FILE.
72              Multiple -k arguments may be supplied, in which  case  different
73              FILEs  are  placed  in distinct sections of the ~/ksc-result.txt
74              file.
75
76              All kernel object FILEs must be build against the same architec‐
77              ture.
78
79              If multiple FILEs are supplied, ksc report won't include symbols
80              exported by any one of the FILEs. This allows for  bulk  collec‐
81              tion  of  symbols of a functionally dependent set of kernel mod‐
82              ules without having to filter symbols coming from other modules.
83
84       -K FILE, --ko-dependency=FILE
85              Omit any symbols exported by FILE from the report. Use this  op‐
86              tion  if  other modules (which are part of the report) depend on
87              symbols exported by FILE, but FILE itself is not to be  reported
88              at this time.
89
90       -n RELEASE, --name=RELEASE
91              RHEL RELEASE against which the bug is to be filed, e.g '6.5'.
92
93       -p PREVIOUS, --previous=PREVIOUS
94              Specified  PREVIOUS  file  is  marked  for submission to Red Hat
95              Bugzilla.
96              To submit, you need to use -s.
97
98       -r RELEASE, --release=RELEASE
99              RHEL RELEASE used for symbol comparison with  stablelists,  e.g.
100              '6.5'.
101
102       -y SYMVERS, --symvers=SYMVERS
103              Path  to  Module.symvers SYMVERS file used to check symbol pres‐
104              ence in the the kernel. If not specified, current kernel version
105              is  used  to  determine  the path and Module.symvers of the cur‐
106              rently running kernel is used.
107
108              You are notified whenever symbol is  not  present  in  the  Mod‐
109              ule.symvers file.
110
111       -s, --submit
112              Submit the report to the Red Hat Bugzilla (https://bugzilla.red
113              hat.com).  Credentials used in submission need to be set a  con‐
114              fig  file  (see FILES section below). If API key is not set, ksc
115              will prompt for Bugzilla password.
116
117              This option needs to be supplemented with -k or -p.
118
119              If used with -k, report gets generated, opened in an editor  for
120              you  to  make changes, saved in ~/ksc-result.txt, and submitted.
121              You may interrupt submission by pressing ^C.
122
123       -v, --version
124              Prints ksc version.
125
126

FILES

128       ~/ksc-result.txt
129              Report produced by ksc.
130
131
132       ~/ksc.conf (/etc/ksc.conf)
133              Local (global) ksc config file. Global config file is used  only
134              when local config file does not exist. Syntax is as follows:
135
136              [bugzilla]
137              user=user@redhat.com
138              partner=partner-name
139              partnergroup=partner-group
140              server=https://bugzilla.redhat.com/xmlrpc.cgi
141              api_key=api_key
142
143              These are default values. Whenever a field has such a value (ex‐
144              cept the server field), it will always be treated as  though  it
145              were undefined/left blank.
146
147

EXAMPLES

149       ksc -k a.ko
150              Process  a.ko  file  using  system-provided  stablelist and Mod‐
151              ule.symvers files.  Reports symbols used by a.ko that are not in
152              stablelist, requesting justification for their use.
153
154
155       ksc -k a.ko -y /tmp/Module.symvers
156              Process a.ko file using system-provided stablelist and user-pro‐
157              vided Module.symvers (/tmp/Module.symvers) files.  Reports  sym‐
158              bols  used by a.ko that are not in stablelist, requesting justi‐
159              fication for their use.
160
161
162       ksc -k a.ko -k b.ko
163              Process a.ko and b.ko files using system-provided stablelist and
164              Module.symvers files. Reports symbols used by both a.ko and b.ko
165              that are not in stablelist, requesting justification  for  their
166              use.  Only one justification per symbol is required. Any mention
167              of an already justified symbol come with an automatically gener‐
168              ated references.
169
170
171       ksc -k a.ko -k b.ko -K c.ko -K d.ko
172              Process a.ko and b.ko files using system-provided stablelist and
173              Module.symvers files. Reports symbols used by both a.ko and b.ko
174              that  are  not  in stablelist and not exported by either c.ko or
175              d.ko, requesting justification for their use.  Only one justifi‐
176              cation  per symbol is required. Any mention of an already justi‐
177              fied symbol come with an automatically generated references.
178
179
180       ksc -k a.ko -k b.ko -j previous-report.txt
181              Process a.ko and b.ko files using system-provided stablelist and
182              Module.symvers files. Reports symbols used by both a.ko and b.ko
183              that are not in stablelist, requesting justification  for  their
184              use.  Only one justification per symbol is required. Any mention
185              of an already justified symbol come with an automatically gener‐
186              ated  references. Justifications already present in previous-re‐
187              port.txt are carried over to the newly generated one.
188
189
190       ksc -s -p report-to-submit.txt
191              Submit a report to bugzilla.
192
193
194
195
196ksc - Version 1.7                November 2018                          ksc(1)
Impressum