[systemd-devel] bus driver on kdbus

2014-04-14 Thread Lennart Poettering
Lukas, Ryan,

just wanted to let you know that I am working to get rid of the bus
driverd in systemd after all, for kdbus. The reason is that leaving it
in, as it is now, is very racy, and not just theorectically, but
IRL. Ryan, you might remember the mouse cursor bug when running gnome
on kdbus, we showed you two weeks ago in Nuremberg, this was caused by a
race between AddMatch being processed by the driver and a subsequent
method call to another service. Quite possibly, if the driver is
otherwise busy the method call might get executed earlier, possibly
triggering a signal, which is then not subject to the match that was to
be created. This bug only showed on gdbus since only there AddMatch is
called asychronously.

Anyway, I fixed this now by making the requirement that driver calls are
executed in order on the sender side (ie. the client translates driver
bus calls into ioctls). This means the bus proxy will execute them when
a legacy dbus1 client is connected, but it is expected that a native
kdbus client will process them locally instead of ever letting them onto
the bus. Lukas, this effectively means that your initial gdbus patch was
the right way to go after all, and my request to let the driverd be in
charge was quite mislead. Sorry!

I will now remove the entirety of the driver daemon, not just
AddMatch/RemoveMatch as all but two of those calls are subject to
similar (theoretical...) races.

Ryan, I know that you really don't like having to translate the bus
driver calls on the client side, but I don't see any other way that
fixes the race and was somewhat clean to me.

Note that in our new sd-bus.h API we won't do any translations for
this. We simply expect people to invoke our high-level C APIs rather
than construct bus calls for the driver interfaces. We can do this,
since we our C library interface is entirely new anyway. This means that
the bus driver interface is thus kinda bound to using the AF_UNIX
transport. And where the kdbus transports is used ioctls are the way to
go.

A nice side effect of this change is actually that things are a bit
faster for legacy dbus1 clients. The bus driver service so far was the
one service on the system so far got the most traffic during
startup. With this change we can entirely eliminate this.

Lennart

-- 
Lennart Poettering, Red Hat
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


Re: [systemd-devel] systemd-networkd bridge with DHCP *NOT*working

2014-04-14 Thread Tom Gundersen
On Mon, Apr 14, 2014 at 1:17 AM, Henrik /KaarPoSoft
hen...@kaarposoft.dk wrote:
 On 04/14/2014 12:34 AM, Tom Gundersen wrote:

 On Mon, Apr 14, 2014 at 12:12 AM, Henrik /KaarPoSoft
 hen...@kaarposoft.dk wrote:

 On 03/22/2014 10:41 AM, Tom Gundersen wrote:


 On Sat, Mar 22, 2014 at 5:06 AM, poma pomidorabelis...@gmail.com
 wrote:



 systemd-networkd bridge dhcp OK
 https://bugzilla.redhat.com/attachment.cgi?id=877526



 Thanks for reporting back.

 Cheers,

 Tom



 Dear all,

 I started this thread about a month ago,
 having some trouble with DHCP on a bridge.

 Tom Gundersen worked his magic, and on
 Fri Mar 21 21:53:15 2014
 I reported that everything worked fine out of
 the (then) current git.
 Sorry, but I did not note the exact commit sha )-:

 I have been using this git version since then without problems.

 Now I have upgraded to 212,
 and systemd-networkd bridge with DHCP is *NOT* working for me.

 See attached config and log.

 Any help and hints would be most appreciated.


 I'm pretty sure this problem was caused by d39ed and fixed by 20861.

 If the problem persists in current git (should not, but I have had a
 hard time reproducing this, so even though my tests pass it may),
 could you paste the same logs with an up-to-date checkout? (You can
 recompile and just pick out the systemd-networkd binary, shouldn't
 need to upgrade all of systemd if you don't want to).

 Thanks for reporting and sorry for the inconvenience.

 Cheers,

 Tom


 git a163b64c4b08e8a4ad39a9a295acf3d1634024a3
 works like a charm, thank you!
 log attached


Great. Thanks!

Cheers,

Tom
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


Re: [systemd-devel] bus driver on kdbus

2014-04-14 Thread Lukasz Skalski

On 04/14/2014 08:39 AM, Lennart Poettering wrote:

Lukas, Ryan,



Hi Lennart, Ryan


just wanted to let you know that I am working to get rid of the bus
driverd in systemd after all, for kdbus. The reason is that leaving it
in, as it is now, is very racy, and not just theorectically, but
IRL. Ryan, you might remember the mouse cursor bug when running gnome
on kdbus, we showed you two weeks ago in Nuremberg, this was caused by a
race between AddMatch being processed by the driver and a subsequent
method call to another service. Quite possibly, if the driver is
otherwise busy the method call might get executed earlier, possibly
triggering a signal, which is then not subject to the match that was to
be created. This bug only showed on gdbus since only there AddMatch is
called asychronously.



Yes, you're right, I also noticed that something is wrong with AddMatch.


Anyway, I fixed this now by making the requirement that driver calls are
executed in order on the sender side (ie. the client translates driver
bus calls into ioctls). This means the bus proxy will execute them when
a legacy dbus1 client is connected, but it is expected that a native
kdbus client will process them locally instead of ever letting them onto
the bus. Lukas, this effectively means that your initial gdbus patch was
the right way to go after all, and my request to let the driverd be in
charge was quite mislead. Sorry!


Ok, so I'll prepare and upload [1] new version of my patchset for gdbus
(with translating all bus calls into ioctls directly in library), as
soon as it's possible.



I will now remove the entirety of the driver daemon, not just
AddMatch/RemoveMatch as all but two of those calls are subject to
similar (theoretical...) races.

Ryan, I know that you really don't like having to translate the bus
driver calls on the client side, but I don't see any other way that
fixes the race and was somewhat clean to me.



Ryan, what do you think about it?


Note that in our new sd-bus.h API we won't do any translations for
this. We simply expect people to invoke our high-level C APIs rather
than construct bus calls for the driver interfaces. We can do this,
since we our C library interface is entirely new anyway. This means that
the bus driver interface is thus kinda bound to using the AF_UNIX
transport. And where the kdbus transports is used ioctls are the way to
go.

A nice side effect of this change is actually that things are a bit
faster for legacy dbus1 clients. The bus driver service so far was the
one service on the system so far got the most traffic during
startup. With this change we can entirely eliminate this.

Lennart



[1] https://bugzilla.gnome.org/show_bug.cgi?id=721861

Thanks,
--
Lukasz Skalski
Samsung RD Institute Poland
Samsung Electronics
l.skal...@samsung.com
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


Re: [systemd-devel] [PATCH 1/2] networkd: ipip tunell add address support

2014-04-14 Thread Jóhann B. Guðmundsson


On 04/14/2014 04:06 AM, Susant Sahani wrote:

This patch extends supports to configure address
for ipip tunnel patch.

File: ipip.network
[Match]
Name=em1

[Network]
Tunnel=ipip-tun
Address=192.168.10.24


You might want to skip tun from ipip-tun to match modes directly
( ip tu ad ipiptun mode ipip -- local foo remote bar ttl 64  dev em1 )

or atleast remove the - so it matches the ip commands which uses 
ipiptun, gretun and sittun

( ip tu ad ipiptun -- mode ipip local foo remote bar ttl 64  dev em1 )

JBG
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


Re: [systemd-devel] [PATCH 1/2] networkd: ipip tunell add address support

2014-04-14 Thread Susant Sahani

On 04/14/2014 03:50 PM, Jóhann B. Guðmundsson wrote:


On 04/14/2014 04:06 AM, Susant Sahani wrote:

This patch extends supports to configure address
for ipip tunnel patch.

File: ipip.network
[Match]
Name=em1

[Network]
Tunnel=ipip-tun
Address=192.168.10.24


You might want to skip tun from ipip-tun to match modes directly
( ip tu ad ipiptun mode ipip -- local foo remote bar ttl 64 dev em1 )

or atleast remove the - so it matches the ip commands which uses 
ipiptun, gretun and sittun

( ip tu ad ipiptun -- mode ipip local foo remote bar ttl 64 dev em1 )


It's a name not tunnel type. Tunnel type configured in .netdev . you can 
put anything here . Should match the .netdev Name='XYZ'


The Kind is mode which you can replace with ipip/sit/gre .

file: ipip.netdev
--
[NetDev]
Name=ipip-tun===Name
Kind=ipip == tunnel type




JBG


Thanks,
Susant

___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


Re: [systemd-devel] [PATCH v2] fsck: Search for fsck.type in PATH

2014-04-14 Thread Colin Guthrie
'Twas brillig, and Mike Gilbert at 12/04/14 20:54 did gyre and gimble:
 On Sat, Apr 12, 2014 at 3:10 PM, Mike Gilbert flop...@gentoo.org wrote:
 On Sat, Apr 12, 2014 at 1:40 PM, Zbigniew Jędrzejewski-Szmek
 zbys...@in.waw.pl wrote:
 +static void test_fsck_exists(void) {
 +/* Ensure we use a sane default for PATH. */
 +unsetenv(PATH);
 +
 +/* fsck.minix is provided by util-linux and will probably exist. 
 */
 +assert(fsck_exists(minix) == 0);
 +
 +assert(fsck_exists(AbCdE) == -ENOENT);
 +}
 assert_se().


 We are comparing integers, not strings. This matches the other integer
 comparisons in this source file.

 
 I guess I have misinterpreted what assert_se means... is that
 documented somewhere?

the _se suffix just means side effect. So if systemd were compiled
without asserts the action would still happen (whereas a normal assert()
is totally skipped).

In this case the side effect is actually calling fsck_exists().

Col


-- 

Colin Guthrie
gmane(at)colin.guthr.ie
http://colin.guthr.ie/

Day Job:
  Tribalogic Limited http://www.tribalogic.net/
Open Source:
  Mageia Contributor http://www.mageia.org/
  PulseAudio Hacker http://www.pulseaudio.org/
  Trac Hacker http://trac.edgewall.org/
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


Re: [systemd-devel] [PATCH 1/2] networkd: ipip tunell add address support

2014-04-14 Thread Jóhann B. Guðmundsson


On 04/14/2014 10:31 AM, Susant Sahani wrote:




It's a name not tunnel type. Tunnel type configured in .netdev . you 
can put anything here . Should match the .netdev Name='XYZ'


The Kind is mode which you can replace with ipip/sit/gre .

file: ipip.netdev
--
[NetDev]
Name=ipip-tun===Name
Kind=ipip == tunnel type 


I thought you had switched to correct it Kind=tunnel just like you 
define bridging, bonding and vlan there, with Tunnel= in the network 
section setting the mode of the tunnel.


I guess Tom just has to rule on this since to me how you are 
implementing things adds an additional learning curve to administrators 
both since it deviates from the command line as well as configuration 
this from /etc/net configuration perspective.


JBG
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


Re: [systemd-devel] [PATCH 1/2] networkd: ipip tunell add address support

2014-04-14 Thread Susant Sahani

On 04/14/2014 04:04 PM, Jóhann B. Guðmundsson wrote:


On 04/14/2014 10:31 AM, Susant Sahani wrote:




It's a name not tunnel type. Tunnel type configured in .netdev . you 
can put anything here . Should match the .netdev Name='XYZ'


The Kind is mode which you can replace with ipip/sit/gre .

file: ipip.netdev
--
[NetDev]
Name=ipip-tun===Name
Kind=ipip == tunnel type 


I thought you had switched to correct it Kind=tunnel just like you 
define bridging, bonding and vlan there, with Tunnel= in the network 
section setting the mode of the tunnel.



hmm . That was my original idea. You might want to check  .
I guess Tom just has to rule on this since to me how you are 
implementing things adds an additional learning curve to 
administrators both since it deviates from the command line as well as 
configuration this from /etc/net configuration perspective.

Yes :)



JBG


Susant
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


[systemd-devel] [PATCH] Add libkmod flags for test_rtnl_manual

2014-04-14 Thread Łukasz Stelmach
---
 Makefile.am | 6 +-
 1 file changed, 5 insertions(+), 1 deletion(-)

Without CFLAGS my gcc is unable to find linkmod.h. KMOD_LIBS just look
better than -lkomd for me.

diff --git a/Makefile.am b/Makefile.am
index 0ad1729..6767a76 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1402,10 +1402,14 @@ test_ipcrm_LDADD = \
 test_rtnl_manual_SOURCES = \
src/test/test-rtnl-manual.c
 
+test_rtnl_manual_CFLAGS = \
+   $(AM_CFLAGS) \
+   $(KMOD_CFLAGS)
+
 test_rtnl_manual_LDADD = \
libsystemd-internal.la \
libsystemd-shared.la \
-   -lkmod
+   $(KMOD_LIBS)
 
 test_ellipsize_SOURCES = \
src/test/test-ellipsize.c
-- 
1.9.1

___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


Re: [systemd-devel] pci.ids confusion

2014-04-14 Thread Kay Sievers
On Sun, Apr 13, 2014 at 6:58 AM, Jerome Leclanche adys...@gmail.com wrote:
 This is a followup of a chat on #systemd. The pciids-devel list is
 dead and someone recommended I post here instead.
 While browsing some debug logs, I came accross a confusing message:
 systemd[1]: Found device M4A785TD Motherboard. I was even more
 confused since I don't actually have a M4A785TD but a P7P55D-E DELUXE.
 Turns out this is one of my two ethernet adapters. Specifically, in
 hwdata/pci.ids, 1019 8168  RTL8111/8168 PCI Express Gigabit Ethernet
 controller.
 Out of curiousity I started digging in the pci.ids file (10ec  Realtek
 Semiconductor Co., Ltd. around line 9120). I'm trying to understand
 the format but it's looking like motherboards are a subsystem of their
 own ethernet adapter. This is further confirmed with lspci:

 05:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd.
 RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 03)
 Subsystem: ASUSTeK Computer Inc. M4A785TD Motherboard

 I'd love to submit a fix but this is very counter-intuitive. Can
 anyone shed some light on it?

The PCI database contains a lot of wrong, mindlessly added, and
inconsistent data; some strings just do not make much sense, and there
seems to be not much effort to correct it.

I pushed a change to show the primary string too; it is all not
pretty, but should be less confusing that what you see today:
  
http://cgit.freedesktop.org/systemd/systemd/commit/?id=d060b62fcb4746d3758c567e9379c6728a035b66

Thanks,
Kay
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


Re: [systemd-devel] [systemd-commits] Makefile.am man/udevadm.xml src/libudev src/shared src/test src/udev

2014-04-14 Thread Zbigniew Jędrzejewski-Szmek
On Sun, Apr 13, 2014 at 04:58:31PM -0700, Kay Sievers wrote:
  Makefile.am |6 
  man/udevadm.xml |   22 -
  src/libudev/libudev-monitor.c   |   17 -
  src/libudev/libudev-queue-private.c |  406 
 
  src/libudev/libudev-queue.c |  302 ++
  src/libudev/libudev.h   |   10 
  src/shared/udev-util.h  |2 
  src/test/test-libudev.c |   24 --
  src/udev/udev-ctrl.c|2 
  src/udev/udevadm-settle.c   |  131 +--
  src/udev/udevd.c|   59 ++---
  11 files changed, 84 insertions(+), 897 deletions(-)
 
 New commits:
 commit 9ea28c55a2488e6cd4a44ac5786f12b71ad5bc9f
 Author: Kay Sievers k...@vrfy.org
 Date:   Sat Apr 12 22:35:50 2014 -0700
 
 udev: remove seqnum API and all assumptions about seqnums
 
 The way the kernel namespaces have been implemented breaks assumptions
 udev made regarding uevent sequence numbers. Creating devices in a
 namespace steals uevents and its sequence numbers from the host. It
 confuses the udevadmin settle logic, which might block until util a
 timeout is reached, even when no uevent is pending.
 
 Remove any assumptions about sequence numbers and deprecate libudev's
 API exposing these numbers; none of that can reliably be used anymore
 when namespaces are involved.
Hi Kay,
maybe we should make the deprecation process a bit gentler: instead of
ripping out the functionality in one step, instead just deprecate the
functions, and allow people to use them, with the caveat that launching
a namespace and creating devices in it will break this functionality.
Then after a few releases, actually remove the functionality. Not everyone
uses namespaces, and that'd be a nod towards those poeple. Would
that be possible?

Zbyszek
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


[systemd-devel] gummiboot can't be installed on ESP which is soft RAID1 metadata=0.9 partition

2014-04-14 Thread Francis Moreau
Hello,

gummiboot install fails when ESP is MD RAID1 device using metadata 0.9
or 1.0.

I don't think using such RAID for ESP would lead to issue.

Is there any reason gummiboot doesn't want to be installed on such
partition ?

Thanks.
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


Re: [systemd-devel] bus driver on kdbus

2014-04-14 Thread Lennart Poettering
On Mon, 14.04.14 10:48, Ryan Lortie (de...@desrt.ca) wrote:

  I will now remove the entirety of the driver daemon, not just
  AddMatch/RemoveMatch as all but two of those calls are subject to
  similar (theoretical...) races.
 
 It's always been somewhat clear to me that kdbus is not a
 reimplementation of dbus, but rather something completely different. 
 The extent of this difference is starting to get to the point where it's
 distracting.

Au contraire. I am pretty sure that with handling the driver client side
makes things much simpler and closer to classic dbus1. I mean,
previously we already had this weird confusion that some of the driver
apis where handled client side (where the kernel's notifications would
be converted into NameOwnerChanged), while others where handled by
driverd.

With moving processing of these messages to the client side everythwing
becomes neatly uniform. Sending a message to the bus driver is just an
alternative way for executing an ioctl. The execution order and
semantics are then *exactly* the same on dbus1. We pretty much get as
close to dbus1 semantics in this regard as possible. The only difference
between dbus1 and kdbus here is that in dbus1 you encode your requests
in a marshalled bus messagend the other time in a simple ioctl. But the
execution is scheduled exactly and precisely the same way as on dbus1,
and that is a great boon for compatibility.

 I understand that you're walking a fine line here between the existing
 large userbase of D-Bus and the requirements of simplicity of kernel
 code, but it's starting to feel like this is D-Bus only in name -- a
 name taken as a way of adopting the current userbase.

Well, Ryan, you asked for adoption of gvariant for everything, so you
require us to remarshal for all messages. Where's the precise difference
between remarshalling payload messages to/from gvariant, and driver
messages to/from ioctl calls? Ultimately, it's the exact same thing,
whether you marshal into gvariant and call sendmsg() or whether  you
marshal into some struct and call ioctl().

If you have an issue with different marshallings, then we can certainly
drop the gvariant thing and speak only dbus1 marshalling again, but I
wasn't aware that remarshalling was something you had an issue with? ;-)

If we can intellectually separate semantics from marshalling, then the
new scheme really boils down to that the execution scheduling is simply
turned into exactly what it was in dbus1, so we get closer to D-Bus,
not further away.

  driver calls on the client side, but I don't see any other way that
  fixes the race and was somewhat clean to me.
 
 David and I discussed some possibilities in Nuremberg, including
 treating communications with the bus driver as special -- indeed, they
 already are, due to the on behalf of functionality.  When a call is
 pending with the bus driver, other messages from the process that sent
 that message would be frozen.  We could even improve the on behalf of
 API by limiting it to target clients that are currently being served by
 the driver.  This could possibly be implemented by explicit queue
 control APIs in the driver (since we already have other APIs there that
 impact the messages that a client sees, for example).

With the new scheme we can simply drop the on-behalf-of thing,
everything becomes much simpler, we need no further synchronization, the
right synchronization happens automatically, because we schedule things
exactly as we did on dbus1.

Let's not complicate this all by inventing some weird inter-peer
synchronization mechanisms, and turning the bus driver into some magic
thing. By doing the driver handling client side, we actually make it
less magic, since talking to the bus driver is reduced to simply using a
different marshalling+syscall, and that's it.

 We could also add proper support for match rules to the kernel...

No. We are not going to marshal/demarshal things in the kernel. This is
a total no-no. 

 I haven't forgotten our discussion about the specifics of how hashing
 works for adding bits to the bloom filter and how we should design for
 change.  You were able to convince me that we could do upgrades, but
 this argument relied on my not having to implement the specifics of the
 receive-side hashing in the client library, relying instead on the bus
 driver to do it for me.  I'm no longer convinced that we can handle
 additions to the specification in a nice way (ie: without requiring
 lockstep upgrades of all of the client libraries).

Hey, we devised a scheme how we can do bloom filter upgrades, and how to
do this in a compatible fashion by uploading multiple filters per match,
and simply checking the oldest match against the message filter, that is
as new the filter is. If you follow what I mean.

We have a scheme for upgrades, and it's actually relatively easy to
implement. And it is followed by kdbus and sd-bus.

This problem is solved, I really don't see why you need to reopen this.

If you 

Re: [systemd-devel] gummiboot can't be installed on ESP which is soft RAID1 metadata=0.9 partition

2014-04-14 Thread Lennart Poettering
On Mon, 14.04.14 18:01, Francis Moreau (francis.m...@gmail.com) wrote:

 Hello,
 
 gummiboot install fails when ESP is MD RAID1 device using metadata 0.9
 or 1.0.
 
 I don't think using such RAID for ESP would lead to issue.
 
 Is there any reason gummiboot doesn't want to be installed on such
 partition ?

The installer will make sure that the ESP is on GPT and carries the right
type UUID. We do that for safety reasons, since that's the requirement
made by UEFI, and how the bootloader is found.

You cannot place the ESP on sw RAID, since the firmware might want to
write to the ESP (most won't do that, but could, and the tianocore
implemenation you use in qemu certainly does). 

So yeah, the ESP belongs on a naked GPT partition, nowhere else. And the
gummiboot installer will protect the user from accidental mistakes that
might turn the machine unbootable.

Lennart

-- 
Lennart Poettering, Red Hat
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


Re: [systemd-devel] gummiboot can't be installed on ESP which is soft RAID1 metadata=0.9 partition

2014-04-14 Thread Francis Moreau
On 04/14/2014 06:16 PM, Lennart Poettering wrote:
 On Mon, 14.04.14 18:01, Francis Moreau (francis.m...@gmail.com) wrote:
 
 Hello,

 gummiboot install fails when ESP is MD RAID1 device using metadata 0.9
 or 1.0.

 I don't think using such RAID for ESP would lead to issue.

 Is there any reason gummiboot doesn't want to be installed on such
 partition ?
 
 The installer will make sure that the ESP is on GPT and carries the right
 type UUID. We do that for safety reasons, since that's the requirement
 made by UEFI, and how the bootloader is found.
 
 You cannot place the ESP on sw RAID, since the firmware might want to
 write to the ESP (most won't do that, but could, and the tianocore
 implemenation you use in qemu certainly does). 

Does UEFI allow firmware to write to ESP ?

If so that would indeed prevent ESP to be on soft RAID.

Thanks
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


Re: [systemd-devel] gummiboot can't be installed on ESP which is soft RAID1 metadata=0.9 partition

2014-04-14 Thread Andrey Borzenkov
В Mon, 14 Apr 2014 18:22:50 +0200
Francis Moreau francis.m...@gmail.com пишет:

 On 04/14/2014 06:16 PM, Lennart Poettering wrote:
  On Mon, 14.04.14 18:01, Francis Moreau (francis.m...@gmail.com) wrote:
  
  Hello,
 
  gummiboot install fails when ESP is MD RAID1 device using metadata 0.9
  or 1.0.
 
  I don't think using such RAID for ESP would lead to issue.
 
  Is there any reason gummiboot doesn't want to be installed on such
  partition ?
  
  The installer will make sure that the ESP is on GPT and carries the right
  type UUID. We do that for safety reasons, since that's the requirement
  made by UEFI, and how the bootloader is found.
  
  You cannot place the ESP on sw RAID, since the firmware might want to
  write to the ESP (most won't do that, but could, and the tianocore
  implemenation you use in qemu certainly does). 
 
 Does UEFI allow firmware to write to ESP ?
 

Yes, it does. ESP is really not special in this respect.

 If so that would indeed prevent ESP to be on soft RAID.
 
 Thanks
 ___
 systemd-devel mailing list
 systemd-devel@lists.freedesktop.org
 http://lists.freedesktop.org/mailman/listinfo/systemd-devel

___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


Re: [systemd-devel] gummiboot can't be installed on ESP which is soft RAID1 metadata=0.9 partition

2014-04-14 Thread Kay Sievers
On Mon, Apr 14, 2014 at 9:22 AM, Francis Moreau francis.m...@gmail.com wrote:
 On 04/14/2014 06:16 PM, Lennart Poettering wrote:
 On Mon, 14.04.14 18:01, Francis Moreau (francis.m...@gmail.com) wrote:

 gummiboot install fails when ESP is MD RAID1 device using metadata 0.9
 or 1.0.

 I don't think using such RAID for ESP would lead to issue.

 Is there any reason gummiboot doesn't want to be installed on such
 partition ?

 The installer will make sure that the ESP is on GPT and carries the right
 type UUID. We do that for safety reasons, since that's the requirement
 made by UEFI, and how the bootloader is found.

 You cannot place the ESP on sw RAID, since the firmware might want to
 write to the ESP (most won't do that, but could, and the tianocore
 implemenation you use in qemu certainly does).

 Does UEFI allow firmware to write to ESP ?

 If so that would indeed prevent ESP to be on soft RAID.

Sure, it does. You can just start an EFI Shell and edit any file in the ESP.

The only safe (at least in theory) thing is to have a bios raid
driver included in the EFI firmware itself, which sets up the ESP to
be the mirrored disks. With that, writes from the firmware will end up
on both disks without any operating system involved.

Setting up the ESP as a raid without explicit firmware support does
not sound like a good idea.

Kay
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


Re: [systemd-devel] [systemd-commits] Makefile.am man/udevadm.xml src/libudev src/shared src/test src/udev

2014-04-14 Thread Zbigniew Jędrzejewski-Szmek
On Mon, Apr 14, 2014 at 09:29:54AM -0700, Kay Sievers wrote:
 On Mon, Apr 14, 2014 at 8:52 AM, Zbigniew Jędrzejewski-Szmek
 zbys...@in.waw.pl wrote:
  On Sun, Apr 13, 2014 at 04:58:31PM -0700, Kay Sievers wrote:
   Makefile.am |6
   man/udevadm.xml |   22 -
   src/libudev/libudev-monitor.c   |   17 -
   src/libudev/libudev-queue-private.c |  406 
  
   src/libudev/libudev-queue.c |  302 ++
   src/libudev/libudev.h   |   10
   src/shared/udev-util.h  |2
   src/test/test-libudev.c |   24 --
   src/udev/udev-ctrl.c|2
   src/udev/udevadm-settle.c   |  131 +--
   src/udev/udevd.c|   59 ++---
   11 files changed, 84 insertions(+), 897 deletions(-)
 
  New commits:
  commit 9ea28c55a2488e6cd4a44ac5786f12b71ad5bc9f
  Author: Kay Sievers k...@vrfy.org
  Date:   Sat Apr 12 22:35:50 2014 -0700
 
  udev: remove seqnum API and all assumptions about seqnums
 
  The way the kernel namespaces have been implemented breaks assumptions
  udev made regarding uevent sequence numbers. Creating devices in a
  namespace steals uevents and its sequence numbers from the host. It
  confuses the udevadmin settle logic, which might block until util a
  timeout is reached, even when no uevent is pending.
 
  Remove any assumptions about sequence numbers and deprecate libudev's
  API exposing these numbers; none of that can reliably be used anymore
  when namespaces are involved.
  Hi Kay,
  maybe we should make the deprecation process a bit gentler: instead of
  ripping out the functionality in one step, instead just deprecate the
  functions, and allow people to use them, with the caveat that launching
  a namespace and creating devices in it will break this functionality.
  Then after a few releases, actually remove the functionality. Not everyone
  uses namespaces, and that'd be a nod towards those poeple. Would
  that be possible?
 
 Not really, because the API relies on the queue tracking data.
 
 But for the queue tracking logic to not break current setups, it would
 need to be updated/rewritten to handle holes in the sequence numbers;
 with current kernels it is just broken whenever namespaces are
 involved. We just did not notice, because we do not use settle with
 systemd.
I'm not volunteering to rewrite the logic to handle holes. Instead I'm
suggesting that we keep the current (as of before this commit) logic, to
cater to people who use it successfully when no namespaces are involved.

 I don't think it is worth to try to make the specific queue tracking
 logic work again, it is not a useful API and it makes promises we
 cannot hold.
I'm not suggesting that. But maybe keeping the partially broken logic
around for a while might be more useful for some people than outright
removal.

Zbyszek
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


Re: [systemd-devel] [systemd-commits] Makefile.am man/udevadm.xml src/libudev src/shared src/test src/udev

2014-04-14 Thread Kay Sievers
On Mon, Apr 14, 2014 at 9:39 AM, Zbigniew Jędrzejewski-Szmek
zbys...@in.waw.pl wrote:
 On Mon, Apr 14, 2014 at 09:29:54AM -0700, Kay Sievers wrote:
 On Mon, Apr 14, 2014 at 8:52 AM, Zbigniew Jędrzejewski-Szmek
 zbys...@in.waw.pl wrote:
  On Sun, Apr 13, 2014 at 04:58:31PM -0700, Kay Sievers wrote:
   Makefile.am |6
   man/udevadm.xml |   22 -
   src/libudev/libudev-monitor.c   |   17 -
   src/libudev/libudev-queue-private.c |  406 
  
   src/libudev/libudev-queue.c |  302 ++
   src/libudev/libudev.h   |   10
   src/shared/udev-util.h  |2
   src/test/test-libudev.c |   24 --
   src/udev/udev-ctrl.c|2
   src/udev/udevadm-settle.c   |  131 +--
   src/udev/udevd.c|   59 ++---
   11 files changed, 84 insertions(+), 897 deletions(-)
 
  New commits:
  commit 9ea28c55a2488e6cd4a44ac5786f12b71ad5bc9f
  Author: Kay Sievers k...@vrfy.org
  Date:   Sat Apr 12 22:35:50 2014 -0700
 
  udev: remove seqnum API and all assumptions about seqnums
 
  The way the kernel namespaces have been implemented breaks assumptions
  udev made regarding uevent sequence numbers. Creating devices in a
  namespace steals uevents and its sequence numbers from the host. It
  confuses the udevadmin settle logic, which might block until util a
  timeout is reached, even when no uevent is pending.
 
  Remove any assumptions about sequence numbers and deprecate libudev's
  API exposing these numbers; none of that can reliably be used anymore
  when namespaces are involved.
  Hi Kay,
  maybe we should make the deprecation process a bit gentler: instead of
  ripping out the functionality in one step, instead just deprecate the
  functions, and allow people to use them, with the caveat that launching
  a namespace and creating devices in it will break this functionality.
  Then after a few releases, actually remove the functionality. Not everyone
  uses namespaces, and that'd be a nod towards those poeple. Would
  that be possible?

 Not really, because the API relies on the queue tracking data.

 But for the queue tracking logic to not break current setups, it would
 need to be updated/rewritten to handle holes in the sequence numbers;
 with current kernels it is just broken whenever namespaces are
 involved. We just did not notice, because we do not use settle with
 systemd.
 I'm not volunteering to rewrite the logic to handle holes. Instead I'm
 suggesting that we keep the current (as of before this commit) logic, to
 cater to people who use it successfully when no namespaces are involved.

 I don't think it is worth to try to make the specific queue tracking
 logic work again, it is not a useful API and it makes promises we
 cannot hold.
 I'm not suggesting that. But maybe keeping the partially broken logic
 around for a while might be more useful for some people than outright
 removal.

It is currently broken for our own setups, unit files use namespaces
in default setups.

We cannot just keep the status quo and pretend it works, things are
broken now and need to be fixed.

We would need to rewrite the logic behind the API, or get rid of it; I
decided for removal, because the assumptions the API makes are not
valid anymore.

Kay
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


Re: [systemd-devel] pci.ids confusion

2014-04-14 Thread Jerome Leclanche
Ah, yes. It makes a lot more sense with that change.
  RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (M4A785TD
Motherboard)

Thanks!
J. Leclanche


On Mon, Apr 14, 2014 at 4:34 PM, Kay Sievers k...@vrfy.org wrote:
 On Sun, Apr 13, 2014 at 6:58 AM, Jerome Leclanche adys...@gmail.com wrote:
 This is a followup of a chat on #systemd. The pciids-devel list is
 dead and someone recommended I post here instead.
 While browsing some debug logs, I came accross a confusing message:
 systemd[1]: Found device M4A785TD Motherboard. I was even more
 confused since I don't actually have a M4A785TD but a P7P55D-E DELUXE.
 Turns out this is one of my two ethernet adapters. Specifically, in
 hwdata/pci.ids, 1019 8168  RTL8111/8168 PCI Express Gigabit Ethernet
 controller.
 Out of curiousity I started digging in the pci.ids file (10ec  Realtek
 Semiconductor Co., Ltd. around line 9120). I'm trying to understand
 the format but it's looking like motherboards are a subsystem of their
 own ethernet adapter. This is further confirmed with lspci:

 05:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd.
 RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 03)
 Subsystem: ASUSTeK Computer Inc. M4A785TD Motherboard

 I'd love to submit a fix but this is very counter-intuitive. Can
 anyone shed some light on it?

 The PCI database contains a lot of wrong, mindlessly added, and
 inconsistent data; some strings just do not make much sense, and there
 seems to be not much effort to correct it.

 I pushed a change to show the primary string too; it is all not
 pretty, but should be less confusing that what you see today:
   
 http://cgit.freedesktop.org/systemd/systemd/commit/?id=d060b62fcb4746d3758c567e9379c6728a035b66

 Thanks,
 Kay
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


Re: [systemd-devel] [systemd-commits] Makefile.am man/udevadm.xml src/libudev src/shared src/test src/udev

2014-04-14 Thread Zbigniew Jędrzejewski-Szmek
On Mon, Apr 14, 2014 at 09:51:08AM -0700, Kay Sievers wrote:
 On Mon, Apr 14, 2014 at 9:39 AM, Zbigniew Jędrzejewski-Szmek
 zbys...@in.waw.pl wrote:
  On Mon, Apr 14, 2014 at 09:29:54AM -0700, Kay Sievers wrote:
  On Mon, Apr 14, 2014 at 8:52 AM, Zbigniew Jędrzejewski-Szmek
  zbys...@in.waw.pl wrote:
   On Sun, Apr 13, 2014 at 04:58:31PM -0700, Kay Sievers wrote:
Makefile.am |6
man/udevadm.xml |   22 -
src/libudev/libudev-monitor.c   |   17 -
src/libudev/libudev-queue-private.c |  406 
   
src/libudev/libudev-queue.c |  302 ++
src/libudev/libudev.h   |   10
src/shared/udev-util.h  |2
src/test/test-libudev.c |   24 --
src/udev/udev-ctrl.c|2
src/udev/udevadm-settle.c   |  131 +--
src/udev/udevd.c|   59 ++---
11 files changed, 84 insertions(+), 897 deletions(-)
  
   New commits:
   commit 9ea28c55a2488e6cd4a44ac5786f12b71ad5bc9f
   Author: Kay Sievers k...@vrfy.org
   Date:   Sat Apr 12 22:35:50 2014 -0700
  
   udev: remove seqnum API and all assumptions about seqnums
  
   The way the kernel namespaces have been implemented breaks 
   assumptions
   udev made regarding uevent sequence numbers. Creating devices in a
   namespace steals uevents and its sequence numbers from the host. 
   It
   confuses the udevadmin settle logic, which might block until util 
   a
   timeout is reached, even when no uevent is pending.
  
   Remove any assumptions about sequence numbers and deprecate 
   libudev's
   API exposing these numbers; none of that can reliably be used 
   anymore
   when namespaces are involved.
   Hi Kay,
   maybe we should make the deprecation process a bit gentler: instead of
   ripping out the functionality in one step, instead just deprecate the
   functions, and allow people to use them, with the caveat that launching
   a namespace and creating devices in it will break this functionality.
   Then after a few releases, actually remove the functionality. Not 
   everyone
   uses namespaces, and that'd be a nod towards those poeple. Would
   that be possible?
 
  Not really, because the API relies on the queue tracking data.
 
  But for the queue tracking logic to not break current setups, it would
  need to be updated/rewritten to handle holes in the sequence numbers;
  with current kernels it is just broken whenever namespaces are
  involved. We just did not notice, because we do not use settle with
  systemd.
  I'm not volunteering to rewrite the logic to handle holes. Instead I'm
  suggesting that we keep the current (as of before this commit) logic, to
  cater to people who use it successfully when no namespaces are involved.
 
  I don't think it is worth to try to make the specific queue tracking
  logic work again, it is not a useful API and it makes promises we
  cannot hold.
  I'm not suggesting that. But maybe keeping the partially broken logic
  around for a while might be more useful for some people than outright
  removal.
 
 It is currently broken for our own setups, unit files use namespaces
 in default setups.
I know.

 We cannot just keep the status quo and pretend it works, things are
 broken now and need to be fixed.
Yes.
 
 We would need to rewrite the logic behind the API, or get rid of it; I
 decided for removal, because the assumptions the API makes are not
 valid anymore.
Yes, but udev is also used in different setups... Documenting things as
deprecated is one thing, but replacing implementation by stub functions
is another. People who use this functionality would probably prefer to
have some time to move off it.

Zbyszek
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


Re: [systemd-devel] [systemd-commits] Makefile.am man/udevadm.xml src/libudev src/shared src/test src/udev

2014-04-14 Thread Kay Sievers
On Mon, Apr 14, 2014 at 10:03 AM, Zbigniew Jędrzejewski-Szmek
zbys...@in.waw.pl wrote:
 On Mon, Apr 14, 2014 at 09:51:08AM -0700, Kay Sievers wrote:
 On Mon, Apr 14, 2014 at 9:39 AM, Zbigniew Jędrzejewski-Szmek
 zbys...@in.waw.pl wrote:
  On Mon, Apr 14, 2014 at 09:29:54AM -0700, Kay Sievers wrote:
  On Mon, Apr 14, 2014 at 8:52 AM, Zbigniew Jędrzejewski-Szmek
  zbys...@in.waw.pl wrote:
   On Sun, Apr 13, 2014 at 04:58:31PM -0700, Kay Sievers wrote:
Makefile.am |6
man/udevadm.xml |   22 -
src/libudev/libudev-monitor.c   |   17 -
src/libudev/libudev-queue-private.c |  406 
   
src/libudev/libudev-queue.c |  302 ++
src/libudev/libudev.h   |   10
src/shared/udev-util.h  |2
src/test/test-libudev.c |   24 --
src/udev/udev-ctrl.c|2
src/udev/udevadm-settle.c   |  131 +--
src/udev/udevd.c|   59 ++---
11 files changed, 84 insertions(+), 897 deletions(-)
  
   New commits:
   commit 9ea28c55a2488e6cd4a44ac5786f12b71ad5bc9f
   Author: Kay Sievers k...@vrfy.org
   Date:   Sat Apr 12 22:35:50 2014 -0700
  
   udev: remove seqnum API and all assumptions about seqnums
  
   The way the kernel namespaces have been implemented breaks 
   assumptions
   udev made regarding uevent sequence numbers. Creating devices in a
   namespace steals uevents and its sequence numbers from the host. 
   It
   confuses the udevadmin settle logic, which might block until 
   util a
   timeout is reached, even when no uevent is pending.
  
   Remove any assumptions about sequence numbers and deprecate 
   libudev's
   API exposing these numbers; none of that can reliably be used 
   anymore
   when namespaces are involved.
   Hi Kay,
   maybe we should make the deprecation process a bit gentler: instead of
   ripping out the functionality in one step, instead just deprecate the
   functions, and allow people to use them, with the caveat that launching
   a namespace and creating devices in it will break this functionality.
   Then after a few releases, actually remove the functionality. Not 
   everyone
   uses namespaces, and that'd be a nod towards those poeple. Would
   that be possible?
 
  Not really, because the API relies on the queue tracking data.
 
  But for the queue tracking logic to not break current setups, it would
  need to be updated/rewritten to handle holes in the sequence numbers;
  with current kernels it is just broken whenever namespaces are
  involved. We just did not notice, because we do not use settle with
  systemd.
  I'm not volunteering to rewrite the logic to handle holes. Instead I'm
  suggesting that we keep the current (as of before this commit) logic, to
  cater to people who use it successfully when no namespaces are involved.
 
  I don't think it is worth to try to make the specific queue tracking
  logic work again, it is not a useful API and it makes promises we
  cannot hold.
  I'm not suggesting that. But maybe keeping the partially broken logic
  around for a while might be more useful for some people than outright
  removal.

 It is currently broken for our own setups, unit files use namespaces
 in default setups.
 I know.

 We cannot just keep the status quo and pretend it works, things are
 broken now and need to be fixed.
 Yes.

 We would need to rewrite the logic behind the API, or get rid of it; I
 decided for removal, because the assumptions the API makes are not
 valid anymore.
 Yes, but udev is also used in different setups... Documenting things as
 deprecated is one thing, but replacing implementation by stub functions
 is another. People who use this functionality would probably prefer to
 have some time to move off it.

It is not a stub, things will just block for any/all events now,
ignoring the specific sequence numbers given in the API.

Kay
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


[systemd-devel] [PATCH] core: minor typo fix

2014-04-14 Thread Ali H. Caliskan
diff --git a/src/core/dbus.c b/src/core/dbus.c
index d482e6c..e9bf34c 100644
--- a/src/core/dbus.c
+++ b/src/core/dbus.c
@@ -918,7 +918,7 @@ static int bus_init_system(Manager *m) {

 r = bus_setup_system(m, bus);
 if (r  0) {
-log_error(Fauiled to set up system bus: %s, strerror(-r));
+log_error(Failed to set up system bus: %s, strerror(-r));
 return 0;
 }
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


Re: [systemd-devel] gummiboot can't be installed on ESP which is soft RAID1 metadata=0.9 partition

2014-04-14 Thread Thomas Bächler
Am 14.04.2014 18:16, schrieb Lennart Poettering:
 On Mon, 14.04.14 18:01, Francis Moreau (francis.m...@gmail.com) wrote:
 
 Hello,

 gummiboot install fails when ESP is MD RAID1 device using metadata 0.9
 or 1.0.

 I don't think using such RAID for ESP would lead to issue.

 Is there any reason gummiboot doesn't want to be installed on such
 partition ?
 
 The installer will make sure that the ESP is on GPT and carries the right
 type UUID. We do that for safety reasons, since that's the requirement
 made by UEFI, and how the bootloader is found.
 
 You cannot place the ESP on sw RAID, since the firmware might want to
 write to the ESP (most won't do that, but could, and the tianocore
 implemenation you use in qemu certainly does). 

While this is unsafe, the firmware doesn't write to the ESP during
normal operation (i.e. bootup and efivar configuration).

Tianocore does not write to the ESP either, if used properly. Newer
versions will allow to store efivars in the image itself instead of the ESP.

Manual installation of gummiboot onto the ESP using efibootmgr does in
fact yield the desired results - until you use the EFI shell to modify
files on the ESP, then you'll obviously corrupt it.




signature.asc
Description: OpenPGP digital signature
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


Re: [systemd-devel] gummiboot can't be installed on ESP which is soft RAID1 metadata=0.9 partition

2014-04-14 Thread Francis Moreau
On 04/14/2014 06:38 PM, Kay Sievers wrote:
 On Mon, Apr 14, 2014 at 9:22 AM, Francis Moreau francis.m...@gmail.com 
 wrote:
 On 04/14/2014 06:16 PM, Lennart Poettering wrote:
 On Mon, 14.04.14 18:01, Francis Moreau (francis.m...@gmail.com) wrote:

 gummiboot install fails when ESP is MD RAID1 device using metadata 0.9
 or 1.0.

 I don't think using such RAID for ESP would lead to issue.

 Is there any reason gummiboot doesn't want to be installed on such
 partition ?

 The installer will make sure that the ESP is on GPT and carries the right
 type UUID. We do that for safety reasons, since that's the requirement
 made by UEFI, and how the bootloader is found.

 You cannot place the ESP on sw RAID, since the firmware might want to
 write to the ESP (most won't do that, but could, and the tianocore
 implemenation you use in qemu certainly does).

 Does UEFI allow firmware to write to ESP ?

 If so that would indeed prevent ESP to be on soft RAID.
 
 Sure, it does. You can just start an EFI Shell and edit any file in the ESP.
 

yes but I would be deliberately asking to the firmware to write to ESP
in that case.

 The only safe (at least in theory) thing is to have a bios raid
 driver included in the EFI firmware itself, which sets up the ESP to
 be the mirrored disks. With that, writes from the firmware will end up
 on both disks without any operating system involved.

Indeed, that gives one (and only one) reason to use fake raid over soft
one unfortunately.

 
 Setting up the ESP as a raid without explicit firmware support does
 not sound like a good idea.
 

Sad because I'm currently finding the gain to be able to write to ESP
through the EFI shell very tiny compare to be able to have ESP mirrored.

Thanks
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


Re: [systemd-devel] gummiboot can't be installed on ESP which is soft RAID1 metadata=0.9 partition

2014-04-14 Thread Francis Moreau
On 04/14/2014 08:11 PM, Thomas Bächler wrote:
 Am 14.04.2014 18:16, schrieb Lennart Poettering:
 On Mon, 14.04.14 18:01, Francis Moreau (francis.m...@gmail.com) wrote:

 Hello,

 gummiboot install fails when ESP is MD RAID1 device using metadata 0.9
 or 1.0.

 I don't think using such RAID for ESP would lead to issue.

 Is there any reason gummiboot doesn't want to be installed on such
 partition ?

 The installer will make sure that the ESP is on GPT and carries the right
 type UUID. We do that for safety reasons, since that's the requirement
 made by UEFI, and how the bootloader is found.

 You cannot place the ESP on sw RAID, since the firmware might want to
 write to the ESP (most won't do that, but could, and the tianocore
 implemenation you use in qemu certainly does). 
 
 While this is unsafe, the firmware doesn't write to the ESP during
 normal operation (i.e. bootup and efivar configuration).
 

Unfortunately it seesms that nothing in UEFI will prevent futur firmares
to change that.

Actually adding a flag somehow to instruct the firmware that ESP is a
read only partition would do the trick.

Thanks
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel