[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20111117153250.f3262a29.akpm@linux-foundation.org>
Date: Thu, 17 Nov 2011 15:32:50 -0800
From: Andrew Morton <akpm@...ux-foundation.org>
To: Cristian RodrÃguez <crrodriguez@...nsuse.org>
Cc: Andrei Warkentin <andreiw@...are.com>,
linux-kernel@...r.kernel.org,
Rolf Eike Beer <eike-kernel@...tec.de>,
opensuse-kernel@...nsuse.org,
Sergiu Iordache <sergiu@...omium.org>,
Marco Stornelli <marco.stornelli@...il.com>,
Eddie Wai <eddie.wai@...adcom.com>,
Jayamohan Kallickal <jayamohan.kallickal@...lex.com>,
Guennadi Liakhovetski <g.liakhovetski@....de>
Subject: Re: [opensuse-kernel] Re: [PATCH] include/log2.h: Fix
rounddown_pow_of_two(1)
On Thu, 17 Nov 2011 20:19:06 -0300
Cristian Rodr__guez <crrodriguez@...nsuse.org> wrote:
> On 17/11/11 20:05, Andrew Morton wrote:
>
> > I assume that nobody has gone off and checked whether all current
> > callers will survive this change. If they had, they'd have looked in
> > drivers/char/ramoops.c and seen:
> >
> > rounddown_pow_of_two(pdata->mem_size);
> > rounddown_pow_of_two(pdata->record_size);
> >
> > These operations are no-ops. It should be
> >
> > pdata->mem_size = rounddown_pow_of_two(pdata->mem_size);
> > pdata->record_size = rounddown_pow_of_two(pdata->record_size);
> >
> > That we have this many warts using these interfaces is an indication
> > that the interfaces aren't very good. Poorly documented, at least.
> >
>
> making that macro an inline function and annotating with
> __attribute__((warn_unused_result)) looks like a good start for me.
The problem is:
* - this can be used to initialise global variables from constant data
I'm surprised that this is true. Is gcc smart enough to actually do
this?
<tests it>
--- a/fs/open.c~a
+++ a/fs/open.c
@@ -31,6 +31,10 @@
#include <linux/ima.h>
#include <linux/dnotify.h>
+#include <linux/log2.h>
+
+int blap = rounddown_pow_of_two(42);
+
#include "internal.h"
int do_truncate(struct dentry *dentry, loff_t length, unsigned int time_attrs,
_
ooh, it worked.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists