[systemd-devel] [PATCH] systemd-journald: fix endianess bug
Frederic Crozat
fcrozat at suse.com
Thu Mar 1 09:01:05 PST 2012
Le mercredi 29 février 2012 à 13:54 +0100, Frederic Crozat a écrit :
> Le mercredi 29 février 2012 à 12:45 +0100, Dirk Eibach a écrit :
> > ---
> > src/journal/journal-file.c | 2 +-
> > 1 files changed, 1 insertions(+), 1 deletions(-)
> >
> > diff --git a/src/journal/journal-file.c b/src/journal/journal-file.c
> > index 20ca3f6..275caea 100644
> > --- a/src/journal/journal-file.c
> > +++ b/src/journal/journal-file.c
> > @@ -238,7 +238,7 @@ static int journal_file_allocate(JournalFile *f, uint64_t offset, uint64_t size)
> > if (fstat(f->fd, &f->last_stat) < 0)
> > return -errno;
> >
> > - f->header->arena_size = new_size - htole64(f->header->arena_offset);
> > + f->header->arena_size = htole64(new_size - le64toh(f->header->arena_offset));
> >
> > return 0;
> > }
>
> I confirm this patch fixes journald not starting properly on ppc
> architecture (got the report yesterday from folks in the office).
>
> But it looks like systemd-journalctl is still broken on this arch.
So far, I think I found two different endianess errors in the code, but
more are pending, since I'm getting assertion when trying to access a
journal file created on x86 architecture, on a powerpc system (and now,
I get similar errors with journal created on ppc, so maybe only the
writing code need fixing ;).
Please review my current patch carefully, I'm not 100% sure my fix are
accurate (this part of journald is a bit tricky to get right ;)
--
Frederic Crozat <fcrozat at suse.com>
SUSE
More information about the systemd-devel
mailing list