1ksc(1) User Commands ksc(1)
2
3
4
6 ksc - report symbols used by kernel modules
7
9 ksc -k FILE ... [OPTIONS]
10
11 ksc -k FILE ... -s [OPTIONS]
12
13 ksc -s -p KSC_RESULT [OPTIONS]
14
15
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
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
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
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
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)