From: Lennart Poettering Date: Thu, 5 Jun 2025 20:21:16 +0000 (+0200) Subject: journal: use EBADMSG for invalid data in file mmap X-Git-Tag: v258-rc1~373^2~3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7d52a608438948b523681653550bc2e90ee9dc9b;p=thirdparty%2Fsystemd.git journal: use EBADMSG for invalid data in file mmap We must assume that any data in the mmap can change anytime because the file is deallocated or similar. Let's strictly use EBADMSG for reporting invalid file contents though (as opposed to using EINVAL if our own code passes a wrong parameter somwhere). --- diff --git a/src/libsystemd/sd-journal/journal-file.c b/src/libsystemd/sd-journal/journal-file.c index 229a19d8e7c..786d757e9c0 100644 --- a/src/libsystemd/sd-journal/journal-file.c +++ b/src/libsystemd/sd-journal/journal-file.c @@ -1404,7 +1404,7 @@ static int journal_file_link_field( assert(offset > 0); if (o->object.type != OBJECT_FIELD) - return -EINVAL; + return -EBADMSG; m = le64toh(READ_NOW(f->header->field_hash_table_size)) / sizeof(HashItem); if (m <= 0) @@ -1449,7 +1449,7 @@ static int journal_file_link_data( assert(offset > 0); if (o->object.type != OBJECT_DATA) - return -EINVAL; + return -EBADMSG; m = le64toh(READ_NOW(f->header->data_hash_table_size)) / sizeof(HashItem); if (m <= 0) @@ -2233,7 +2233,7 @@ static int journal_file_link_entry( assert(offset > 0); if (o->object.type != OBJECT_ENTRY) - return -EINVAL; + return -EBADMSG; __atomic_thread_fence(__ATOMIC_SEQ_CST);