1
1
mirror of https://github.com/systemd/systemd-stable.git synced 2024-12-24 21:34:08 +03:00
Commit Graph

20962 Commits

Author SHA1 Message Date
Gianpaolo Macario
caa4339784 bootchart: Account CPU time spent in non-main threads of processes (v5)
Fix for issue https://github.com/systemd/systemd/issues/139

- Implement fixes suggested by @teg to -v2
- Implement fixes suggested by @zonque to -v3 and -v4
2015-06-25 13:39:41 +00:00
Kay Sievers
9ebdb1e057 Merge pull request #363 from zonque/proxy
bus-proxy: ignore 'log' attributes in XML policy
2015-06-25 14:36:59 +02:00
Daniel Mack
b9191d7a52 bus-proxy: ignore 'log' attributes in XML policy
'log' is unsupported but nothing to warn about. Ignore it just like we
ignore 'eavesdrop'.
2015-06-25 13:13:17 +02:00
Tom Gundersen
3dfc034b4d Merge pull request #355 from dvdhrm/netlink
sd-netlink cleanups
2015-06-25 13:02:53 +02:00
Lennart Poettering
9124468a5e Merge pull request #335 from aroig/gh/fix_check_unneeded
core: fix reversed dependency check in unit_check_unneeded
2015-06-24 08:52:21 -04:00
Lennart Poettering
4cd51a7fe5 Merge pull request #347 from poettering/check-api-docs
build-sys: make sure check-api-docs sees each symbol just once
2015-06-24 08:40:09 -04:00
David Herrmann
dd906398dd sd-netlink: don't export internal type-system details
The kernel bonding layer allows passing an array of ARP IP targets as
bond-configuration. Due to the weird implementation of arrays in netlink
(which we haven't figure out a generic way to support, yet), we usually
hard-code the supported array-sizes. However, this should not be exported
from sd-netlink.

Instead, make sure the caller just uses it's current hack of enumerating
the types, and the sd-netlink core will have it's own list of supported
array-sizes (to be removed in future extensions, btw!). If either does not
match, we will just return a normal error.

Note that we provide 2 constants for ARP_IP_TARGETS_MAX now. However, both
have very different reasons:
 - the constant in netdev-bond.c is used to warn the user that the given
   number of targets might not be supported by the kernel (even though the
   kernel might increase that number at _any_ time)
 - the constant in sd-netlink is solely used due to us missing a proper
   array implementation. Once that's supported in the type-system, it can
   be removed without notice

Last but not least, this patch turns the log_error() into a log_warning().
Given that the previous condition was off-by-one, anyway, it never hit at
the right time. Thus, it was probably of no real use.
2015-06-24 13:46:15 +02:00
David Herrmann
846a6b3d89 sd-netlink: don't treat NULL as root type-system
Explicitly export the root type-system to the type-system callers. This
avoids treating NULL as root, which for one really looks backwards (NULL
is usually a leaf, not root), and secondly prevents us from properly
debugging calling into non-nested types.

Also rename the root to "type_system_root". Once we support more than
rtnl, well will have to revisit that, anyway.
2015-06-24 13:46:11 +02:00
David Herrmann
e7de105cf6 sd-netlink: don't treat type_system->count==0 as invalid
Empty type-systems are just fine. Avoid the nasty hack in
union-type-systems that treat empty type-systems as invalid. Instead check
for the actual types-array and make sure it's non-NULL (which is even true
for empty type-systems, due to "empty_types" array).
2015-06-24 13:45:56 +02:00
David Herrmann
12b7dff45b sd-netlink: make sure the root-level type is nested
In sd-netlink-message, we always guarantee that the currently selected
type-system is non-NULL. Otherwise, we would be unable to parse any types
in the current container level. Hence, this assertion must be true:
    message->container_type_system[m->n_containers] != NULL

During message_new() we currently do not verify that this assertion is
true. Instead, we blindly access nl_type->type_system and use it (which
might be NULL for basic types and unions). Fix this, by explicitly
checking that the root-level type is nested.

Note that this is *not* a strict requirement of netlink, but it's a strict
requirement for all message types we currently support. Furthermore, all
the callers of message_new() already verify that only supported types are
passed, therefore, this is a pure cosmetic check. However, it might be
needed on the future, so make sure we don't trap into this once we change
the type-system.
2015-06-24 13:45:56 +02:00
David Herrmann
979e7eb9cc sd-netlink: drop NETLINK_TYPE_META
The NETLINK_TYPE_META pseudo-type is actually equivalent to an empty
nested type. Drop it and define an empty type-system instead.

This also has the nice side-effect that m->container_type_system[0] is
never NULL (which has really nasty side-effects if you try to read
attributes).
2015-06-24 13:45:56 +02:00
David Herrmann
c1df8dee28 sd-netlink: turn 'max' into 'count' to support empty type-systems
Right now we store the maximum type-ID of a type-system. This prevents us
from creating empty type-systems. Store the "count" instead, which should
be treated as max+1.

Note that type_system_union_protocol_get_type_system() currently has a
nasty hack to treat empty type-systems as invalid. This might need some
modification later on as well.
2015-06-24 13:45:47 +02:00
David Herrmann
6c14ad61db sd-netlink: avoid casting size_t into int
size_t is usually 64bit and int 32bit on a 64bit machine. This probably
does not matter for netlink message sizes, but nevertheless, avoid
hard-coding it anywhere.
2015-06-24 13:45:47 +02:00
David Herrmann
435bbb0233 sd-netlink: make NLTypeSystem internal
Same as NLType, move NLTypeSystem into netlink-types.c and hide it from
the outside. Provide an accessor function for the 'max' field that is used
to allocate suitable array sizes.

Note that this will probably be removed later on, anyway. Once we support
bigger type-systems, it just seems impractical to allocate such big arrays
for each container entry. An RBTree would probably do just fine.
2015-06-24 13:45:47 +02:00
David Herrmann
817d1cd824 sd-netlink: make NLType internal
If we extend NLType to support arrays and further extended types, we
really want to avoid hard-coding the type-layout outside of
netlink-types.c. We already avoid accessing nl_type->type_system outside
of netlink-types.c, extend this to also avoid accessing any other fields.

Provide accessor functions for nl_type->type and nl_type->size and then
move NLType away from the type-system header.

With this in place, follow-up patches can safely turn "type_system" and
"type_system_union" into a real "union { }", and then add another type for
arrays.
2015-06-24 13:45:47 +02:00
David Herrmann
c658008f50 sd-netlink: don't access type->type_system[_union] directly
Make sure we never access type->type_system or type->type_system_union
directly. This is an implementation detail of the type-system and we
should always use the accessors. Right now, they only exist for 2-level
accesses (type-system to type-system). This patch introduces the 1-level
accessors (type to type-system) and makes use of it.

This patch makes sure the proper assertions are in place, so we never
accidentally access sub-type-systems for non-nested/union types.

Note that this places hard-asserts on the accessors. This should be fine,
as we expect callers to only access sub type-systems if they *know*
they're dealing with nested types.
2015-06-24 13:45:47 +02:00
David Herrmann
cafbc790d1 sd-netlink: rename NLA_ to NETLINK_TYPE_
The NLA_ names are used to name real datatypes we extract out of netlink
messages. The kernel has an internal enum with the same names
(NLA_foobar), which is *NOT* binary compatible to our types. Furthermore,
we support a different set of types than the kernel (as we try to treat
some kernel peculiarities as our own types to simplify the API).

Rename NLA_ to NETLINK_TYPE_ to make clear that this is our own set of
types.
2015-06-24 13:45:47 +02:00
Daniel Mack
54af0c65f7 Merge pull request #346 from poettering/install-bad-memory
install: fix minor bad memory access
2015-06-24 10:09:43 +02:00
Kay Sievers
482db06ff8 Merge pull request #349 from systemd-mailing-devs/1435103298-2439-1-git-send-email-jengelh@inai.de
ata_id: unbotch format specifier
2015-06-24 02:27:30 +02:00
Jan Engelhardt
ec62e85873 ata_id: unbotch format specifier
Commit v218-247-g11c6f69 broke the output of the utility. "%1$" PRIu64
"x" expands to "%1$lux", essentially "%lux", which shows the problem.
u and x cannot be combined, u wins as the type character, and x gets
emitted verbatim to stdout.

References: https://bugzilla.redhat.com/show_bug.cgi?id=1227503
2015-06-24 02:02:05 +02:00
Lennart Poettering
25d40bf57c install: fix bad memory access 2015-06-23 19:16:18 -04:00
Lennart Poettering
b7b85f227c build-sys: make sure check-api-docs sees each symbol just once
Given that some symbols are exposed by multiple libraries (due to the
compatibility libraries), let's ensure "make check-api-docs" only shows
each symbol once by filtering out duplicates.
2015-06-23 19:13:07 -04:00
Daniel Mack
0891c5ed0b Merge pull request #339 from teg/udev-coverity
coverity fixes in udev
2015-06-24 00:12:28 +02:00
Kay Sievers
3f9340a685 Merge pull request #338 from xnox/fix-copy-bytes
test: fix test-copy without /etc/os-release.
2015-06-23 17:34:24 +02:00
Dimitri John Ledkov
4f36d4004c test: fix test-copy without /etc/os-release. 2015-06-23 16:22:40 +01:00
Tom Gundersen
56b13bcc99 udevadm: trigger - check return values
Fixes CID#1296243.
2015-06-23 17:20:12 +02:00
Tom Gundersen
b6aab8ef9c udev: worker - check return value of udev_monitor_enable_receiving()
Fixes CID#1297430.
2015-06-23 17:20:12 +02:00
Tom Gundersen
f6e0a35376 udev: event - check return code of dup2()
This fixes CID#1304688.
2015-06-23 17:20:12 +02:00
Tom Gundersen
e448a1c3a3 udev: bulitin-hwdb - fix memory leak
This fixes CID#1292782.
2015-06-23 17:20:12 +02:00
Daniel Mack
63ea609849 Merge pull request #332 from xnox/bootchart-scales
bootchart: fix per-cpu & small scales.
2015-06-23 16:37:19 +02:00
Dimitri John Ledkov
75034e5836 bootchart: fix per-cpu scales.
Closes systemd/systemd#330
2015-06-23 15:25:17 +01:00
Abdo Roig-Maranges
084918ba41 core: fix reversed dependency check in unit_check_unneeded
This was introduced by commit be7d9ff730 and breaks
StopWhenUnneeded=true in the presence of a Requisite dependency.
2015-06-23 14:13:13 +02:00
Kay Sievers
82627069e9 README: mention "git archive" 2015-06-23 13:41:15 +02:00
Daniel Mack
f3941a6f33 Merge pull request #318 from walyong/smack_v02
SMACK v02: support modify rules and add default executed process label
2015-06-23 13:26:23 +02:00
Daniel Mack
9261d42e6d Merge pull request #328 from kaysievers/nodist
build-sys: add all source files and no built files to the tar ball
2015-06-23 13:04:52 +02:00
Kay Sievers
2c8849add4 build-sys: add all source files and no built files to the tar ball
This fully synchronizes the content of a "make dist" and a "git archive"
tar ball.

  http://lists.freedesktop.org/archives/systemd-devel/2015-June/033214.html
2015-06-23 12:43:15 +02:00
Michael Biebl
e6de49abfd man: install networkctl and sysusers.d man page conditionally 2015-06-23 10:40:29 +02:00
Daniel Mack
7a01b920d0 Merge pull request #324 from llua/zsh-completion
zsh-completion: _loginctl/_systemd/_systemd-inhibit improvements
2015-06-23 10:01:42 +02:00
Daniel Mack
53bf09836d Merge pull request #326 from whot/hwdb-updates
Hwdb updates
2015-06-23 10:00:42 +02:00
Peter Hutterer
1cbcfd3ee0 hwdb: move a couple of entries to expected sort order 2015-06-23 15:52:03 +10:00
Peter Hutterer
3fc1b05f53 hwdb: add Logitech MX Revolution 2015-06-23 15:50:09 +10:00
Kay Sievers
d30449bd76 build-sys: let "make git-tar" archive HEAD 2015-06-23 00:49:34 +02:00
Eric Cook
fb9d85b71a zsh-completion: _loginctl/_systemd/_systemd-inhibit improvements
_loginctl: respects the verbose style. which allows a user to get
the pre d5df0d950f behavior of not showing a description for sessions
and users, by default they aren't shown.

zstyle ':completion:*' verbose true
or
zstyle ':completion:*:loginctl*:*' verbose true # or similar
Will show the descriptions.

zstyle ':completion:*' verbose true
and
zstyle ':completion:*:loginctl*:*' verbose false # or similar
Won't show descriptions for loginctl only

_systemd: complete pids for systemd-notify's --pid option.
display a message of the expected argument for other options.

_systemd-inhibit: complete block & delay for --mode
display a message of the expected argument for --who/--why
2015-06-22 18:07:32 -04:00
Kay Sievers
5aaf87682e build-sys: remove $(NULL) 2015-06-22 23:27:08 +02:00
Kay Sievers
6f58d70e31 build-sys: add custom "make git-tar" target 2015-06-22 23:08:55 +02:00
Lennart Poettering
78a68c3454 Merge pull request #314 from geertj/missing-exports
export sd_bus_object_added() / _removed()
2015-06-22 22:47:42 +02:00
Lennart Poettering
f582dbaa14 Merge pull request #319 from teg/udev-cgroup-warning
udevd: suppress warning if we don't find cgroup
2015-06-22 22:32:26 +02:00
Kay Sievers
d806a1df5b Merge pull request #322 from kaysievers/wip
man: remove outdated links and stray character
2015-06-22 20:22:57 +02:00
Kay Sievers
1f35347af0 man: remove stray · from header 2015-06-22 19:54:52 +02:00
Kay Sievers
b8332e7abb man: remove links to outdated kdbus development repository 2015-06-22 19:54:09 +02:00