linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC][PATCH 0/5] Fixes for abs() usage on 64bit values
@ 2015-09-15  1:05 John Stultz
  2015-09-15  1:05 ` [RFC][PATCH 1/5] clocksource: Fix abs() usage w/ " John Stultz
                   ` (5 more replies)
  0 siblings, 6 replies; 19+ messages in thread
From: John Stultz @ 2015-09-15  1:05 UTC (permalink / raw)
  To: LKML
  Cc: John Stultz, Andrew Morton, Ingo Molnar, Steven Rostedt (Red Hat),
	Peter Zijlstra, Masami Hiramatsu, Michal Nazarewicz,
	Prarit Bhargava, Richard Cochran, Thomas Gleixner,
	Theodore Ts'o, Andreas Dilger, Dave Chinner, Tejun Heo,
	Joe Perches

As noted in include/linux/kernel.h:
 "abs() should not be used for 64-bit types (s64, u64, long long)
 - use abs64() for those."

Unfortunately, there are quite a number of places where abs()
was used w/ 64bit values in the kernel, and the results are
then silently capped to 32-bit values on 32-bit systems.

This series tries to address the problematic sites I found,
and then introduces a patch which modifies abs() so that the
build will fail if a 64-bit type is passed to it on a 32-bit
machine.

I'm sure there are additional sites that will need fixing,
but hopefully this will make them easy to find.

Comments and feedback would be greatly appreciated!

Thanks
-john

Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: "Steven Rostedt (Red Hat)" <rostedt@goodmis.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Cc: Michal Nazarewicz <mina86@mina86.com>
Cc: Prarit Bhargava <prarit@redhat.com>
Cc: Richard Cochran <richardcochran@gmail.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: "Theodore Ts'o" <tytso@mit.edu>
Cc: Andreas Dilger <adilger.kernel@dilger.ca>
Cc: Dave Chinner <dchinner@redhat.com>
Cc: Tejun Heo <tj@kernel.org>
Cc: Joe Perches <joe@perches.com>


John Stultz (5):
  clocksource: Fix abs() usage w/ 64bit values
  time: Fix abs() usage with 64-bit values.
  ext4: Fix abs() usage in  ext4_mb_check_group_pa
  percpu: Fix abs() usage in percpu_counter_compare()
  abs(): Provide build error on passing 64bit value to abs()

 fs/ext4/mballoc.c         | 4 ++--
 include/linux/kernel.h    | 3 +++
 kernel/time/clocksource.c | 2 +-
 kernel/time/timekeeping.c | 2 +-
 lib/percpu_counter.c      | 2 +-
 5 files changed, 8 insertions(+), 5 deletions(-)

-- 
1.9.1


^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2015-10-02 20:58 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-09-15  1:05 [RFC][PATCH 0/5] Fixes for abs() usage on 64bit values John Stultz
2015-09-15  1:05 ` [RFC][PATCH 1/5] clocksource: Fix abs() usage w/ " John Stultz
2015-10-02 20:57   ` [tip:timers/urgent] " tip-bot for John Stultz
2015-09-15  1:05 ` [RFC][PATCH 2/5] time: Fix abs() usage with 64-bit values John Stultz
2015-09-15  1:05 ` [RFC][PATCH 3/5] ext4: Fix abs() usage in ext4_mb_check_group_pa John Stultz
2015-09-15  1:05 ` [RFC][PATCH 4/5] percpu: Fix abs() usage in percpu_counter_compare() John Stultz
2015-09-15  1:05 ` [RFC][PATCH 5/5] abs(): Provide build error on passing 64bit value to abs() John Stultz
2015-09-15  5:22   ` Ingo Molnar
2015-09-15 23:52     ` Linus Torvalds
2015-09-16 12:57       ` [PATCH] kernel.h: make abs() work with 64-bit types Michal Nazarewicz
2015-09-18  3:12         ` John Stultz
2015-09-15  1:49 ` [RFC][PATCH 0/5] Fixes for abs() usage on 64bit values Tejun Heo
2015-09-15  3:27   ` John Stultz
2015-09-15  3:46     ` Tejun Heo
2015-09-15 12:09       ` Jeff Epler
2015-09-15 21:21       ` Andrew Morton
2015-09-15 22:54         ` Michal Nazarewicz
2015-09-15  5:20     ` Ingo Molnar
2015-09-15 23:43       ` Linus Torvalds

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).