|
|
Message-ID: <CAGXu5jJj2of7te2bFXe5gQjv0_yPXaGyAKCJ6+uXpOMH2weCdA@mail.gmail.com>
Date: Fri, 13 Jan 2017 12:38:54 -0800
From: Kees Cook <keescook@...omium.org>
To: PaX Team <pageexec@...email.hu>
Cc: "AKASHI, Takahiro" <takahiro.akashi@...aro.org>, Mark Rutland <mark.rutland@....com>,
park jinbum <jinb.park7@...il.com>,
"kernel-hardening@...ts.openwall.com" <kernel-hardening@...ts.openwall.com>
Subject: Re: Introduction
On Fri, Jan 13, 2017 at 11:26 AM, Kees Cook <keescook@...omium.org> wrote:
> I did notice too that it seems like it doesn't notice static initializers:
>
> security/tomoyo/common.c: In function ‘tomoyo_load_builtin_policy’:
> security/tomoyo/common.c:2745:27: note: userspace variable will be
> forcibly initialized
> struct tomoyo_io_buffer head = { };
> ^
>
> fs/read_write.c: In function ‘new_sync_write’:
> fs/read_write.c:490:15: note: userspace variable will be forcibly initialized
> struct iovec iov = { .iov_base = (void __user *)buf, .iov_len = len };
> ^
If I dump the gimple, it looks like the assignments aren't being
marked as CONSTRUTOR?
fs/read_write.c: In function ‘new_sync_read’:
fs/read_write.c:433:15: note: userspace variable will be forcibly initialized
struct iovec iov = { .iov_base = buf, .iov_len = len };
^
# .MEM_3 = VDEF <.MEM_1(D)>
iov.iov_base = buf_2(D);
# .MEM_5 = VDEF <.MEM_3>
iov.iov_len = len_4(D);
...
Hmmm
-Kees
--
Kees Cook
Nexus Security
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.