[systemd-commits] 3 commits - man/bootup.xml src/shared

Zbigniew Jędrzejewski-Szmek zbyszek at kemper.freedesktop.org
Wed Feb 4 07:33:21 PST 2015


 man/bootup.xml          |  235 +++++++++++++++++++++++-------------------------
 src/shared/capability.c |    8 -
 src/shared/util.h       |   10 --
 3 files changed, 121 insertions(+), 132 deletions(-)

New commits:
commit 2c9fc26670ef85a14d16a72bc16e7368f76c28f4
Author: Zbigniew Jędrzejewski-Szmek <zbyszek at in.waw.pl>
Date:   Wed Feb 4 10:24:02 2015 -0500

    shared/capabilities: simplify assertions about bits
    
    The assert added in 7d328b5446 was wrong. Also update the comments
    and make sure we don't try to shift by type size.

diff --git a/src/shared/capability.c b/src/shared/capability.c
index 57f392a..915ceb9 100644
--- a/src/shared/capability.c
+++ b/src/shared/capability.c
@@ -275,10 +275,10 @@ int drop_privileges(uid_t uid, gid_t gid, uint64_t keep_capabilities) {
                         if (keep_capabilities & (1ULL << i))
                                 bits[j++] = i;
 
-                /* don't keep too many bits */
-                assert((keep_capabilities & (~1ULL << i)) == 0);
-                /* don't throw away too many bits */
-                assert(((keep_capabilities >> i) & (~1ULL >> i)) == 0);
+                /* use enough bits */
+                assert(i == 64 || (keep_capabilities >> i) == 0);
+                /* don't use too many bits */
+                assert(keep_capabilities & (1ULL << (i - 1)));
 
                 if (cap_set_flag(d, CAP_EFFECTIVE, j, bits, CAP_SET) < 0 ||
                     cap_set_flag(d, CAP_PERMITTED, j, bits, CAP_SET) < 0) {

commit 6295ba8c3d448d993d750c0cc0da44cca77480e7
Author: Zbigniew Jędrzejewski-Szmek <zbyszek at in.waw.pl>
Date:   Wed Feb 4 09:39:36 2015 -0500

    shared/util: drop duplicate log2u64 function

diff --git a/src/shared/util.h b/src/shared/util.h
index 7dfabbc..b56ffbd 100644
--- a/src/shared/util.h
+++ b/src/shared/util.h
@@ -872,16 +872,6 @@ static inline unsigned log2u(unsigned x) {
         return sizeof(unsigned) * 8 - __builtin_clz(x) - 1;
 }
 
-static inline unsigned log2u64(uint64_t x) {
-        assert(x > 0);
-
-#if __SIZEOF_LONG_LONG__ == 8
-        return 64 - __builtin_clzll(x) - 1;
-#else
-#error "Wut?"
-#endif
-}
-
 static inline unsigned log2u_round_up(unsigned x) {
         assert(x > 0);
 

commit 72b7d998059869942da8d540b7fe2c341225f91e
Author: Zbigniew Jędrzejewski-Szmek <zbyszek at in.waw.pl>
Date:   Wed Feb 4 09:35:37 2015 -0500

    man: fix diagrams in bootup(7)
    
    Fallout from 798d3a524e.

diff --git a/man/bootup.xml b/man/bootup.xml
index b5c3e15..d97d550 100644
--- a/man/bootup.xml
+++ b/man/bootup.xml
@@ -111,56 +111,56 @@
     the bottom of the chart.</para>
 
 <programlisting>local-fs-pre.target
-   |
-   v
+         |
+         v
 (various mounts and   (various swap   (various cryptsetup
- fsck services...)     devices...)  devices...)       (various low-level   (various low-level
-   |      |      |       services: udevd,     API VFS mounts:
-   v      v      v       tmpfiles, random     mqueue, configfs,
+ fsck services...)     devices...)        devices...)       (various low-level   (various low-level
+         |                  |                  |             services: udevd,     API VFS mounts:
+         v                  v                  v             tmpfiles, random     mqueue, configfs,
   local-fs.target      swap.target     cryptsetup.target    seed, sysctl, ...)      debugfs, ...)
-   |      |      |        |        |
-   \__________________|_________________ | ___________________|____________________/
-                \|/
-                 v
-          sysinit.target
-                 |
-    ____________________________________/|\________________________________________
-   /      |      |        |        \
-   |      |      |        |        |
-   v      v      |        v        v
-     (various     (various         |    (various    rescue.service
-    timers...)    paths...)        |         sockets...)         |
-   |      |      |        |        v
-   v      v      |        v        <emphasis>rescue.target</emphasis>
-   timers.target      paths.target       |       sockets.target
-   |      |      |        |
-   v      |_________________ | ___________________/
-                \|/
-                 v
-           basic.target
-                 |
-    ____________________________________/|         emergency.service
-   /      |      |           |
-   |      |      |           v
-   v      v      v         <emphasis>emergency.target</emphasis>
-     display-  (various system    (various system
- manager.service   services     services)
-   |       required for      |
-   |      graphical UIs)     v
-   |      |     <emphasis>multi-user.target</emphasis>
-   |      |      |
-   \_________________ | _________________/
-         \|/
-          v
-      <emphasis>graphical.target</emphasis></programlisting>
+         |                  |                  |                    |                    |
+         \__________________|_________________ | ___________________|____________________/
+                                              \|/
+                                               v
+                                        sysinit.target
+                                               |
+          ____________________________________/|\________________________________________
+         /                  |                  |                    |                    \
+         |                  |                  |                    |                    |
+         v                  v                  |                    v                    v
+     (various           (various               |                (various          rescue.service
+    timers...)          paths...)              |               sockets...)               |
+         |                  |                  |                    |                    v
+         v                  v                  |                    v              <emphasis>rescue.target</emphasis>
+   timers.target      paths.target             |             sockets.target
+         |                  |                  |                    |
+         v                  |_________________ | ___________________/
+                                              \|/
+                                               v
+                                         basic.target
+                                               |
+          ____________________________________/|                                 emergency.service
+         /                  |                  |                                         |
+         |                  |                  |                                         v
+         v                  v                  v                                 <emphasis>emergency.target</emphasis>
+     display-        (various system    (various system
+ manager.service         services           services)
+         |             required for            |
+         |            graphical UIs)           v
+         |                  |           <emphasis>multi-user.target</emphasis>
+         |                  |                  |
+         \_________________ | _________________/
+                           \|/
+                            v
+                  <emphasis>graphical.target</emphasis></programlisting>
 
     <para>Target units that are commonly used as boot targets are
     <emphasis>emphasized</emphasis>. These units are good choices as
     goal targets, for example by passing them to the
     <varname>systemd.unit=</varname> kernel command line option (see
     <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>)
-    or by symlinking <filename>default.target</filename> to
-    them.</para>
+    or by symlinking <filename>default.target</filename> to them.
+    </para>
 
     <para><filename>timers.target</filename> is pulled-in by
     <filename>basic.target</filename> asynchronously. This allows
@@ -197,91 +197,90 @@
     <filename>/sysroot</filename>.
     </para>
 
-<programlisting>                 : (beginning identical to above)
-                 :
-                 v
-           basic.target
-                 |         emergency.service
-      ______________________/|           |
-           /           |           v
-           |      sysroot.mount        <emphasis>emergency.target</emphasis>
-           |           |
-           |           v
-           |       initrd-root-fs.target
-           |           |
-           |           v
-           v      initrd-parse-etc.service
-    (custom initrd     |
-     services...)      v
-           |      (sysroot-usr.mount and
-           |       various mounts marked
-           |         with fstab option
-           |        x-initrd.mount...)
-           |           |
-           |           v
-           |    initrd-fs.target
-           \______________________ |
-                \|
-                 v
-            initrd.target
-                 |
-                 v
-             initrd-cleanup.service
-            isolates to
-            initrd-switch-root.target
-                 |
-                 v
-      ______________________/|
-           /           v
-           |  initrd-udevadm-cleanup-db.service
-           v           |
-    (custom initrd     |
-     services...)      |
-           \______________________ |
-                \|
-                 v
-           initrd-switch-root.target
-                 |
-                 v
-           initrd-switch-root.service
-                 |
-                 v
-             Transition to Host OS</programlisting>
+<programlisting>                                               : (beginning identical to above)
+                                               :
+                                               v
+                                         basic.target
+                                               |                                 emergency.service
+                        ______________________/|                                         |
+                       /                       |                                         v
+                       |                  sysroot.mount                          <emphasis>emergency.target</emphasis>
+                       |                       |
+                       |                       v
+                       |             initrd-root-fs.target
+                       |                       |
+                       |                       v
+                       v            initrd-parse-etc.service
+                (custom initrd                 |
+                 services...)                  v
+                       |            (sysroot-usr.mount and
+                       |             various mounts marked
+                       |               with fstab option
+                       |              x-initrd.mount...)
+                       |                       |
+                       |                       v
+                       |                initrd-fs.target
+                       \______________________ |
+                                              \|
+                                               v
+                                          initrd.target
+                                               |
+                                               v
+                                     initrd-cleanup.service
+                                          isolates to
+                                    initrd-switch-root.target
+                                               |
+                                               v
+                        ______________________/|
+                       /                       v
+                       |        initrd-udevadm-cleanup-db.service
+                       v                       |
+                (custom initrd                 |
+                 services...)                  |
+                       \______________________ |
+                                              \|
+                                               v
+                                   initrd-switch-root.target
+                                               |
+                                               v
+                                   initrd-switch-root.service
+                                               |
+                                               v
+                                     Transition to Host OS</programlisting>
   </refsect1>
 
-
   <refsect1>
     <title>System Manager Shutdown</title>
 
     <para>System shutdown with systemd also consists of various target
     units with some minimal ordering structure applied:</para>
 
-<programlisting>          (conflicts with  (conflicts with
-            all system     all file system
-             services)     mounts, swaps,
-           |     cryptsetup
-           |    devices, ...)
-           |    |
-           v    v
-          shutdown.target    umount.target
-           |    |
-           \_______   ______/
-             \ /
-              v
-           (various low-level
-                services)
-              |
-              v
-              final.target
-              |
-      _____________________________________/ \_________________________________
-     /       |      |          \
-     |       |      |          |
-     v       v      v          v
+<programlisting>                                  (conflicts with  (conflicts with
+                                    all system     all file system
+                                     services)     mounts, swaps,
+                                         |           cryptsetup
+                                         |          devices, ...)
+                                         |                |
+                                         v                v
+                                  shutdown.target    umount.target
+                                         |                |
+                                         \_______   ______/
+                                                 \ /
+                                                  v
+                                         (various low-level
+                                              services)
+                                                  |
+                                                  v
+                                            final.target
+                                                  |
+            _____________________________________/ \_________________________________
+           /                         |                        |                      \
+           |                         |                        |                      |
+           v                         v                        v                      v
 systemd-reboot.service   systemd-poweroff.service   systemd-halt.service   systemd-kexec.service
-     |       |      |          |
-     v       v      v          v
-    <emphasis>reboot.target</emphasis>       <emphasis>poweroff.target</emphasis>      <emphasis>halt.target</emphasis>     <emphasis>kexec.target</emphasis></programlisting>
+           |                         |                        |                      |
+           v                         v                        v                      v
+    <emphasis>reboot.target</emphasis>             <emphasis>poweroff.target</emphasis>            <emphasis>halt.target</emphasis>           <emphasis>kexec.target</emphasis></programlisting>
 
     <para>Commonly used system shutdown targets are
     <emphasis>emphasized</emphasis>.</para>



More information about the systemd-commits mailing list