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]
Message-ID: <874jwbnn1u.fsf@mpe.ellerman.id.au>
Date:   Tue, 11 Oct 2022 12:53:17 +1100
From:   Michael Ellerman <mpe@...erman.id.au>
To:     "Jason A. Donenfeld" <Jason@...c4.com>
Cc:     Linus Torvalds <torvalds@...ux-foundation.org>, ajd@...ux.ibm.com,
        aneesh.kumar@...ux.ibm.com, atrajeev@...ux.vnet.ibm.com,
        christophe.leroy@...roup.eu, cuigaosheng1@...wei.com,
        david@...hat.com, farosas@...ux.ibm.com, geoff@...radead.org,
        gustavoars@...nel.org, haren@...ux.ibm.com, hbathini@...ux.ibm.com,
        joel@....id.au, lihuafei1@...wei.com, linux-kernel@...r.kernel.org,
        linux@...ck-us.net, linuxppc-dev@...ts.ozlabs.org,
        lukas.bulwahn@...il.com, mikey@...ling.org, nathan@...nel.org,
        nathanl@...ux.ibm.com, nicholas@...ux.ibm.com, npiggin@...il.com,
        pali@...nel.org, paul@...l-moore.com, rmclure@...ux.ibm.com,
        ruscur@...sell.cc, windhl@....com,
        wsa+renesas@...g-engineering.com, ye.xingchen@....com.cn,
        yuanjilin@...rlc.com, zhengyongjun3@...wei.com
Subject: Re: [GIT PULL] Please pull powerpc/linux.git powerpc-6.1-1 tag

"Jason A. Donenfeld" <Jason@...c4.com> writes:
> On Mon, Oct 10, 2022 at 01:25:25PM -0600, Jason A. Donenfeld wrote:
>> Hi Michael,
>> 
>> On Sun, Oct 09, 2022 at 10:01:39PM +1100, Michael Ellerman wrote:
>> > powerpc updates for 6.1
>> > 
>> >  - Remove our now never-true definitions for pgd_huge() and p4d_leaf().
>> > 
>> >  - Add pte_needs_flush() and huge_pmd_needs_flush() for 64-bit.
>> > 
>> >  - Add support for syscall wrappers.
>> > 
>> >  - Add support for KFENCE on 64-bit.
>> > 
>> >  - Update 64-bit HV KVM to use the new guest state entry/exit accounting API.
>> > 
>> >  - Support execute-only memory when using the Radix MMU (P9 or later).
>> > 
>> >  - Implement CONFIG_PARAVIRT_TIME_ACCOUNTING for pseries guests.
>> > 
>> >  - Updates to our linker script to move more data into read-only sections.
>> > 
>> >  - Allow the VDSO to be randomised on 32-bit.
>> > 
>> >  - Many other small features and fixes.
>> 
>> FYI, something in here broke the wireguard test suite, which runs the
>> iperf3 networking utility. The full log is here [1], but the relevant part
>> is: 
>> 
>> [+] NS1: iperf3 -Z -t 3 -c 192.168.241.2
>> Connecting to host 192.168.241.2, port 5201
>> iperf3: error - failed to read /dev/urandom: Bad address
>> 
>> I'll see if I can narrow it down a bit more and bisect. But just FYI, in
>> case you have an intuition.
>
> Huh. From iov_iter.c:
>
> static int copyout(void __user *to, const void *from, size_t n)
> {
>         size_t before = n;
>         if (should_fail_usercopy())
>                 return n;
>         if (access_ok(to, n)) {
>                 instrument_copy_to_user(to, from, n);
>                 n = raw_copy_to_user(to, from, n);
>                 if (n == before)
>                         pr_err("SARU n still %zu pointer is %lx\n", n, (unsigned long)to);
>         }
>         return n;
> }
>
> I added the pr_err() there to catch the failure:
> [    3.443506] SARU n still 64 pointer is b78db000
>
> Also I managed to extract the failing portion of iperf3 into something
> smaller:
>
>         int temp;
>         char *x;
>         ssize_t l;
>         FILE *f;
>         char template[] = "/blah-XXXXXX";
>
>         temp = mkstemp(template);
>         if (temp < 0)
>                 panic("mkstemp");
>         if (unlink(template) < 0)
>                 panic("unlink");
>         if (ftruncate(temp, 0x20000) < 0)
>                 panic("ftruncate");
>         x = mmap(NULL, 0x20000, PROT_READ|PROT_WRITE, MAP_PRIVATE, temp, 0);
>         if (x == MAP_FAILED)
>                 panic("mmap");
>         f = fopen("/dev/urandom", "rb");
>         if (!f)
>                 panic("fopen");
>         setbuf(f, NULL);
>         if (fread(x, 1, 0x20000, f) != 0x20000)
>                 panic("fread");

Does that fail for you reliably?

It succeeds for me running under qemu ppce500, though I'm not using your
kernel config yet.

cheers

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ