| To: | Thomas Graf <tgraf@xxxxxxx> |
|---|---|
| Subject: | Re: [PATCH 2.6 NET] Catch wrong RTATTR_MAX with BUG() |
| From: | "David S. Miller" <davem@xxxxxxxxxxxxx> |
| Date: | Thu, 9 Sep 2004 09:55:31 -0700 |
| Cc: | netdev@xxxxxxxxxxx |
| In-reply-to: | <20040909164346.GA18994@postel.suug.ch> |
| References: | <20040909164346.GA18994@postel.suug.ch> |
| Sender: | netdev-bounce@xxxxxxxxxxx |
On Thu, 9 Sep 2004 18:43:46 +0200
Thomas Graf <tgraf@xxxxxxx> 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.
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| ||
| Previous by Date: | Re: [IPCOMP] Use per-cpu buffers, David S. Miller |
|---|---|
| Next by Date: | [PATCH 2.6 NET] Adjust RTATTR_MAX to IFLA_* changes, Thomas Graf |
| Previous by Thread: | [PATCH 2.6 NET] Catch wrong RTATTR_MAX with BUG(), Thomas Graf |
| Next by Thread: | Re: [PATCH 2.6 NET] Catch wrong RTATTR_MAX with BUG(), YOSHIFUJI Hideaki / 吉藤英明 |
| Indexes: | [Date] [Thread] [Top] [All Lists] |