netdev
[Top] [All Lists]

Re: [PATCH 1/3] [RTNETLINK] Fix RTM_MAX to represent the maximum valid m

To: Thomas Graf <tgraf@xxxxxxx>
Subject: Re: [PATCH 1/3] [RTNETLINK] Fix RTM_MAX to represent the maximum valid message type
From: "David S. Miller" <davem@xxxxxxxxxxxxx>
Date: Tue, 3 May 2005 14:27:40 -0700
Cc: netdev@xxxxxxxxxxx
In-reply-to: <20050430195058.GC577@xxxxxxxxxxxxxx>
References: <20050430195058.GC577@xxxxxxxxxxxxxx>
Sender: netdev-bounce@xxxxxxxxxxx
On Sat, 30 Apr 2005 21:50:58 +0200
Thomas Graf <tgraf@xxxxxxx> wrote:

> RTM_MAX is currently set to the maximum reserverd message type plus one
> thus being the cause of two bugs for new types being assigned a) given the
> new family registers only the NEW command in its reserved block the array
> size for per family entries is calculated one entry short and b) given the
> new family registers all commands RTM_MAX would point to the first entry
> of the block following this one and the rtnetlink receive path would accept
> a message type for a nonexisting family.
> 
> This patch changes RTM_MAX to point to the maximum valid message type
> by aligning it to the start of the next block and subtracting one.
> 
> Signed-off-by: Thomas Graf <tgraf@xxxxxxx>

Excellent observation.  The fact that we encode the "modifies state"
in the low bits of the RTM_* numbers has always been a source of
obscure bugs and hard to track down errors.

Patch applied, thanks.

<Prev in Thread] Current Thread [Next in Thread>