Re: [PATCH] x86: simplify notify_page_fault()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Jan 08, 2007 at 01:31:11PM +0000, Jan Beulich wrote:
> Remove all parameters from this function that aren't really variable.
> 
> Signed-off-by: Jan Beulich <[email protected]>
> 
> --- linux-2.6.20-rc4/arch/i386/mm/fault.c	2007-01-08 09:57:20.000000000 +0100
> +++ 2.6.20-rc4-x86-simplify-notify_page_fault/arch/i386/mm/fault.c	2007-01-08 10:32:45.000000000 +0100
> @@ -46,17 +46,17 @@ int unregister_page_fault_notifier(struc
>  }
>  EXPORT_SYMBOL_GPL(unregister_page_fault_notifier);
>  
> -static inline int notify_page_fault(enum die_val val, const char *str,
> -			struct pt_regs *regs, long err, int trap, int sig)
> +static inline int notify_page_fault(struct pt_regs *regs, long err)
>  {
>  	struct die_args args = {
>  		.regs = regs,
> -		.str = str,
> +		.str = "page fault",
>  		.err = err,
> -		.trapnr = trap,
> -		.signr = sig
> +		.trapnr = 14,
> +		.signr = SIGSEGV
>  	};
> -	return atomic_notifier_call_chain(&notify_page_fault_chain, val, &args);
> +	return atomic_notifier_call_chain(&notify_page_fault_chain,
> +	                                  DIE_PAGE_FAULT, &args);
>  }

Btw, WTF

>  
>  /*
> @@ -353,8 +353,7 @@ fastcall void __kprobes do_page_fault(st
>  	if (unlikely(address >= TASK_SIZE)) {
>  		if (!(error_code & 0x0000000d) && vmalloc_fault(address) >= 0)
>  			return;
> -		if (notify_page_fault(DIE_PAGE_FAULT, "page fault", regs, error_code, 14,
> -						SIGSEGV) == NOTIFY_STOP)
> +		if (notify_page_fault(regs, error_code) == NOTIFY_STOP)
>  			return;
>  		/*
>  		 * Don't take the mm semaphore here. If we fixup a prefetch
> @@ -363,8 +362,7 @@ fastcall void __kprobes do_page_fault(st
>  		goto bad_area_nosemaphore;
>  	}
>  
> -	if (notify_page_fault(DIE_PAGE_FAULT, "page fault", regs, error_code, 14,
> -					SIGSEGV) == NOTIFY_STOP)
> +	if (notify_page_fault(regs, error_code) == NOTIFY_STOP)
>  		return;
>  
>  	/* It's safe to allow irq's after cr2 has been saved and the vmalloc
> --- linux-2.6.20-rc4/arch/x86_64/mm/fault.c	2007-01-08 09:57:27.000000000 +0100
> +++ 2.6.20-rc4-x86-simplify-notify_page_fault/arch/x86_64/mm/fault.c	2007-01-08 10:33:11.000000000 +0100
> @@ -56,17 +56,17 @@ int unregister_page_fault_notifier(struc
>  }
>  EXPORT_SYMBOL_GPL(unregister_page_fault_notifier);
>  
> -static inline int notify_page_fault(enum die_val val, const char *str,
> -			struct pt_regs *regs, long err, int trap, int sig)
> +static inline int notify_page_fault(struct pt_regs *regs, long err)
>  {
>  	struct die_args args = {
>  		.regs = regs,
> -		.str = str,
> +		.str = "page fault",
>  		.err = err,
> -		.trapnr = trap,
> -		.signr = sig
> +		.trapnr = 14,
> +		.signr = SIGSEGV
>  	};
> -	return atomic_notifier_call_chain(&notify_page_fault_chain, val, &args);
> +	return atomic_notifier_call_chain(&notify_page_fault_chain,
> +	                                  DIE_PAGE_FAULT, &args);
>  }
>  
>  void bust_spinlocks(int yes)
> @@ -376,8 +376,7 @@ asmlinkage void __kprobes do_page_fault(
>  			if (vmalloc_fault(address) >= 0)
>  				return;
>  		}
> -		if (notify_page_fault(DIE_PAGE_FAULT, "page fault", regs, error_code, 14,
> -						SIGSEGV) == NOTIFY_STOP)
> +		if (notify_page_fault(regs, error_code) == NOTIFY_STOP)
>  			return;
>  		/*
>  		 * Don't take the mm semaphore here. If we fixup a prefetch
> @@ -386,8 +385,7 @@ asmlinkage void __kprobes do_page_fault(
>  		goto bad_area_nosemaphore;
>  	}
>  
> -	if (notify_page_fault(DIE_PAGE_FAULT, "page fault", regs, error_code, 14,
> -					SIGSEGV) == NOTIFY_STOP)
> +	if (notify_page_fault(regs, error_code) == NOTIFY_STOP)
>  		return;
>  
>  	if (likely(regs->eflags & X86_EFLAGS_IF))
> 
> 
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/
---end quoted text---
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux