Thread (3 messages) flat view 3 messages, 3 authors, 2004-09-09

Re: [PATCH 2.6 NET] Catch wrong RTATTR_MAX with BUG()

From: "David S. Miller" <davem@davemloft.net>
Date: 2004-09-09 16:55:31

On Thu, 9 Sep 2004 18:43:46 +0200
Thomas Graf [off-list ref] wrote:
Catches outdated/invalid RTATTR_MAX and therefore avoids possible stack
corruption.
Your test has an off by one error, but more importantly,
it's probably better to do this at compile time with
something like:

extern void rtattr_max_too_small(void);

...

void __init rtnetlink_init(void)
{
	if (IFLA_MAX > RTATTR_MAX ||
	    IFA_MAX > RTATTR_MAX ||
	    RTA_MAX > RTATTR_MAX ||
	    NDA_MAX > RTATTR_MAX ||
	    TCA_MAX > RTATTR_MAX ||
	    TCAA_MAX > RTATTR_MAX)
		rtattr_max_too_small();

I would therefore accept a patch that did things
this way.  BUG()'ing at runtime for something like
this is too rude. :)

Thanks.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help