guarded_heap: fix build (volatile + atomic ops)

Unfortunately, the package manager uses more kernel memory and it's not
possible to boot to the desktop with the guarded heap anymore.
cdda: fix possible buffer overrun

If the requested read was more than 32 frames, and reading them all at
once failed, we would try to read by chunk of 8 frames. But if the
original frame count was not a multiple of 8 we would not adjust the
count for the last read.

Unfortunately I could still panic the system after fixing this, so it is
not *the* cdda bug.