Kernel: Modify TimeManagement::current_time(..) API so it can't fail. (#6869)

The fact that current_time can "fail" makes its use a bit awkward.
All callers in the Kernel are trusted besides syscalls, so assert
that they never get there, and make sure all current callers perform
validation of the clock_id with TimeManagement::is_valid_clock_id().

I have fuzzed this change locally for a bit to make sure I didn't
miss any obvious regression.
This commit is contained in:
Brian Gianforcaro 2021-05-05 16:51:06 +00:00 committed by GitHub
commit 11306d7121
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
Notes: sideshowbarker 2024-07-18 18:41:23 +09:00
6 changed files with 14 additions and 13 deletions

View file

@ -34,7 +34,7 @@ public:
static TimeManagement& the();
static bool is_valid_clock_id(clockid_t);
KResultOr<Time> current_time(clockid_t) const;
Time current_time(clockid_t) const;
Time monotonic_time(TimePrecision = TimePrecision::Coarse) const;
Time monotonic_time_raw() const
{