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, 25 Nov 2011 16:16:22 +0000
From:	Nuno Santos <nsantos@...gma.com>
To:	Jiri Slaby <jirislaby@...il.com>
CC:	linux-kernel@...r.kernel.org
Subject: Re: Floating point usage inside kernel

Hi Jiri,

Thanks for your reply.

The algorithm is a matrix transform computation to make a affine a 
geometric transform.

Basicly it is based on the following functions:

http://pastebin.com/YHzYuLPU

Curiously I ran a test before writing this email and guest what.... is 
working!! :)

But now that I have opened this question here I should ask... is it safe?

This is the call to the function i'm making in kernel side (most of the 
computation are made in userspace during a calibration and only 
calculated data goest back to kernel. Then, in runtime inside the driver 
I need to call this function:

mx3d_transform(src, zone->Matrix, tex);

Which is defined in the pastebin above.

And the input data is the following:

src[0] = [0,6300]; src[1] = [0,6300]; src[2] = 1.0;
zone->Matrix (double[3][3])

u: 492.188 v: 615.234 sx: 683.158 sy: 5790.13

u: 5807.81 v: 615.234 sx: 5944.9 sy: 5900.58

u: 5807.81 v: 5684.77 sx: 6027.46 sy: 560.337

u: 492.188 v: 5684.77 sx: 751.198 sy: 476.455


and tex is output (double[3])

I'm not protecting the call to the function with kernel_fpu_begin and 
kernel_fpu_end

Should I be happy with the results or should I be concerned in 
converting this function only to integer?

I hope I have been clear in my language.

Thanks,

With my best regards,

Nuno

On 11/25/2011 12:08 PM, Jiri Slaby wrote:
> On 11/25/2011 12:14 PM, Nuno Santos wrote:
>> Doing a grep -r kernel_fpu_begin * on kernel source dir I can find
>> several references to this functions but not them is included in the
>> include dir. Which include do I need to have this functions found in
>> compile time?
> It is defined in arch specific includes. For x86 in asm/i387.h (in
> arch/x86/include).
>
>> Am I even sailing in the right direction?
> You should generally not use that anyway. It's not portable and disables
> preemption.
>
> Can't you do the computations in userspace? And why it cannot be
> switched to integer types -- what algorithm is that? Some math function?
>
> reagards,


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