Le lundi 05 mars 2012 à 15:10 +0100, Lennart Poettering a écrit : > On Wed, 29.02.12 18:33, Frederic Crozat ([email protected]) wrote: > > > Le mercredi 29 février 2012 à 17:04 +0000, Frederic Crozat a écrit : > > > Hi, > > > > > > while trying to use sparse to detect potential endianness errors in > > > journald code (apparently, we can't use it for that), I found some other > > > warnings with sparse. > > > > > > Attached patch fixes those (mostly missing static call, 0 vs NULL and > > > macros redefinition). > > > > Better with patch attached ;) > > > >From d07e3f17e21ad4b200d0e076e0f49a3f8e91fae9 Mon Sep 17 00:00:00 2001 > > From: Frederic Crozat <[email protected]> > > Date: Wed, 29 Feb 2012 14:42:49 +0100 > > Subject: [PATCH] fix sparse warnings > > Looks all good. Applied. > > I have little experience with sparse, but iirc it knows decorators for > variables for le/be, right? Is this something we might want to use in > the journal to avoid LE/BE issues like those you tracked down?
Well, I spend almost a day trying to get sparse to spot endian-ness errors but couldn't get it to work properly :( The idea would be to replace any uint64_t type with __le64 (from /usr/include/linux/types.h) in data structures written on disk and make sure only function returning __le64 are used to modify those variables. Unfortunately, I wasn't able to teach sparse about htole64 / le64toh. Help welcome ;) -- Frederic Crozat <[email protected]> SUSE _______________________________________________ systemd-devel mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/systemd-devel
