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-next>] [day] [month] [year] [list]
Message-Id: <200608301830.40994.ak@suse.de>
Date:	Wed, 30 Aug 2006 18:30:40 +0200
From:	Andi Kleen <ak@...e.de>
To:	pageexec@...email.hu
Cc:	Willy Tarreau <w@....eu>, Riley@...liams.name, davej@...hat.com,
	linux-kernel@...r.kernel.org
Subject: Re: [PATCH][RFC] exception processing in early boot

On Wednesday 30 August 2006 18:25, pageexec@...email.hu wrote:
> On 30 Aug 2006 at 14:59, Andi Kleen wrote:
> > > I think that the good method would be to :
> > >   - announce the patch
> > >   - find a volunteer to port it
> > >   - apply it once the volunteer agrees to handle it
> > > This way, no code gets lost because there's always someone to track it.
> > 
> > I can put that one into my tree for .19
> 
> here's my quick attempt:


It would be better to separate exceptions from interrupts here.
A spurious interrupt is not necessarily fatal, just an exception is.

But I went with the simpler patch with some changes now 
(added PANIC to the message etc.) 

> 
> --- linux-2.6.18-rc5/arch/i386/kernel/head.S	2006-08-28 11:37:31.000000000 
> +0200
> +++ linux-2.6.18-rc5-fix/arch/i386/kernel/head.S	2006-08-30 
> 18:22:15.000000000 +0200
> @@ -382,34 +382,25 @@ rp_sidt:
>  /* This is the default interrupt "handler" :-) */
>  	ALIGN
>  ignore_int:
> -	cld
>  #ifdef CONFIG_PRINTK
> -	pushl %eax
> -	pushl %ecx
> -	pushl %edx
> -	pushl %es
> -	pushl %ds
> +	cld
>  	movl $(__KERNEL_DS),%eax
>  	movl %eax,%ds
>  	movl %eax,%es
> -	pushl 16(%esp)
> -	pushl 24(%esp)
> -	pushl 32(%esp)
> -	pushl 40(%esp)
> +	pushl 12(%esp)
> +	pushl 12(%esp)
> +	pushl 12(%esp)
> +	pushl 12(%esp)
>  	pushl $int_msg
>  #ifdef CONFIG_EARLY_PRINTK
>  	call early_printk
>  #else
>  	call printk
>  #endif
> -	addl $(5*4),%esp
> -	popl %ds
> -	popl %es
> -	popl %edx
> -	popl %ecx
> -	popl %eax
>  #endif
> -	iret
> +1:	hlt

This is wrong because i386 still supports some CPUs that don't support
HLT.

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