Re: brk randomization breaks columns

From: Jiri Kosina
Date: Tue Feb 05 2008 - 15:42:40 EST


On Tue, 5 Feb 2008, Pavel Machek wrote:

> Sorry, I now tested the patch. It looked good to my untrained eyes, but
> upon testing it on columns:
> ...
> personality(PER_LINUX) = 4194304
> geteuid() = 1000
> getuid() = 1000
> getgid() = 1002
> getegid() = 1002
> brk(0x8054098) = 0x922d000
> --- SIGSEGV (Segmentation fault) @ 0 (0) ---
> ...it should have said -EINVAL or something like that.

I don't think so.

brk() should return the value of the current break when passed an
unreasonable argument (as in the case you ilustrated -- it tried to set
the brk lower than start_brk, which doesn't make sense). The only error
values brk() is allowed to return are ENOMEM and EAGAIN, which don't fit
into this situation. This is desgribed both in SUS and linux manpages.

--
Jiri Kosina
SUSE Labs
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/