[systemd-devel] fsckd needs to go

Lennart Poettering lennart at poettering.net
Tue Apr 7 07:17:59 PDT 2015


On Mon, 06.04.15 15:21, Martin Pitt (martin.pitt at ubuntu.com) wrote:

> Hello all,

Heya,

> Lennart Poettering [2015-04-03 16:34 +0200]:
> > Well, I had a brief look at this patch, but it still doesn't get the
> > socket IO stuff right. It uses synchronous fgets() to read things of
> > the sockets, that's still not OK, and is a major thing that is
> > wrong.
> 
> fsckd kicks malicious/broken fsck clients which send garbage, but if
> you want to do the buffering explicitly I can rework the patch to do
> that. 

It's not about sending garbage. It's about blocking. fsckd is supposed
to be daemon talking to multiple clients, and hence it may never
block. It's how daemons on UNIX work... Hence fgets() on client
sockets has *no* place in the fsckd sources.

> That is, if we actually keep fsckd in the upstream sources :-)
> I wouldn't like to spend time on this if you already pre-decided to
> kick this out, but I would ask to reconsider, and instead discuss
> what's wrong with the code.

Yeah, we decided to remove this, sorry!

I can only recommend to fix the async socket IO thing even if you
decide to maintain fsckd outside of systemd. It's just broken!

Lennart

-- 
Lennart Poettering, Red Hat


More information about the systemd-devel mailing list