Blame ksc.1

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