提交 e5fc3161 编写于 作者: J Julia Lawall 提交者: Ingo Molnar

arch/x86/ia32: use time_before, time_before_eq, etc.

The functions time_before, time_before_eq, time_after, and time_after_eq
are more robust for comparing jiffies against other values.

A simplified version of the semantic patch making this change is as follows:
(http://www.emn.fr/x-info/coccinelle/)

// <smpl>
@ change_compare_np @
expression E;
@@

(
- jiffies <= E
+ time_before_eq(jiffies,E)
|
- jiffies >= E
+ time_after_eq(jiffies,E)
|
- jiffies < E
+ time_before(jiffies,E)
|
- jiffies > E
+ time_after(jiffies,E)
)

@ include depends on change_compare_np @
@@

#include <linux/jiffies.h>

@ no_include depends on !include && change_compare_np @
@@

  #include <linux/...>
+ #include <linux/jiffies.h>
// </smpl>

[ mingo@elte.hu: merge to x86.git ]
Signed-off-by: NJulia Lawall <julia@diku.dk>
Signed-off-by: NIngo Molnar <mingo@elte.hu>
Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
上级 31f80e45
...@@ -25,6 +25,7 @@ ...@@ -25,6 +25,7 @@
#include <linux/binfmts.h> #include <linux/binfmts.h>
#include <linux/personality.h> #include <linux/personality.h>
#include <linux/init.h> #include <linux/init.h>
#include <linux/jiffies.h>
#include <asm/system.h> #include <asm/system.h>
#include <asm/uaccess.h> #include <asm/uaccess.h>
...@@ -359,13 +360,14 @@ static int load_aout_binary(struct linux_binprm *bprm, struct pt_regs *regs) ...@@ -359,13 +360,14 @@ static int load_aout_binary(struct linux_binprm *bprm, struct pt_regs *regs)
#ifdef WARN_OLD #ifdef WARN_OLD
static unsigned long error_time, error_time2; static unsigned long error_time, error_time2;
if ((ex.a_text & 0xfff || ex.a_data & 0xfff) && if ((ex.a_text & 0xfff || ex.a_data & 0xfff) &&
(N_MAGIC(ex) != NMAGIC) && (jiffies-error_time2) > 5*HZ) { (N_MAGIC(ex) != NMAGIC) &&
time_after(jiffies, error_time2 + 5*HZ)) {
printk(KERN_NOTICE "executable not page aligned\n"); printk(KERN_NOTICE "executable not page aligned\n");
error_time2 = jiffies; error_time2 = jiffies;
} }
if ((fd_offset & ~PAGE_MASK) != 0 && if ((fd_offset & ~PAGE_MASK) != 0 &&
(jiffies - error_time) > 5*HZ) { time_after(jiffies, error_time + 5*HZ)) {
printk(KERN_WARNING printk(KERN_WARNING
"fd_offset is not page aligned. Please convert " "fd_offset is not page aligned. Please convert "
"program: %s\n", "program: %s\n",
...@@ -484,7 +486,7 @@ static int load_aout_library(struct file *file) ...@@ -484,7 +486,7 @@ static int load_aout_library(struct file *file)
#ifdef WARN_OLD #ifdef WARN_OLD
static unsigned long error_time; static unsigned long error_time;
if ((jiffies-error_time) > 5*HZ) { if (time_after(jiffies, error_time + 5*HZ)) {
printk(KERN_WARNING printk(KERN_WARNING
"N_TXTOFF is not page aligned. Please convert " "N_TXTOFF is not page aligned. Please convert "
"library: %s\n", "library: %s\n",
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册