Patchwork IN_BADCLASS: fix macro to actually work

login
register
mail settings
Submitter Greg Kroah-Hartman
Date Jan. 10, 2019, 8:24 p.m.
Message ID <20190110202413.GA1114@kroah.com>
Download mbox | patch
Permalink /patch/697243/
State New
Headers show

Comments

Greg Kroah-Hartman - Jan. 10, 2019, 8:24 p.m.
Commit 65cab850f0ee ("net: Allow class-e address assignment via ifconfig
ioctl") modified the IN_BADCLASS macro a bit, but unfortunatly one too
many '(' characters were added to the line, making any code that used
it, not build properly.

Also, the macro now compares an unsigned with a signed value, which
isn't ok, so fix that up by making both types match properly.

Reported-by: Christopher Ferris <cferris@google.com>
Fixes: 65cab850f0ee ("net: Allow class-e address assignment via ifconfig ioctl")
Cc: Dave Taht <dave.taht@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 include/uapi/linux/in.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
David Miller - Jan. 16, 2019, 5:45 a.m.
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date: Thu, 10 Jan 2019 21:24:13 +0100

> Commit 65cab850f0ee ("net: Allow class-e address assignment via ifconfig
> ioctl") modified the IN_BADCLASS macro a bit, but unfortunatly one too
> many '(' characters were added to the line, making any code that used
> it, not build properly.
> 
> Also, the macro now compares an unsigned with a signed value, which
> isn't ok, so fix that up by making both types match properly.
> 
> Reported-by: Christopher Ferris <cferris@google.com>
> Fixes: 65cab850f0ee ("net: Allow class-e address assignment via ifconfig ioctl")
> Cc: Dave Taht <dave.taht@gmail.com>
> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

Applied.

Patch

diff --git a/include/uapi/linux/in.h b/include/uapi/linux/in.h
index f6052e70bf40..a55cb8b10165 100644
--- a/include/uapi/linux/in.h
+++ b/include/uapi/linux/in.h
@@ -268,7 +268,7 @@  struct sockaddr_in {
 #define	IN_MULTICAST(a)		IN_CLASSD(a)
 #define	IN_MULTICAST_NET	0xe0000000
 
-#define	IN_BADCLASS(a)		((((long int) (a) ) == 0xffffffff)
+#define	IN_BADCLASS(a)		(((long int) (a) ) == (long int)0xffffffff)
 #define	IN_EXPERIMENTAL(a)	IN_BADCLASS((a))
 
 #define	IN_CLASSE(a)		((((long int) (a)) & 0xf0000000) == 0xf0000000)