lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Fri, 27 Mar 2009 15:19:37 +0100
From:	Oleg Nesterov <oleg@...hat.com>
To:	Markus Metzger <markus.t.metzger@...el.com>
Cc:	linux-kernel@...r.kernel.org, mingo@...e.hu, tglx@...utronix.de,
	hpa@...or.com, markus.t.metzger@...il.com, roland@...hat.com,
	eranian@...glemail.com, juan.villacis@...el.com,
	ak@...ux.jf.intel.com
Subject: Re: [patch 1/14] x86, ptrace: add arch_ptrace_report_exit

On 03/27, Markus Metzger wrote:
>
> --- git-tip.orig/include/linux/ptrace.h	2009-03-23 10:45:30.000000000 +0100
> +++ git-tip/include/linux/ptrace.h	2009-03-23 11:31:21.000000000 +0100
> @@ -335,6 +335,23 @@ static inline void user_enable_block_ste
>  #define arch_ptrace_fork(child, clone_flags)	do { } while (0)
>  #endif
>
> +#ifndef arch_ptrace_report_exit
> +/**
> + * arch_ptrace_report_exit - Do machine specific work for exiting ptraced tasks
> + * @exit_code:	current->exit_code value
> + *
> + * This is called early from do_exit() with no locks held after we notified the
> + * ptracer.
> + */
> +#define arch_ptrace_report_exit(exit_code)	do { } while (0)
> +#endif
> +
> +static inline void ptrace_report_exit(long *exit_code)
> +{
> +	ptrace_event(PT_TRACE_EXIT, PTRACE_EVENT_EXIT, *exit_code);
> +	arch_ptrace_report_exit(*exit_code);
> +}
> +
>  extern int task_current_syscall(struct task_struct *target, long *callno,
>  				unsigned long args[6], unsigned int maxargs,
>  				unsigned long *sp, unsigned long *pc);
> Index: git-tip/include/linux/tracehook.h
> ===================================================================
> --- git-tip.orig/include/linux/tracehook.h	2009-03-23 10:45:30.000000000 +0100
> +++ git-tip/include/linux/tracehook.h	2009-03-23 11:31:21.000000000 +0100
> @@ -211,7 +211,7 @@ static inline void tracehook_report_exec
>   */
>  static inline void tracehook_report_exit(long *exit_code)
>  {
> -	ptrace_event(PT_TRACE_EXIT, PTRACE_EVENT_EXIT, *exit_code);
> +	ptrace_report_exit(exit_code);
>  }

This needs Rolan'd review.

But I'd say this has nothing to do with tracehooks. And why do
you pass *exit_code to arch_ptrace_report_exit() ?

Just add arch_ptrace_report_exit(void) into do_exit() ?

>From the 3/14 patch:

	#define arch_ptrace_report_exit(code) x86_ptrace_report_exit(code)

	void x86_ptrace_report_exit(long exit_code)
	{
	       ptrace_bts_exit();
	}

This is a bit strange. Why do we need 2 functions, ptrace_bts_exit() and
x86_ptrace_report_exit() which just calls the first one?

Oleg.

--
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

Powered by Openwall GNU/*/Linux Powered by OpenVZ