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:	Tue, 7 Oct 2008 22:15:35 +0530
From:	"K.Prasad" <prasad@...ux.vnet.ibm.com>
To:	Avi Kivity <avi@...hat.com>
Cc:	linux-kernel@...r.kernel.org,
	Alan Stern <stern@...land.harvard.edu>,
	Roland McGrath <roland@...hat.com>, akpm@...ux-foundation.org,
	mingo@...e.hu, jason.wessel@...driver.com,
	richardj_moore@...ibm.com
Subject: Re: [RFC Patch 0/9] Hardware Breakpoint interfaces

On Tue, Oct 07, 2008 at 04:36:54PM +0200, Avi Kivity wrote:
> K.Prasad wrote:
>> On Tue, Oct 07, 2008 at 02:29:05PM +0200, Avi Kivity wrote:
>>   
>>> K.Prasad wrote:
>>>     
>>>> - Enable KGDB and KVM to use the register_kernel_hw_breakpoint()
>>>>   interface for their HW Breakpoint usage, in the absence of which
>>>>   they will be broken during simultaneous use.
>>>>         
>>> KVM conceptually isn't a kernel use of the debug registers.  KVM   
>>> modifies the debug registers while the guest is running, and restores 
>>>  them after the guest returns.
>>>
>>> Right now, as an optimization, KVM defers restoring the debug 
>>> registers  until after the next context switch out of the kvm task, 
>>> or until the  next exit to userspace (whichever comes earlier); we 
>>> should change this  to avoid the deferral if kernel breakpoints are 
>>> in effect.  This will  allow simultaneous use of KVM breakpoints and 
>>> kernel breakpoints.
>>>
>>>     
>> The patch posted provides interface for using HW breakpoints on both
>> user- and kernel-space breakpoints. KVM's user-space address breakpoint
>> requirements, after code-modification, should be made to use
>> register_user_hw_breakpoint() interface (presently un-exported but will
>> be changed subsequently) to help maintain a system-wide consistent view on the
>> availability of HW Breakpoint registers.
>>
>>   
>
> Correcting myself, actually kvm breakpoints are in a third namespace.   
> You could have kernel breakpoints, user breakpoints, and guest  
> breakpoints coexisting.
>
>> Presently I find plenty of set_debugreg() calls from kvm/ which will
>> modify the registers directly and break the breakpoint register
>> management brought-in through the patch.
>>   
>
> If kvm restores the registers, should there be any problem?
>
No, it should be fine although I don't understand how the exception
handler is invoked in KVM without the use of notifier or a hook in
die_debug (or have they replaced code at a layer much below that?).

Apart from the doubt I've stated above, if they operate by replacing
the breakpoint register contents before a context switch from KVM to
other processes, they might in fact help maximise its utilisation.

Thanks for the clarification!

Thanks,
K.Prasad

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