Age | Commit message (Collapse) | Author |
|
CID#979416. There is no real race here to fix, but lets make coverity
happy and rework the code.
Note that we still fail if the directory is removed _after_ we ran
mkdir(), so the same race is still there. Coverity is complaining, though.
Rewrite the code to make it happy.
(David: rewrote the commit-message to note that this is not a race. If I'm
wrong, blame me, not Ronny!)
|
|
|
|
|
|
|
|
|
|
|
|
Also, make all parsing of the kernel cmdline non-fatal.
|
|
|
|
Now that we only have one file with condition implementations around, we
can drop the -util suffix and simplify things a bit.
|
|
Lets recognize the fact that startswith() returns a pointer to the tail on
success. Use it instead of hard-coding string-lengths as magic constants.
|
|
|
|
s/threat/treat/g
|
|
|
|
|
|
|
|
In some cases it is preferable to ship system images with a pre-generated
binary hwdb database, to avoid having to build it at runtime, avoid shipping
the source hwdb files, or avoid storing large binary files in /etc.
So if hwdb.bin does not exist in /etc/udev/, fall back to looking for it in
UDEVLIBEXECDIR. This keeps the possibility to add files to /etc/udev/hwdb.d/
and re-generating the database which trumps the one in /usr/lib.
Add a new --usr flag to "udevadm hwdb --update" which puts the database
into UDEVLIBEXECDIR.
Adjust systemd-udev-hwdb-update.service to not generate the file in /etc if we
already have it in /usr.
|
|
CID #1238437
|
|
If selinux is disabled and smack is only enabled, smack label is
relable-ed by label_fix. To avoid, make only be labeled for selinux.
|
|
|
|
a) always return negative errno error codes
b) always become a noop if smack is off
c) always take a NULL label as a request to remove it
|
|
and all that reset it to defaults mac_{selinux|smack}_fix()
Let's clean up the naming schemes a bit and use the same one for SMACK
and for SELINUX.
|
|
|
|
|
|
Spotted by Andreas Henriksson.
|
|
No functional change.
Found by Coverity. Fixes CID #1237533.
|
|
No functional change, just log the warning.
Fonud by Coverity. Fixes CID #1237544.
|
|
Fonud by Coverity. Fixes CID #996255.
|
|
One reported by Coverity. Fixes CID #996252.
|
|
Found by Coverity. Fixes CID #1238780.
|
|
|
|
If a device does not have a major/minor number attached, we use different
database names than if it does. On "change" events, we didn't copy the
devnum over, therefore, we used different paths than on 'add' or 'remove'
events (where devnum was properly copied).
Fix this by always copying the devnum into the udev-device.
(David: added commit-log from email)
|
|
|
|
This fixes CID #1237641.
|
|
|
|
If the file is found to be empty, we exit early without closing the file first.
Found by coverity. Fixes CID #1237759.
|
|
|
|
|
|
Use rmdir_parents() from src/shared instead.
|
|
Use shared versions instead. Difference is with overwriting of repeated user/group
name, and lack of logging.
|
|
Processes expecting static nodes to have the right permissions may order themselves after systemd-udevd.service,
make sure that actually guarantees what is expected.
|
|
This delays label_init(), and drops the (duplicate) printing of version
information.
|
|
Also move the rest of event initialization next to the event loop (no functional change).
|
|
Rather than printing debug output to stderr and redirecting this to /dev/null when not wanted,
use the correct log_*() function in the first place.
|
|
Once upon a time logging during early boot was unreliable, so extra logging messages were
sent by udev to stderr. That is no longer a concern, so drop all fprintf() calls from udved.
|
|
Also rename some global variables to arg_* to make it clearer where they come from.
|
|
|
|
|
|
This extends the udev parser to support OP_REMOVE (-=) and adds support
for TAG-= to remove previously set tags. We don't fail if the tag didn't
exist.
This is pretty handy if we ship default rules for seat-assignments and
users want to exclude specific devices from that. They can easily add
rules that drop any automatically added "seat" tags again.
|
|
Some kernel modules still take more than one minute to insmod, we no longer rely on the timeout
killing insmod within a given period of time, so just bump this to a much higher value. Its only
purpose is to make sure that nothing stays aronud forever.
|
|
|