summaryrefslogtreecommitdiff
path: root/src/udev
AgeCommit message (Collapse)Author
2014-03-16Use strlen even for constant stringsJosh Triplett
GCC optimizes strlen("string constant") to a constant, even with -O0. Thus, replace patterns like sizeof("string constant")-1 with strlen("string constant") where possible, for clarity. In particular, for expressions intended to add up the lengths of components going into a string, this often makes it clearer that the expression counts the trailing '\0' exactly once, by putting the +1 for the '\0' at the end of the expression, rather than hidden in a sizeof in the middle of the expression.
2014-03-11udev: properly detect reference to unexisting part of PROGRAM's resultLukas Nykryn
2014-03-10input_id: Recognize buttonless joystick typesMartin Pitt
Input devices like rudders or pedals are joystick-like; they don't have buttons, but axes like RX, THROTTLE, or RUDDER. These don't interfere with other device types with absolute axes (touch screens, touchpads, and accelerometers), so it's fairly safe to mark them as ID_INPUT_JOYSTICK and thus hand out dynamic ACLs to the user. https://bugs.freedesktop.org/show_bug.cgi?id=70734
2014-03-07Make tables for DEFINE_STRING_TABLE_LOOKUP consistentDaniel Mack
Bring some arrays that are used for DEFINE_STRING_TABLE_LOOKUP() in the same order than the enums they reference. Also, pass the corresponding _MAX value to the array initalizer where appropriate.
2014-03-07udev-builtin-blkid: remove dead codeKay Sievers
2014-03-07udev: automatically create a symlink /dev/disk/by-id/gpt-auto-root if ↵Lennart Poettering
there's a suitable root partition
2014-03-07udev-builtin-blkid: when we find a GPT partition marked as root disk on the ↵Lennart Poettering
same disk as the ESP, expose a property on the udev device This is preparation for a logic to automatically discover the root partition to boot from if no partition has been configured explicitly. This makes use of our newly defined GPT type GUIDs for our root disks: #define GPT_ROOT_X86 SD_ID128_MAKE(44,47,95,40,f2,97,41,b2,9a,f7,d1,31,d5,f0,45,8a) #define GPT_ROOT_X86_64 SD_ID128_MAKE(4f,68,bc,e3,e8,cd,4d,b1,96,e7,fb,ca,f9,84,b7,09) We define differen GUIDs for different architectures to allow images which finde the right root partition for the appropriate arch.
2014-03-07udev-builtin-blkid: modernizations and minor fixesLennart Poettering
2014-02-27cdrom_id: use the old MMC fallbackLukas Nykryn
https://bugzilla.redhat.com/show_bug.cgi?id=1038015 The problem seems to be that the your virtual DVD is emulating a really old DVD device, and doing it kind of strangely. > dracut:# /lib/udev/cdrom_id --debug /dev/sr0 > probing: '/dev/sr0' > INQUIRY: [IMM ][Virtual CD/DVD ][0316] > GET CONFIGURATION failed with SK=5h/ASC=24h/ACQ=00h So your virtual drive rejects the GET CONFIGURATION command as illegal. Other pre-MMC2 drives that don't accept this command usually return the error SK=5h,ASC=20h (invalid/unsupported command code), in which case cdrom_id tries an older method, and then ID_CDROM_MEDIA_TRACK_COUNT_DATA gets set and all the /dev/disk/by-label (etc) links get set up. The virtual drive returns the error SK=5h,ASC=24h (invalid field in Command Descriptor Block), which cdrom_id doesn't handle, so it gives up and the links never get made. The ideal solution would be to make the IMM to emulate a device that's less than 15 years old, but I'm not going to hold my breath waiting for that. So probably cdrom_id should also use the old MMC fallback when the error is SK=5h,ASC=24h, and then all of this would work as expected. Suggested-by:Luca Miccini <lmiccini@redhat.com>
2014-02-24Remove dead lines in various placesZbigniew Jędrzejewski-Szmek
As pointed-out by clang -Wunreachable-code. No behaviour changes.
2014-02-23core: clean up some confusing regarding SI decimal and IEC binary suffixes ↵Lennart Poettering
for sizes According to Wikipedia it is customary to specify hardware metrics and transfer speeds to the basis 1000 (SI decimal), while software metrics and physical volatile memory (RAM) sizes to the basis 1024 (IEC binary). So far we specified everything in IEC, let's fix that and be more true to what's otherwise customary. Since we don't want to parse "Mi" instead of "M" we document each time what the context used is.
2014-02-22udev: net - allow MTU and Speed to be specified with unitsTom Gundersen
This also changes the names to MTUBytes and BitsPerSecond, respectively. Notice that the speed was mistakenly documented to be in bytes before this change.
2014-02-21net-util: match on the driver as exposed by ethtool if DRIVER not setTom Gundersen
Also fix a copy-paste error that broke matching on interface name.
2014-02-21net: initialize structs when declaringTom Gundersen
2014-02-21net: initialize structs when declaring them/do not clobber caller variablesLennart Poettering
Just two minor style fixes...
2014-02-21udev - link-setup - expose ID_NET_DRIVERTom Gundersen
This is the same as shown by 'ethtool -i <ifname>', and is sometimes set even though DRIVER is not.
2014-02-21.network/.netdev/.link: allow to match on architectureTom Gundersen
2014-02-20network/link: Match - filter on kernel cmdline, host and virtTom Gundersen
2014-02-20macro: introduce a nice macro for disabling -Wformat-nonliteral temporarilyLennart Poettering
2014-02-20api: in constructor function calls, always put the returned object pointer ↵Lennart Poettering
first (or second) Previously the returned object of constructor functions where sometimes returned as last, sometimes as first and sometimes as second parameter. Let's clean this up a bit. Here are the new rules: 1. The object the new object is derived from is put first, if there is any 2. The object we are creating will be returned in the next arguments 3. This is followed by any additional arguments Rationale: For functions that operate on an object we always put that object first. Constructors should probably not be too different in this regard. Also, if the additional parameters might want to use varargs which suggests to put them last. Note that this new scheme only applies to constructor functions, not to all other functions. We do give a lot of freedom for those. Note that this commit only changes the order of the new functions we added, for old ones we accept the wrong order and leave it like that.
2014-02-19udev: net-config - allow interface names to be set from the hwdbTom Gundersen
2014-02-19udev: make sure we always return a valid error code in trie_store()Lennart Poettering
2014-02-19make gcc shut upLennart Poettering
If -flto is used then gcc will generate a lot more warnings than before, among them a number of use-without-initialization warnings. Most of them without are false positives, but let's make them go away, because it doesn't really matter.
2014-02-18net-match: fix Driver= matchTom Gundersen
It should match on the driver of the parent device.
2014-02-17Remove unused variable and two function stubsZbigniew Jędrzejewski-Szmek
2014-02-17doc: update punctuationJan Engelhardt
Resolve spotted issues related to missing or extraneous commas, dashes.
2014-02-13everywhere: always use O_CLOEXEC where it makes senseLennart Poettering
2014-02-13everywhere: make use of new0() and macro() macros, and stop using perror()Lennart Poettering
2014-02-13rtnl: drop "sd_" prefix from cleanup macrosLennart Poettering
The "sd_" prefix is supposed to be used on exported symbols only, and not in the middle of names. Let's drop it from the cleanup macros hence, to make things simpler. The bus cleanup macros don't carry the "sd_" either, so this brings the APIs a bit nearer.
2014-02-05Update some message formatsZbigniew Jędrzejewski-Szmek
Use PID_FMT/USEC_FMT/... in more places. Also update logind error messages to print the full path to a file that failed. This should make debugging easier for people who do not know off the top of their head where logind stores it state.
2014-01-31use memzero(foo, length); for all memset(foo, 0, length); callsGreg KH
In trying to track down a stupid linker bug, I noticed a bunch of memset() calls that should be using memzero() to make it more "obvious" that the options are correct (i.e. 0 is not the length, but the data to set). So fix up all current calls to memset(foo, 0, length) to memzero(foo, length).
2014-01-22udev: static_node - do not exit rule after first static_node itemKay Sievers
The nodes usually do not exist, so handle the next item instead of skipping the entire rule.
2014-01-11udev/net_id: Introduce predictable network names for Linux on System zHendrik Brueckner
Use the bus-ID to create predicatable devices names for network interfaces on Linux on System z instances. The bus-ID identifies a device in the s390 channel subsystem. Network interfaces of device type Ethernet are named as: enccw0.0.1234 (13 characters) up to enccwff.7.ffff (14 characters) CTC network devices of device type SLIP, use a different prefix as follows: slccw0.0.1234 (13 characters) See also Red Hat Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=870859 [tomegun: typical problem of netdevs switching names between reboots.]
2014-01-08No need to canonicalize fixed pathsZbigniew Jędrzejewski-Szmek
2014-01-04udev: net_id - handle virtio busesTom Gundersen
This was already supported in path_id, so should be uncontroversial.
2013-12-29udev: LOG_PRIORITY -> LOG_LEVELKay Sievers
2013-12-26systemctl: allow globbing in commands which take multiple unit namesZbigniew Jędrzejewski-Szmek
2013-12-24log: log_error() and friends add a newline after each line anyway, so avoid ↵Lennart Poettering
including it in the log strings
2013-12-24util: unify SO_PEERCRED/SO_PEERSEC invocationsLennart Poettering
Introduce new call getpeercred() which internally just uses SO_PEERCRED but checks if the returned data is actually useful due to namespace quirks.
2013-12-22shared: switch our hash table implementation over to SipHashLennart Poettering
SipHash appears to be the new gold standard for hashing smaller strings for hashtables these days, so let's make use of it.
2013-12-18udevadm: modernizationZbigniew Jędrzejewski-Szmek
2013-12-18udevadm,scsi_id: add short options to help strings and to the man pageZbigniew Jędrzejewski-Szmek
Also clean things up a bit here and there.
2013-12-18scsi_id: cleanupZbigniew Jędrzejewski-Szmek
Remove -i option which would case exit(1) to happen. Remove some unused code. Convert to bool where appropriate. Simplify things a bit. Always free everything. https://bugzilla.redhat.com/show_bug.cgi?id=1043304
2013-12-17_noreturn_ --> noreturn for C11 compatShawn Landden
also define noreturn w/o <stdnoreturn.h>
2013-12-17udev link-config: add asserts to silence scan-buildThomas Hindoe Paaboel Andersen
2013-12-15Fix a few signed/unsigned format string issuesZbigniew Jędrzejewski-Szmek
Since numbers involved are all small, behaviour was correct already. https://bugzilla.redhat.com/show_bug.cgi?id=1043304
2013-12-15Fix a few resource leaks in error pathsZbigniew Jędrzejewski-Szmek
https://bugzilla.redhat.com/show_bug.cgi?id=1043304
2013-12-14udev-builtin-path: fix printf specifiersZbigniew Jędrzejewski-Szmek
2013-12-14Add more _printf_'s for format-nonliteralsThomas Hindoe Paaboel Andersen
Clang is a bit more strict wrt format-nonliterals: http://clang.llvm.org/docs/LanguageExtensions.html#format-string-checking Adding these extra printf attributes also makes gcc able to find more problems. E.g. this patch uncovers a format issue in udev-builtin-path_id.c Some parts looked intetional about breaking the format-nonliteral check. I added some supression for warnings there.
2013-12-03trivial coding style clean upsThomas Hindoe Paaboel Andersen
- Add space between if/for and the opening parentheses - Place the opening brace on same line as the function (not for udev) From the CODING_STYLE Try to use this: void foo() { } instead of this: void foo() { }