|
Packit Service |
4b33e2 |
.TH ksc "1" "November 2018" "ksc - Version 1.6" "User Commands"
|
|
Packit Service |
4b33e2 |
.SH NAME
|
|
Packit Service |
4b33e2 |
ksc \- report symbols used by kernel modules
|
|
Packit Service |
4b33e2 |
.SH SYNOPSIS
|
|
Packit Service |
4b33e2 |
.B ksc -k \fIFILE\fR ... [OPTIONS]
|
|
Packit Service |
4b33e2 |
|
|
Packit Service |
4b33e2 |
.B ksc -k \fIFILE\fR ... -s [OPTIONS]
|
|
Packit Service |
4b33e2 |
|
|
Packit Service |
4b33e2 |
.B ksc -s -p \fIKSC_RESULT\fR [OPTIONS]
|
|
Packit Service |
4b33e2 |
|
|
Packit Service |
4b33e2 |
.SH DESCRIPTION
|
|
Packit Service |
4b33e2 |
.B ksc
|
|
Packit Service |
4b33e2 |
produces and submits reports of symbols used by kernel object \fIFILE\fRs
|
|
Packit Service |
4b33e2 |
(specified by -k). Resulting report is always saved to \fI~/ksc-result.txt\fR.
|
|
Packit Service |
4b33e2 |
|
|
Packit Service |
4b33e2 |
For more on report generation, see -k.
|
|
Packit Service |
4b33e2 |
|
|
Packit Service |
4b33e2 |
For more on report submission, see -s.
|
|
Packit Service |
4b33e2 |
|
|
Packit Service |
4b33e2 |
.SH OPTIONS
|
|
Packit Service |
4b33e2 |
You may freely mix different option styles.
|
|
Packit Service |
4b33e2 |
|
|
Packit Service |
4b33e2 |
.TP
|
|
Packit Service |
4b33e2 |
\fB\-h\fR, \fB\-\-help\fR
|
|
Packit Service |
4b33e2 |
Show help message and exit.
|
|
Packit Service |
4b33e2 |
.TP
|
|
Packit Service |
4b33e2 |
\fB\-c\fR \fICONFIG\fR, \fB\-\-\fRconfig=\fICONFIG\fR
|
|
Packit Service |
4b33e2 |
Read config options from \fICONFIG\fR file. If not supplied, \fBksc\fR will use
|
|
Packit Service |
4b33e2 |
~/ksc.conf. If not found, /etc/ksc.conf will be used instead.
|
|
Packit Service |
4b33e2 |
.TP
|
|
Packit Service |
4b33e2 |
\fB\-j\fR \fIKSC_RESULT\fR, \fB\-\-\fRjustification-from=\fIKSC_RESULT\fR
|
|
Packit Service |
4b33e2 |
Read symbol justifications from \fIKSC_RESULT\fR file and use them in the new
|
|
Packit Service |
4b33e2 |
report. It is important to note that placeholder justifications and reference
|
|
Packit Service |
4b33e2 |
justifications are ignored by this option and re-generated every time.
|
|
Packit Service |
4b33e2 |
|
|
Packit Service |
4b33e2 |
This option may be specified multiple times. \fIKSC_RESULT\fR file order is
|
|
Packit Service |
4b33e2 |
determined by the order of arguments passed to ksc. If there are two conflicting
|
|
Packit Service |
4b33e2 |
non-placeholder/non-reference justifications for a kernel module A.ko symbol S
|
|
Packit Service |
4b33e2 |
in multiple report files at the same time, it will be carried over from the
|
|
Packit Service |
4b33e2 |
last one specified on the command line.
|
|
Packit Service |
4b33e2 |
|
|
Packit Service |
4b33e2 |
Symbol justifications can be carried over within the same kernel module only.
|
|
Packit Service |
4b33e2 |
Justifications do not propagate through references (i.e., if you justify
|
|
Packit Service |
4b33e2 |
usage of S for A.ko, B.ko references justification in A.ko, and you run ksc
|
|
Packit Service |
4b33e2 |
without A.ko, justification is not carried over and you will be asked to
|
|
Packit Service |
4b33e2 |
specify).
|
|
Packit Service |
4b33e2 |
.TP
|
|
Packit Service |
4b33e2 |
\fB\-k\fR \fIFILE\fR, \fB\-\-ko\fR=\fIFILE\fR
|
|
Packit Service |
4b33e2 |
Collect used symbols in kernel object \fIFILE\fR.
|
|
Packit Service |
4b33e2 |
.br
|
|
Packit Service |
4b33e2 |
Multiple -k arguments may be supplied, in which case different \fIFILE\fRs are
|
|
Packit Service |
4b33e2 |
placed in distinct sections of the \fI~/ksc-result.txt\fR file.
|
|
Packit Service |
4b33e2 |
|
|
Packit Service |
4b33e2 |
All kernel object \fIFILE\fRs must be build against the same architecture.
|
|
Packit Service |
4b33e2 |
|
|
Packit Service |
4b33e2 |
If multiple \fIFILE\fRs are supplied, ksc report won't include symbols exported
|
|
Packit Service |
4b33e2 |
by any one of the \fIFILE\fRs. This allows for bulk collection of symbols of
|
|
Packit Service |
4b33e2 |
a functionally dependent set of kernel modules without having to filter
|
|
Packit Service |
4b33e2 |
symbols coming from other modules.
|
|
Packit Service |
4b33e2 |
.TP
|
|
Packit Service |
4b33e2 |
\fB\-K\fR \fIFILE\fR, \fB\-\-ko-dependency\fR=\fIFILE\fR
|
|
Packit Service |
4b33e2 |
Omit any symbols exported by \fIFILE\fR from the report. Use this option if
|
|
Packit Service |
4b33e2 |
other modules (which are part of the report) depend on symbols exported by
|
|
Packit Service |
4b33e2 |
\fIFILE\fR, but \fIFILE\fR itself is not to be reported at this time.
|
|
Packit Service |
4b33e2 |
.TP
|
|
Packit Service |
4b33e2 |
\fB\-n\fR \fIRELEASE\fR, \fB\-\-name\fR=\fIRELEASE\fR
|
|
Packit Service |
4b33e2 |
RHEL \fIRELEASE\fR against which the bug is to be filed, e.g '6.5'.
|
|
Packit Service |
4b33e2 |
.TP
|
|
Packit Service |
4b33e2 |
\fB\-p\fR \fIPREVIOUS\fR, \fB\-\-previous\fR=\fIPREVIOUS\fR
|
|
Packit Service |
4b33e2 |
Specified \fIPREVIOUS\fR file is marked for submission to Red Hat Bugzilla.
|
|
Packit Service |
4b33e2 |
.br
|
|
Packit Service |
4b33e2 |
To submit, you need to use -s.
|
|
Packit Service |
4b33e2 |
.TP
|
|
Packit Service |
4b33e2 |
\fB\-r\fR \fIRELEASE\fR, \fB\-\-release\fR=\fIRELEASE\fR
|
|
Packit Service |
4b33e2 |
RHEL \fIRELEASE\fR used for symbol comparison with whitelists, e.g. '6.5'.
|
|
Packit Service |
4b33e2 |
.TP
|
|
Packit Service |
4b33e2 |
\fB\-y\fR \fISYMVERS\fR, \fB\-\-symvers\fR=\fISYMVERS\fR
|
|
Packit Service |
4b33e2 |
Path to Module.symvers \fISYMVERS\fR file used to check symbol presence in the
|
|
Packit Service |
4b33e2 |
the kernel. If not specified, current kernel version is used to determine the
|
|
Packit Service |
4b33e2 |
path and Module.symvers of the currently running kernel is used.
|
|
Packit Service |
4b33e2 |
|
|
Packit Service |
4b33e2 |
You are notified whenever symbol is not present in the Module.symvers file.
|
|
Packit Service |
4b33e2 |
.TP
|
|
Packit Service |
4b33e2 |
\fB\-s\fR, \fB\-\-submit\fR
|
|
Packit Service |
4b33e2 |
Submit the report to the Red Hat Bugzilla (https://bugzilla.redhat.com).
|
|
Packit Service |
4b33e2 |
Credentials used in submission need to be set a config file (see FILES section
|
|
Packit Service |
4b33e2 |
below). If API key is not set, ksc will prompt for Bugzilla password.
|
|
Packit Service |
4b33e2 |
|
|
Packit Service |
4b33e2 |
This option needs to be supplemented with -k or -p.
|
|
Packit Service |
4b33e2 |
|
|
Packit Service |
4b33e2 |
If used with -k, report gets generated, opened in an editor for you to make
|
|
Packit Service |
4b33e2 |
changes, saved in \fI~/ksc-result.txt\fR, and submitted. You may interrupt
|
|
Packit Service |
4b33e2 |
submission by pressing ^C.
|
|
Packit Service |
4b33e2 |
.TP
|
|
Packit Service |
4b33e2 |
\fB\-v\fR, \fB\-\-version\fR
|
|
Packit Service |
4b33e2 |
Prints ksc version.
|
|
Packit Service |
4b33e2 |
|
|
Packit Service |
4b33e2 |
.SH FILES
|
|
Packit Service |
4b33e2 |
|
|
Packit Service |
4b33e2 |
.TP
|
|
Packit Service |
4b33e2 |
~/ksc-result.txt
|
|
Packit Service |
4b33e2 |
Report produced by ksc.
|
|
Packit Service |
4b33e2 |
|
|
Packit Service |
4b33e2 |
.TP
|
|
Packit Service |
4b33e2 |
~/ksc.conf (/etc/ksc.conf)
|
|
Packit Service |
4b33e2 |
Local (global) ksc config file. Global config file is used only when local
|
|
Packit Service |
4b33e2 |
config file does not exist. Syntax is as follows:
|
|
Packit Service |
4b33e2 |
.IP
|
|
Packit Service |
4b33e2 |
.br
|
|
Packit Service |
4b33e2 |
[bugzilla]
|
|
Packit Service |
4b33e2 |
.br
|
|
Packit Service |
4b33e2 |
user=user@redhat.com
|
|
Packit Service |
4b33e2 |
.br
|
|
Packit Service |
4b33e2 |
partner=partner\-name
|
|
Packit Service |
4b33e2 |
.br
|
|
Packit Service |
4b33e2 |
partnergroup=partner\-group
|
|
Packit Service |
4b33e2 |
.br
|
|
Packit Service |
4b33e2 |
server=https://bugzilla.redhat.com/xmlrpc.cgi
|
|
Packit Service |
4b33e2 |
.br
|
|
Packit Service |
4b33e2 |
api_key=api_key
|
|
Packit Service |
4b33e2 |
|
|
Packit Service |
4b33e2 |
These are default values. Whenever a field has such a value (except the
|
|
Packit Service |
4b33e2 |
server field), it will always be treated as though it were undefined/left blank.
|
|
Packit Service |
4b33e2 |
|
|
Packit Service |
4b33e2 |
.SH EXAMPLES
|
|
Packit Service |
4b33e2 |
.TP
|
|
Packit Service |
4b33e2 |
ksc -k a.ko
|
|
Packit Service |
4b33e2 |
Process a.ko file using system-provided whitelist and Module.symvers files.
|
|
Packit Service |
4b33e2 |
Reports symbols used by a.ko that are not in whitelist, requesting justification
|
|
Packit Service |
4b33e2 |
for their use.
|
|
Packit Service |
4b33e2 |
|
|
Packit Service |
4b33e2 |
.TP
|
|
Packit Service |
4b33e2 |
ksc -k a.ko -y /tmp/Module.symvers
|
|
Packit Service |
4b33e2 |
Process a.ko file using system-provided whitelist and user-provided
|
|
Packit Service |
4b33e2 |
Module.symvers (/tmp/Module.symvers) files. Reports symbols used by a.ko that
|
|
Packit Service |
4b33e2 |
are not in whitelist, requesting justification for their use.
|
|
Packit Service |
4b33e2 |
|
|
Packit Service |
4b33e2 |
.TP
|
|
Packit Service |
4b33e2 |
ksc -k a.ko -k b.ko
|
|
Packit Service |
4b33e2 |
Process a.ko and b.ko files using system-provided whitelist and Module.symvers
|
|
Packit Service |
4b33e2 |
files. Reports symbols used by both a.ko and b.ko that are not in whitelist,
|
|
Packit Service |
4b33e2 |
requesting justification for their use. Only one justification per symbol is
|
|
Packit Service |
4b33e2 |
required. Any mention of an already justified symbol come with an automatically
|
|
Packit Service |
4b33e2 |
generated references.
|
|
Packit Service |
4b33e2 |
|
|
Packit Service |
4b33e2 |
.TP
|
|
Packit Service |
4b33e2 |
ksc -k a.ko -k b.ko -K c.ko -K d.ko
|
|
Packit Service |
4b33e2 |
Process a.ko and b.ko files using system-provided whitelist and Module.symvers
|
|
Packit Service |
4b33e2 |
files. Reports symbols used by both a.ko and b.ko that are not in whitelist and
|
|
Packit Service |
4b33e2 |
not exported by either c.ko or d.ko, requesting justification for their use.
|
|
Packit Service |
4b33e2 |
Only one justification per symbol is required. Any mention of an already
|
|
Packit Service |
4b33e2 |
justified symbol come with an automatically generated references.
|
|
Packit Service |
4b33e2 |
|
|
Packit Service |
4b33e2 |
.TP
|
|
Packit Service |
4b33e2 |
ksc -k a.ko -k b.ko -j previous-report.txt
|
|
Packit Service |
4b33e2 |
Process a.ko and b.ko files using system-provided whitelist and Module.symvers
|
|
Packit Service |
4b33e2 |
files. Reports symbols used by both a.ko and b.ko that are not in whitelist,
|
|
Packit Service |
4b33e2 |
requesting justification for their use. Only one justification per symbol is
|
|
Packit Service |
4b33e2 |
required. Any mention of an already justified symbol come with an automatically
|
|
Packit Service |
4b33e2 |
generated references. Justifications already present in previous-report.txt
|
|
Packit Service |
4b33e2 |
are carried over to the newly generated one.
|
|
Packit Service |
4b33e2 |
|
|
Packit Service |
4b33e2 |
.TP
|
|
Packit Service |
4b33e2 |
ksc -s -p report-to-submit.txt
|
|
Packit Service |
4b33e2 |
Submit a report to bugzilla.
|
|
Packit Service |
4b33e2 |
|