Re: [PATCH] sha: prevent removal of memset as dead store in sha1_update()

Pekka Enberg
2010-02-25T16:17:07Z

On Thu, Feb 25, 2010 at 5:56 PM, Mikael Pettersson <mikpe@it.uu.se> wrote:
> I fear that the only portable (across compiler versions) and safe
> solution is to invoke an assembly-coded dummy function with prototype
>
>        void use(void *p);
>
> and rewrite the code above as
>
>        {
>                u32 temp[...];
>                ...
>                memset(temp, 0, sizeof temp);
>                use(temp);
>        }
>
> This forces the compiler to consider the buffer live after the
> memset, so the memset cannot be eliminated.

So is there some "do not optimize" GCC magic that we could use for a
memzero_secret() helper function?

Pekka