From: Andrew Morton <akpm@linux-foundation.org>
To: David Miller <davem@davemloft.net>
Cc: netdev@vger.kernel.org, satyam@infradead.org
Subject: Re: [patch 27/28] Introduce U16_MAX and U32_MAX
Date: Fri, 10 Aug 2007 16:41:21 -0700 [thread overview]
Message-ID: <20070810164121.ac860896.akpm@linux-foundation.org> (raw)
In-Reply-To: <20070810.153819.76325424.davem@davemloft.net>
On Fri, 10 Aug 2007 15:38:19 -0700 (PDT)
David Miller <davem@davemloft.net> wrote:
> From: akpm@linux-foundation.org
> Date: Fri, 10 Aug 2007 14:12:10 -0700
>
> > From: Satyam Sharma <satyam@infradead.org>
> >
> > ... in kernel.h and clean up home-grown macros elsewhere in the tree.
> >
> > Leave out the one in reiserfs_fs.h as it is in the userspace-visible part
> > of that header. Still, #undef the (equivalent) kernel version there to
> > avoid seeing "redefined, previous definition was here" gcc warnings.
> >
> > [akpm@linux-foundation.org: fix U16_MAX, U32_MAX defns]
> > Signed-off-by: Satyam Sharma <satyam@infradead.org>
> > Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
>
> I won't apply this one, for two reasons:
>
> 1) The reiserfs definition is better, it is _type_ based.
> Please use (~(__u16)0) and (~(__u32)0), respectively.
>
> 2) The reiserfs definition is going to define an equivalent
> value, so just adding an #undef and still letting reiserfs
> override is wrong. Why put a common define in kernel.h
> if other headers still keep their own crufty copy too?
OK, I made those changes. Will add to the next batch->davem.
I note that reiserfs has open-coded (~(__u64) 0) in there too...
From: Satyam Sharma <satyam@infradead.org>
... in kernel.h and clean up home-grown macros elsewhere in the tree.
Signed-off-by: Satyam Sharma <satyam@infradead.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
drivers/net/netconsole.c | 7 +++----
include/linux/kernel.h | 3 +++
include/linux/reiserfs_fs.h | 2 --
net/ipv4/tcp_illinois.c | 2 +-
4 files changed, 7 insertions(+), 7 deletions(-)
diff -puN drivers/net/netconsole.c~introduce-u16_max-and-u32_max drivers/net/netconsole.c
--- a/drivers/net/netconsole.c~introduce-u16_max-and-u32_max
+++ a/drivers/net/netconsole.c
@@ -34,6 +34,7 @@
*
****************************************************************/
+#include <linux/kernel.h>
#include <linux/mm.h>
#include <linux/init.h>
#include <linux/module.h>
@@ -389,7 +390,6 @@ static ssize_t store_local_port(struct n
size_t count)
{
long local_port;
-#define __U16_MAX ((__u16) ~0U)
if (nt->enabled) {
printk(KERN_ERR "netconsole: target (%s) is enabled, "
@@ -398,7 +398,7 @@ static ssize_t store_local_port(struct n
return -EINVAL;
}
- local_port = strtol10_check_range(buf, 0, __U16_MAX);
+ local_port = strtol10_check_range(buf, 0, U16_MAX);
if (local_port < 0)
return local_port;
@@ -412,7 +412,6 @@ static ssize_t store_remote_port(struct
size_t count)
{
long remote_port;
-#define __U16_MAX ((__u16) ~0U)
if (nt->enabled) {
printk(KERN_ERR "netconsole: target (%s) is enabled, "
@@ -421,7 +420,7 @@ static ssize_t store_remote_port(struct
return -EINVAL;
}
- remote_port = strtol10_check_range(buf, 0, __U16_MAX);
+ remote_port = strtol10_check_range(buf, 0, U16_MAX);
if (remote_port < 0)
return remote_port;
diff -puN include/linux/kernel.h~introduce-u16_max-and-u32_max include/linux/kernel.h
--- a/include/linux/kernel.h~introduce-u16_max-and-u32_max
+++ a/include/linux/kernel.h
@@ -30,6 +30,9 @@ extern const char linux_proc_banner[];
#define LLONG_MIN (-LLONG_MAX - 1)
#define ULLONG_MAX (~0ULL)
+#define U16_MAX (~(__u16)0)
+#define U32_MAX (~(__u32)0)
+
#define STACK_MAGIC 0xdeadbeef
#define ALIGN(x,a) __ALIGN_MASK(x,(typeof(x))(a)-1)
diff -puN include/linux/reiserfs_fs.h~introduce-u16_max-and-u32_max include/linux/reiserfs_fs.h
--- a/include/linux/reiserfs_fs.h~introduce-u16_max-and-u32_max
+++ a/include/linux/reiserfs_fs.h
@@ -1225,8 +1225,6 @@ struct treepath var = {.path_length = IL
#define MAX_US_INT 0xffff
// reiserfs version 2 has max offset 60 bits. Version 1 - 32 bit offset
-#define U32_MAX (~(__u32)0)
-
static inline loff_t max_reiserfs_offset(struct inode *inode)
{
if (get_inode_item_key_version(inode) == KEY_FORMAT_3_5)
diff -puN net/ipv4/tcp_illinois.c~introduce-u16_max-and-u32_max net/ipv4/tcp_illinois.c
--- a/net/ipv4/tcp_illinois.c~introduce-u16_max-and-u32_max
+++ a/net/ipv4/tcp_illinois.c
@@ -12,6 +12,7 @@
* Copyright (C) 2007 Stephen Hemminger <shemminger@linux-foundation.org>
*/
+#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/skbuff.h>
#include <linux/inet_diag.h>
@@ -23,7 +24,6 @@
#define ALPHA_MIN ((3*ALPHA_SCALE)/10) /* ~0.3 */
#define ALPHA_MAX (10*ALPHA_SCALE) /* 10.0 */
#define ALPHA_BASE ALPHA_SCALE /* 1.0 */
-#define U32_MAX ((u32)~0U)
#define RTT_MAX (U32_MAX / ALPHA_MAX) /* 3.3 secs */
#define BETA_SHIFT 6
_
next prev parent reply other threads:[~2007-08-10 23:41 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-08-10 21:12 [patch 27/28] Introduce U16_MAX and U32_MAX akpm
2007-08-10 22:38 ` David Miller
2007-08-10 23:41 ` Andrew Morton [this message]
2007-08-13 15:29 ` Satyam Sharma
2007-08-13 19:03 ` Satyam Sharma
2007-08-13 20:52 ` David Miller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20070810164121.ac860896.akpm@linux-foundation.org \
--to=akpm@linux-foundation.org \
--cc=davem@davemloft.net \
--cc=netdev@vger.kernel.org \
--cc=satyam@infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox