{"push_id":2005876349,"size":3,"distinct_size":3,"ref":"refs/heads/master","head":"cddaa1f03479ab28b85b9abd9a1bb9eb2336895a","before":"1b7ac91f94f8c9fe0c72fb7dc1a1014d7a863dd9","commits":[{"sha":"24754f36947a03123e488e69ef3d741723875ae1","author":{"name":"Tommi Rantala","email":"19b7968f4037db255544d2070b0c292f37ee5a6e@nokia.com"},"message":"journal: add object sanity check to journal_file_move_to_object()\n\nIntroduce journal_file_check_object(), which does lightweight object\nsanity checks, and use it in journal_file_move_to_object(), so that we\nwill catch certain corrupted objects in the journal file.\n\nThis fixes #6447, where we had only partially written out OBJECT_ENTRY\n(ObjectHeader written, but rest of object zero bytes), causing\n\"journalctl --list-boots\" to fail.\n\n  $ builddir.vanilla/journalctl --list-boots -D bug6447/\n  Failed to determine boots: No data available\n\n  $ builddir.patched/journalctl --list-boots -D bug6447/\n  -52 22633da1c5374a728d6c215e2c301dc2 Mon 2017-07-10 05:29:21 EEST—Mon 2017-07-10 05:31:51 EEST\n  -51 2253aab9ea7e4a2598f2abda82939eff Mon 2017-07-10 05:32:22 EEST—Mon 2017-07-10 05:36:49 EEST\n  -50 ef0d85d35c74486fa4104f9d6391b6ba Mon 2017-07-10 05:40:33 EEST—Mon 2017-07-10 05:40:40 EEST\n  [...]\n\nNote that journal_file_check_object() is similar to\njournal_file_object_verify(). The most expensive checks are omitted, as\nthey would slow down every journal_file_move_to_object() call too much.\n\nWith this implementation, the added overhead is small, for example when\ndumping some journal content to /dev/null\n(built with -Dbuildtype=debugoptimized -Db_ndebug=true):\n\n Performance counter stats for 'builddir.vanilla/journalctl -D 76f4d4c3406945f9a60d3ca8763aa754/':\n\n      12542,311634      task-clock:u (msec)       #    1,000 CPUs utilized\n                 0      context-switches:u        #    0,000 K/sec\n                 0      cpu-migrations:u          #    0,000 K/sec\n            80 100      page-faults:u             #    0,006 M/sec\n    41 786 963 456      cycles:u                  #    3,332 GHz\n   105 453 864 770      instructions:u            #    2,52  insn per cycle\n    24 342 227 334      branches:u                # 1940,809 M/sec\n       105 709 217      branch-misses:u           #    0,43% of all branches\n\n      12,545199291 seconds time elapsed\n\n Performance counter stats for 'builddir.patched/journalctl -D 76f4d4c3406945f9a60d3ca8763aa754/':\n\n      12734,723233      task-clock:u (msec)       #    1,000 CPUs utilized\n                 0      context-switches:u        #    0,000 K/sec\n                 0      cpu-migrations:u          #    0,000 K/sec\n            80 693      page-faults:u             #    0,006 M/sec\n    42 661 017 429      cycles:u                  #    3,350 GHz\n   107 696 985 865      instructions:u            #    2,52  insn per cycle\n    24 950 526 745      branches:u                # 1959,252 M/sec\n       101 762 806      branch-misses:u           #    0,41% of all branches\n\n      12,737527327 seconds time elapsed\n\nFixes #6447.","distinct":true,"url":"https://api.github.com/repos/systemd/systemd/commits/24754f36947a03123e488e69ef3d741723875ae1"},{"sha":"10e8445bccb427c9a60565f821b16e90fea6b1c1","author":{"name":"Tommi Rantala","email":"19b7968f4037db255544d2070b0c292f37ee5a6e@nokia.com"},"message":"journal: add missing le64toh() calls in journal_file_check_object()\n\nLennart Poettering noticed missing le64toh() calls.","distinct":true,"url":"https://api.github.com/repos/systemd/systemd/commits/10e8445bccb427c9a60565f821b16e90fea6b1c1"},{"sha":"cddaa1f03479ab28b85b9abd9a1bb9eb2336895a","author":{"name":"Lennart Poettering","email":"2baa8fca698523d252842633f852b9ab3cfeddbc@poettering.net"},"message":"Merge pull request #6887 from rantala/6447\n\njournal: add object sanity check to journal_file_move_to_object() (#6447)","distinct":true,"url":"https://api.github.com/repos/systemd/systemd/commits/cddaa1f03479ab28b85b9abd9a1bb9eb2336895a"}]}
{"actor":{"display_login":"poettering"}}