Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <f84442701826d4b5baacf93f437221ba@smtp.hushmail.com>
Date: Wed, 21 Nov 2012 18:48:07 +0100
From: magnum <john.magnum@...hmail.com>
To: john-dev@...ts.openwall.com
Subject: Re: Problems on recent AMD driver

On 21 Nov, 2012, at 18:06 , Claudio André <claudioandre.br@...il.com> wrote:
> Em 21-11-2012 12:57, Claudio André escreveu:
>> Em 20-11-2012 19:19, magnum escreveu:
>>> If someone could review commit 1bee9a4 *very* closely, looking for violations of the specifications, problematic casts, misalignment or whatever, there's a chance you'll find something that solves this for all of the formats. But first, of course, confirm my assumption that md5crypt-opencl worked prior to that commit.
>> 
> 
> I sent you a "pull request". Please, take a look.
> 
> Claudio

Thanks a lot for looking into this! So it seems what trips the segfault is the use of MEM_ALLOC_HOST_PTR, and mapping GPU memory to host memory. While dropping that will not make a lot of difference for md5crypt, it will mean a terrible performance drop for ntlmv2. The way I use it is by the [nvidia] book, for enabling best speed transfers or even zero-copy when possible.

Also, why does it work here:

magnum@...r-osx:src [unstable-jumbo]$ git grep -hC5 clEnqueueMapBuffer opencl_cryptsha256_fmt.c | head
    pinned_saved_keys = clCreateBuffer(context[ocl_gpu_id],
            CL_MEM_READ_WRITE | CL_MEM_ALLOC_HOST_PTR,
            sizeof(sha256_password) * gws, NULL, &ret_code);
    HANDLE_CLERROR(ret_code, "Error creating page-locked memory pinned_saved_keys");

    plaintext = (sha256_password *) clEnqueueMapBuffer(queue[ocl_gpu_id],
            pinned_saved_keys, CL_TRUE, CL_MAP_WRITE | CL_MAP_READ, 0,
            sizeof(sha256_password) * gws, 0, NULL, NULL, &ret_code);
    HANDLE_CLERROR(ret_code, "Error mapping page-locked memory saved_plain");

The only difference I can see is that I use CL_MEM_READ_ONLY instead of CL_MEM_READ_WRITE. What happens if you revert to unstable-jumbo and just change that?

magnum

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.