Nova on a bit old CPU

Alexander Boettcher alexander.boettcher at genode-labs.com
Mon Jul 16 08:48:48 CEST 2018


Hi Paul,

On 13.07.2018 17:07, Paul Dufresne wrote:
> simple in include/mtrr.hpp, also stop the computer from rebooting.
> I have added in mtrr.hpp:
> in private:         static Quota        paulcache[200];
>     public:
>         ALWAYS_INLINE
>         explicit inline Mtrr (uint64 b, uint64 m) : List<Mtrr> (list),
> base (b), mask (m) {}
> 
>         ALWAYS_INLINE
>         static inline void *operator new (size_t, Quota &quota) {
>           static Quota *paulptr;
>           //return cache.alloc(quota);
>           *paulptr=quota;
>           return(paulptr++);

whatever you try to do here, it is wrong.

You take a reference as input (Quota &quota), store it in a static and
later on just increment the static. Whatever lies behind Quota &quota
stored in the static will wrongly read and/or overridden/corrupted !?
(If you tried to use paulcache, it is not used.)

-- 
Alexander Boettcher
Genode Labs

https://www.genode-labs.com - https://www.genode.org

Genode Labs GmbH - Amtsgericht Dresden - HRB 28424 - Sitz Dresden
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth



More information about the users mailing list