* Re: [PATCH 1/2] open: add close_range()
From: Al Viro @ 2019-05-21 15:00 UTC (permalink / raw)
To: Christian Brauner
Cc: linux-ia64, linux-sh, oleg, dhowells, linux-kselftest, sparclinux,
shuah, linux-arch, linux-s390, miklos, x86, torvalds, linux-mips,
linux-xtensa, tkjos, arnd, jannh, linux-m68k, tglx, ldv,
linux-arm-kernel, fweimer, linux-parisc, linux-api, linux-kernel,
linux-alpha, linux-fsdevel, linuxppc-dev
In-Reply-To: <20190521113448.20654-1-christian@brauner.io>
On Tue, May 21, 2019 at 01:34:47PM +0200, Christian Brauner wrote:
> This adds the close_range() syscall. It allows to efficiently close a range
> of file descriptors up to all file descriptors of a calling task.
>
> The syscall came up in a recent discussion around the new mount API and
> making new file descriptor types cloexec by default. During this
> discussion, Al suggested the close_range() syscall (cf. [1]). Note, a
> syscall in this manner has been requested by various people over time.
>
> First, it helps to close all file descriptors of an exec()ing task. This
> can be done safely via (quoting Al's example from [1] verbatim):
>
> /* that exec is sensitive */
> unshare(CLONE_FILES);
> /* we don't want anything past stderr here */
> close_range(3, ~0U);
> execve(....);
>
> The code snippet above is one way of working around the problem that file
> descriptors are not cloexec by default. This is aggravated by the fact that
> we can't just switch them over without massively regressing userspace. For
> a whole class of programs having an in-kernel method of closing all file
> descriptors is very helpful (e.g. demons, service managers, programming
> language standard libraries, container managers etc.).
> (Please note, unshare(CLONE_FILES) should only be needed if the calling
> task is multi-threaded and shares the file descriptor table with another
> thread in which case two threads could race with one thread allocating
> file descriptors and the other one closing them via close_range(). For the
> general case close_range() before the execve() is sufficient.)
>
> Second, it allows userspace to avoid implementing closing all file
> descriptors by parsing through /proc/<pid>/fd/* and calling close() on each
> file descriptor. From looking at various large(ish) userspace code bases
> this or similar patterns are very common in:
> - service managers (cf. [4])
> - libcs (cf. [6])
> - container runtimes (cf. [5])
> - programming language runtimes/standard libraries
> - Python (cf. [2])
> - Rust (cf. [7], [8])
> As Dmitry pointed out there's even a long-standing glibc bug about missing
> kernel support for this task (cf. [3]).
> In addition, the syscall will also work for tasks that do not have procfs
> mounted and on kernels that do not have procfs support compiled in. In such
> situations the only way to make sure that all file descriptors are closed
> is to call close() on each file descriptor up to UINT_MAX or RLIMIT_NOFILE,
> OPEN_MAX trickery (cf. comment [8] on Rust).
>
> The performance is striking. For good measure, comparing the following
> simple close_all_fds() userspace implementation that is essentially just
> glibc's version in [6]:
>
> static int close_all_fds(void)
> {
> DIR *dir;
> struct dirent *direntp;
>
> dir = opendir("/proc/self/fd");
> if (!dir)
> return -1;
>
> while ((direntp = readdir(dir))) {
> int fd;
> if (strcmp(direntp->d_name, ".") == 0)
> continue;
> if (strcmp(direntp->d_name, "..") == 0)
> continue;
> fd = atoi(direntp->d_name);
> if (fd == 0 || fd == 1 || fd == 2)
> continue;
> close(fd);
> }
>
> closedir(dir); /* cannot fail */
> return 0;
> }
>
> to close_range() yields:
> 1. closing 4 open files:
> - close_all_fds(): ~280 us
> - close_range(): ~24 us
>
> 2. closing 1000 open files:
> - close_all_fds(): ~5000 us
> - close_range(): ~800 us
>
> close_range() is designed to allow for some flexibility. Specifically, it
> does not simply always close all open file descriptors of a task. Instead,
> callers can specify an upper bound.
> This is e.g. useful for scenarios where specific file descriptors are
> created with well-known numbers that are supposed to be excluded from
> getting closed.
> For extra paranoia close_range() comes with a flags argument. This can e.g.
> be used to implement extension. Once can imagine userspace wanting to stop
> at the first error instead of ignoring errors under certain circumstances.
> There might be other valid ideas in the future. In any case, a flag
> argument doesn't hurt and keeps us on the safe side.
>
> >From an implementation side this is kept rather dumb. It saw some input
> from David and Jann but all nonsense is obviously my own!
> - Errors to close file descriptors are currently ignored. (Could be changed
> by setting a flag in the future if needed.)
> - __close_range() is a rather simplistic wrapper around __close_fd().
> My reasoning behind this is based on the nature of how __close_fd() needs
> to release an fd. But maybe I misunderstood specifics:
> We take the files_lock and rcu-dereference the fdtable of the calling
> task, we find the entry in the fdtable, get the file and need to release
> files_lock before calling filp_close().
> In the meantime the fdtable might have been altered so we can't just
> retake the spinlock and keep the old rcu-reference of the fdtable
> around. Instead we need to grab a fresh reference to the fdtable.
> If my reasoning is correct then there's really no point in fancyfying
> __close_range(): We just need to rcu-dereference the fdtable of the
> calling task once to cap the max_fd value correctly and then go on
> calling __close_fd() in a loop.
> +/**
> + * __close_range() - Close all file descriptors in a given range.
> + *
> + * @fd: starting file descriptor to close
> + * @max_fd: last file descriptor to close
> + *
> + * This closes a range of file descriptors. All file descriptors
> + * from @fd up to and including @max_fd are closed.
> + */
> +int __close_range(struct files_struct *files, unsigned fd, unsigned max_fd)
> +{
> + unsigned int cur_max;
> +
> + if (fd > max_fd)
> + return -EINVAL;
> +
> + rcu_read_lock();
> + cur_max = files_fdtable(files)->max_fds;
> + rcu_read_unlock();
> +
> + /* cap to last valid index into fdtable */
> + if (max_fd >= cur_max)
> + max_fd = cur_max - 1;
> +
> + while (fd <= max_fd)
> + __close_fd(files, fd++);
> +
> + return 0;
> +}
Umm... That's going to be very painful if you dup2() something to MAX_INT and
then run that; roughly 2G iterations of bouncing ->file_lock up and down,
without anything that would yield CPU in process.
If anything, I would suggest something like
fd = *start_fd;
grab the lock
fdt = files_fdtable(files);
more:
look for the next eviction candidate in ->open_fds, starting at fd
if there's none up to max_fd
drop the lock
return NULL
*start_fd = fd + 1;
if the fscker is really opened and not just reserved
rcu_assign_pointer(fdt->fd[fd], NULL);
__put_unused_fd(files, fd);
drop the lock
return the file we'd got
if (unlikely(need_resched()))
drop lock
cond_resched();
grab lock
fdt = files_fdtable(files);
goto more;
with the main loop being basically
while ((file = pick_next(files, &start_fd, max_fd)) != NULL)
filp_close(file, files);
^ permalink raw reply
* Re: Re: [RFC PATCH 02/12] powerpc: Add support for adding an ESM blob to the zImage wrapper
From: Ram Pai @ 2019-05-21 15:09 UTC (permalink / raw)
To: Christoph Hellwig
Cc: Anshuman Khandual, Alexey Kardashevskiy, Mike Anderson,
linux-kernel, Claudio Carvalho, Paul Mackerras, linuxppc-dev,
Thiago Jung Bauermann
In-Reply-To: <20190521051326.GC29120@lst.de>
On Tue, May 21, 2019 at 07:13:26AM +0200, Christoph Hellwig wrote:
> On Tue, May 21, 2019 at 01:49:02AM -0300, Thiago Jung Bauermann wrote:
> > From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
> >
> > For secure VMs, the signing tool will create a ticket called the "ESM blob"
> > for the Enter Secure Mode ultravisor call with the signatures of the kernel
> > and initrd among other things.
> >
> > This adds support to the wrapper script for adding that blob via the "-e"
> > option to the zImage.pseries.
> >
> > It also adds code to the zImage wrapper itself to retrieve and if necessary
> > relocate the blob, and pass its address to Linux via the device-tree, to be
> > later consumed by prom_init.
>
> Where does the "BLOB" come from? How is it licensed and how can we
> satisfy the GPL with it?
The "BLOB" is not a piece of code. Its just a piece of data that gets
generated by our build tools. This data contains the
signed hash of the kernel, initrd, and kernel command line parameters.
Also it contains any information that the creator the the BLOB wants to
be made available to anyone needing it, inside the
secure-virtual-machine. All of this is integrity-protected and encrypted
to safegaurd it when at rest and at runtime.
Bottomline -- Blob is data, and hence no licensing implication. And due
to some reason, even data needs to have licensing statement, we can
make it available to have no conflicts with GPL.
--
Ram Pai
^ permalink raw reply
* Re: [PATCH] mm/nvdimm: Use correct #defines instead of opencoding
From: Dan Williams @ 2019-05-21 16:07 UTC (permalink / raw)
To: Aneesh Kumar K.V; +Cc: Linux MM, linuxppc-dev, linux-nvdimm
In-Reply-To: <87mujgcf0h.fsf@linux.ibm.com>
On Tue, May 21, 2019 at 2:51 AM Aneesh Kumar K.V
<aneesh.kumar@linux.ibm.com> wrote:
>
> Dan Williams <dan.j.williams@intel.com> writes:
>
> > On Mon, May 13, 2019 at 9:46 PM Aneesh Kumar K.V
> > <aneesh.kumar@linux.ibm.com> wrote:
> >>
> >> On 5/14/19 9:42 AM, Dan Williams wrote:
> >> > On Mon, May 13, 2019 at 9:05 PM Aneesh Kumar K.V
> >> > <aneesh.kumar@linux.ibm.com> wrote:
> >> >>
> >> >> On 5/14/19 9:28 AM, Dan Williams wrote:
> >> >>> On Mon, May 13, 2019 at 7:56 PM Aneesh Kumar K.V
> >> >>> <aneesh.kumar@linux.ibm.com> wrote:
> >> >>>>
> >> >>>> The nfpn related change is needed to fix the kernel message
> >> >>>>
> >> >>>> "number of pfns truncated from 2617344 to 163584"
> >> >>>>
> >> >>>> The change makes sure the nfpns stored in the superblock is right value.
> >> >>>>
> >> >>>> Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
> >> >>>> ---
> >> >>>> drivers/nvdimm/pfn_devs.c | 6 +++---
> >> >>>> drivers/nvdimm/region_devs.c | 8 ++++----
> >> >>>> 2 files changed, 7 insertions(+), 7 deletions(-)
> >> >>>>
> >> >>>> diff --git a/drivers/nvdimm/pfn_devs.c b/drivers/nvdimm/pfn_devs.c
> >> >>>> index 347cab166376..6751ff0296ef 100644
> >> >>>> --- a/drivers/nvdimm/pfn_devs.c
> >> >>>> +++ b/drivers/nvdimm/pfn_devs.c
> >> >>>> @@ -777,8 +777,8 @@ static int nd_pfn_init(struct nd_pfn *nd_pfn)
> >> >>>> * when populating the vmemmap. This *should* be equal to
> >> >>>> * PMD_SIZE for most architectures.
> >> >>>> */
> >> >>>> - offset = ALIGN(start + reserve + 64 * npfns,
> >> >>>> - max(nd_pfn->align, PMD_SIZE)) - start;
> >> >>>> + offset = ALIGN(start + reserve + sizeof(struct page) * npfns,
> >> >>>> + max(nd_pfn->align, PMD_SIZE)) - start;
> >> >>>
> >> >>> No, I think we need to record the page-size into the superblock format
> >> >>> otherwise this breaks in debug builds where the struct-page size is
> >> >>> extended.
> >> >>>
> >> >>>> } else if (nd_pfn->mode == PFN_MODE_RAM)
> >> >>>> offset = ALIGN(start + reserve, nd_pfn->align) - start;
> >> >>>> else
> >> >>>> @@ -790,7 +790,7 @@ static int nd_pfn_init(struct nd_pfn *nd_pfn)
> >> >>>> return -ENXIO;
> >> >>>> }
> >> >>>>
> >> >>>> - npfns = (size - offset - start_pad - end_trunc) / SZ_4K;
> >> >>>> + npfns = (size - offset - start_pad - end_trunc) / PAGE_SIZE;
> >> >>>
> >> >>> Similar comment, if the page size is variable then the superblock
> >> >>> needs to explicitly account for it.
> >> >>>
> >> >>
> >> >> PAGE_SIZE is not really variable. What we can run into is the issue you
> >> >> mentioned above. The size of struct page can change which means the
> >> >> reserved space for keeping vmemmap in device may not be sufficient for
> >> >> certain kernel builds.
> >> >>
> >> >> I was planning to add another patch that fails namespace init if we
> >> >> don't have enough space to keep the struct page.
> >> >>
> >> >> Why do you suggest we need to have PAGE_SIZE as part of pfn superblock?
> >> >
> >> > So that the kernel has a chance to identify cases where the superblock
> >> > it is handling was created on a system with different PAGE_SIZE
> >> > assumptions.
> >> >
> >>
> >> The reason to do that is we don't have enough space to keep struct page
> >> backing the total number of pfns? If so, what i suggested above should
> >> handle that.
> >>
> >> or are you finding any other reason why we should fail a namespace init
> >> with a different PAGE_SIZE value?
> >
> > I want the kernel to be able to start understand cross-architecture
> > and cross-configuration geometries. Which to me means incrementing the
> > info-block version and recording PAGE_SIZE and sizeof(struct page) in
> > the info-block directly.
> >
> >> My another patch handle the details w.r.t devdax alignment for which
> >> devdax got created with PAGE_SIZE 4K but we are now trying to load that
> >> in a kernel with PAGE_SIZE 64k.
> >
> > Sure, but what about the reverse? These info-block format assumptions
> > are as fundamental as the byte-order of the info-block, it needs to be
> > cross-arch compatible and the x86 assumptions need to be fully lifted.
>
> Something like the below (Not tested). I am not sure what we will init the page_size
> for minor version < 3. This will mark the namespace disabled if the
> PAGE_SIZE and sizeof(struct page) doesn't match with the values used
> during namespace create.
Yes, this is on the right track.
I would special-case page_size == 0 as 4096 and page_struct_size == 0
as 64. If either of those is non-zero then the info-block version
needs to be revved and it needs to be crafted to make older kernels
fail to parse it.
There was an earlier attempt to implement minimum info-block versions here:
https://lore.kernel.org/lkml/155000670159.348031.17631616775326330606.stgit@dwillia2-desk3.amr.corp.intel.com/
...but that was dropped in favor of the the "sub-section" patches.
^ permalink raw reply
* Extra selftests failure on Talitos SEC1 hash algs - how can I identify the issue ?
From: Christophe Leroy @ 2019-05-21 16:35 UTC (permalink / raw)
To: Eric Biggers, linux-crypto; +Cc: linuxppc-dev@lists.ozlabs.org
Hello,
With the new selftests I get the following failures with Talitos on SEC1
(mpc885).
I don't get those failures with Talitos on SEC2 (mpc8321E), but the
driver is slightly different for SEC1 as it doesn't support S/G operations.
How can I identify what problem to look for based on the below logs ? (I
have modified the testmgr to return 0 instead of -EINVAL on wrong hash
result in order to have the tests run up to the end).
There are four successive startups.
Thanks
Christophe
[ 44.001833] alg: hash: md5-talitos test failed (wrong result) on test
vector "random: psize=2715 ksize=0", cfg="random: use_finup
src_divs=[<flush,nosimd>2.19%@+14, <flush>70.54%@+8554, 27.27%@+15]"
[ 44.108062] alg: hash: md5-talitos test failed (wrong result) on test
vector "random: psize=860 ksize=0", cfg="random: use_final nosimd
src_divs=[<reimport>34.53%@+6281, <flush>32.30%@+16375, 33.17%@+9323]
dst_divs=[72.16%@+13710, 18.5%@+14, 9.79%@+16338]"
[ 44.192174] alg: hash: md5-talitos test failed (wrong result) on test
vector "random: psize=19109 ksize=0", cfg="random: inplace may_sleep
use_final src_divs=[<reimport>70.8%@+31, <flush>6.44%@+5996, 23.48%@+16307]"
[ 44.227768] alg: hash: md5-talitos test failed (wrong result) on test
vector "random: psize=2713 ksize=0", cfg="random: inplace may_sleep
use_finup src_divs=[6.7%@+1661, <flush>90.5%@+12507,
1.2%@alignmask+16306, <flush>2.86%@+16309] iv_offset=49"
[ 44.456440] alg: hash: md5-talitos test failed (wrong result) on test
vector "random: psize=584 ksize=0", cfg="random: may_sleep use_finup
src_divs=[84.77%@+9, 10.43%@+10, <reimport>4.2%@+2817, 0.78%@+13809]"
[ 44.679193] alg: hash: md5-talitos test failed (wrong result) on test
vector "random: psize=11637 ksize=0", cfg="random: inplace use_final
src_divs=[<reimport>71.87%@+19, <flush>14.59%@+4039, 13.54%@+23]
iv_offset=43"
[ 44.829884] alg: hash: md5-talitos test failed (wrong result) on test
vector "random: psize=140 ksize=0", cfg="random: inplace may_sleep
use_final src_divs=[<flush>12.38%@+16262, <reimport>49.7%@+16280,
38.55%@+17]"
[ 44.937608] alg: hash: md5-talitos test failed (wrong result) on test
vector "random: psize=15581 ksize=0", cfg="random: inplace use_final
src_divs=[<flush,nosimd>63.2%@+5723, <reimport>26.27%@+0, 10.71%@+16336]"
[ 45.161565] alg: hash: md5-talitos test failed (wrong result) on test
vector "random: psize=602 ksize=0", cfg="random: may_sleep use_final
src_divs=[<flush>40.26%@+16371, <reimport>26.4%@+7851,
20.91%@alignmask+16336, 12.79%@+13696] dst_divs=[100.0%@+16285]
iv_offset=24"
[ 45.185838] alg: hash: md5-talitos test failed (wrong result) on test
vector "random: psize=225 ksize=0", cfg="random: use_finup
src_divs=[8.53%@+8836, <flush,nosimd>57.48%@alignmask+10, 33.99%@+3781]
dst_divs=[100.0%@+13601]"
[ 45.255888] alg: hash: md5-talitos test failed (wrong result) on test
vector "random: psize=535 ksize=0", cfg="random: may_sleep use_final
src_divs=[69.27%@+6420, <flush>25.64%@+16364, 5.9%@+16359] iv_offset=44"
[ 45.540747] alg: hash: md5-talitos test failed (wrong result) on test
vector "random: psize=6123 ksize=0", cfg="random: inplace may_sleep
use_finup src_divs=[13.47%@+24, <flush>68.88%@+1540, 17.65%@+16312]
iv_offset=38"
[ 45.564728] alg: hash: md5-talitos test failed (wrong result) on test
vector "random: psize=131 ksize=0", cfg="random: use_finup
src_divs=[<flush,nosimd>63.96%@+2313, <reimport>12.3%@+1, 19.49%@+7,
4.52%@+388] iv_offset=48"
[ 45.651347] alg: hash: md5-talitos test failed (wrong result) on test
vector "random: psize=802 ksize=0", cfg="random: may_sleep use_final
src_divs=[<reimport>52.62%@alignmask+26, <reimport>25.69%@+16350,
16.79%@+16276, <reimport>4.90%@+5] dst_divs=[72.18%@+12892,
27.82%@alignmask+5] iv_offset=59"
[ 45.757169] alg: hash: md5-talitos test failed (wrong result) on test
vector "random: psize=742 ksize=0", cfg="random: may_sleep use_finup
src_divs=[32.14%@+14908, 11.80%@+24, <reimport>26.47%@+13,
29.59%@alignmask+26] dst_divs=[100.0%@+11250] iv_offset=3"
[ 45.909272] alg: hash: md5-talitos test failed (wrong result) on test
vector "random: psize=19022 ksize=0", cfg="random: use_finup nosimd
src_divs=[45.28%@+14, 18.41%@alignmask+16331, <reimport>20.9%@+8817,
13.65%@+10854, 2.1%@+10, <flush>0.29%@+0, <flush,nosimd>0.27%@+16350]
iv_offset=35"
[ 45.959169] alg: hash: md5-talitos test failed (wrong result) on test
vector "random: psize=2449 ksize=0", cfg="random: inplace use_final
nosimd src_divs=[65.95%@+8789, <flush>6.91%@alignmask+16363, 27.14%@+15]
iv_offset=22"
[ 45.995863] alg: hash: md5-talitos test failed (wrong result) on test
vector "random: psize=963 ksize=0", cfg="random: use_final nosimd
src_divs=[52.18%@+8311, <reimport>45.55%@+13735, 2.27%@+16371] iv_offset=5"
[ 46.366870] alg: hash: md5-talitos test failed (wrong result) on test
vector "random: psize=2591 ksize=0", cfg="random: inplace may_sleep
use_final src_divs=[21.73%@+16354, <flush>37.20%@alignmask+16302,
41.7%@+5145] iv_offset=57"
[ 46.411039] alg: hash: md5-talitos test failed (wrong result) on test
vector "random: psize=417 ksize=0", cfg="random: may_sleep use_final
src_divs=[<reimport>8.51%@+11479, <reimport>53.54%@alignmask+11025,
<reimport>5.97%@+15807, 31.98%@+8761] dst_divs=[29.29%@+7,
5.13%@alignmask+31, 38.82%@+15248, 2"
[ 46.654804] alg: hash: sha1-talitos test failed (wrong result) on
test vector 3, cfg="random: may_sleep use_final
src_divs=[<reimport>38.33%@+16317, <reimport>19.68%@+16291,
41.99%@+10303] dst_divs=[100.0%@alignmask+16267] iv_offset=10"
[ 46.679722] alg: hash: sha1-talitos test failed (wrong result) on
test vector 3, cfg="random: use_finup src_divs=[55.59%@+17,
<flush,nosimd>40.97%@+18, 3.44%@+28] iv_offset=32"
[ 46.704303] alg: hash: sha1-talitos test failed (wrong result) on
test vector 3, cfg="random: use_final nosimd src_divs=[31.59%@+13746,
<flush>12.48%@+14769, 55.93%@alignmask+8586] dst_divs=[66.66%@+11,
33.34%@+1627] iv_offset=38"
[ 46.768049] alg: hash: sha1-talitos test failed (wrong result) on
test vector 5, cfg="random: inplace use_final nosimd
src_divs=[10.26%@+15, <flush>11.20%@+19, 78.54%@+3] iv_offset=12"
[ 46.786389] alg: hash: sha1-talitos test failed (wrong result) on
test vector 5, cfg="random: inplace may_sleep use_final
src_divs=[22.92%@alignmask+16282, 12.4%@alignmask+16321,
<reimport>35.1%@+23, <flush>4.16%@+16303, 23.72%@+4674, 1.83%@+10681,
<flush>0.20%@+14, 0.12%@alig"
[ 46.824112] alg: hash: sha1-talitos test failed (wrong result) on
test vector 5, cfg="random: inplace may_sleep use_final
src_divs=[20.49%@+28, 47.91%@+9987, <reimport>12.18%@+16295,
19.42%@alignmask+7480] iv_offset=38"
[ 46.845067] alg: hash: sha1-talitos test failed (wrong result) on
test vector 5, cfg="random: use_finup src_divs=[61.73%@+16285,
<flush,nosimd>21.48%@+1, 16.79%@+16326]"
[ 46.865716] alg: hash: sha1-talitos test failed (wrong result) on
test vector 5, cfg="random: inplace may_sleep use_finup
src_divs=[<reimport>24.68%@+10, <reimport>32.69%@+9557,
<reimport>32.98%@+16324, 9.45%@+2459, <flush>0.10%@+6662,
<reimport>0.7%@alignmask+6341, 0.3%@+1504"
[ 46.905543] alg: hash: sha1-talitos test failed (wrong result) on
test vector 5, cfg="random: may_sleep use_finup src_divs=[25.1%@+16336,
<reimport>65.73%@+8962, 5.1%@alignmask+16319,
<reimport>4.9%@alignmask+16361, 0.6%@+4975, 0.10%@+16362]
dst_divs=[100.0%@+16189]"
[ 47.212499] alg: hash: sha1-talitos test failed (wrong result) on
test vector "random: psize=29628 ksize=0", cfg="random: may_sleep
use_final src_divs=[<flush>23.50%@+16381, <flush>44.49%@+11558,
32.1%@+16314]"
[ 47.237945] alg: hash: sha1-talitos test failed (wrong result) on
test vector "random: psize=19339 ksize=0", cfg="random: inplace
may_sleep use_final src_divs=[<flush>2.83%@+11622, <reimport>21.57%@+10,
46.27%@+14, 29.33%@+16342]"
[ 47.268254] alg: hash: sha1-talitos test failed (wrong result) on
test vector "random: psize=12169 ksize=0", cfg="random: use_finup
src_divs=[76.2%@+5100, 11.63%@+16257, <reimport>2.91%@alignmask+4,
<flush>2.84%@+4, 6.60%@alignmask+1] dst_divs=[19.66%@alignmask+4,
80.34%@+29]"
[ 47.362565] alg: hash: sha1-talitos test failed (wrong result) on
test vector "random: psize=386 ksize=0", cfg="random: inplace use_finup
src_divs=[31.67%@alignmask+16383, <flush,nosimd>55.53%@+13892,
<reimport>9.98%@+10, 2.82%@+14102]"
[ 47.454257] alg: hash: sha1-talitos test failed (wrong result) on
test vector "random: psize=112 ksize=0", cfg="random: inplace may_sleep
use_finup src_divs=[<reimport>10.29%@alignmask+2012,
<reimport>74.31%@+25, 15.40%@+2] iv_offset=61"
[ 47.475835] alg: hash: sha1-talitos test failed (wrong result) on
test vector "random: psize=236 ksize=0", cfg="random: may_sleep
use_finup src_divs=[<reimport>41.88%@+9258, <flush>21.56%@+15501,
36.56%@+16290] dst_divs=[74.15%@+15826, 25.85%@+4204] iv_offset=16"
[ 47.504591] alg: hash: sha1-talitos test failed (wrong result) on
test vector "random: psize=6900 ksize=0", cfg="random: inplace may_sleep
use_finup src_divs=[<flush>35.37%@+11, 37.57%@+3362,
<reimport>10.21%@+454, 16.69%@+24, 0.16%@+19] iv_offset=50"
[ 47.762886] alg: hash: sha1-talitos test failed (wrong result) on
test vector "random: psize=7393 ksize=0", cfg="random: may_sleep
use_final src_divs=[<reimport>79.62%@+2386, 0.75%@+27,
<reimport>13.37%@+14859, 6.26%@+16372]"
[ 47.839055] alg: hash: sha1-talitos test failed (wrong result) on
test vector "random: psize=161 ksize=0", cfg="random: inplace use_finup
src_divs=[32.5%@+16301, <flush,nosimd>16.72%@+22, 41.11%@+9,
<reimport>6.76%@+14, <flush,nosimd>3.36%@+1270]"
[ 48.283344] alg: hash: sha1-talitos test failed (wrong result) on
test vector "random: psize=428 ksize=0", cfg="random: use_final
src_divs=[40.47%@+16284, <reimport>5.9%@+17, 23.88%@+4163,
<flush,nosimd>7.44%@+8562, <flush>16.3%@alignmask+538, 7.9%@+16298]
dst_divs=[100.0%@alignmask+3387]"
[ 48.658139] alg: hash: sha1-talitos test failed (wrong result) on
test vector "random: psize=22780 ksize=0", cfg="random: inplace
use_finup src_divs=[<flush,nosimd>81.51%@alignmask+23,
<reimport>10.71%@+28, 7.78%@+7514]"
[ 48.896532] alg: hash: sha1-talitos test failed (wrong result) on
test vector "random: psize=29843 ksize=0", cfg="random: inplace
use_finup nosimd src_divs=[<reimport>5.36%@+4568, <flush>46.31%@+12,
48.33%@+16382]"
[ 48.936870] alg: hash: sha1-talitos test failed (wrong result) on
test vector "random: psize=724 ksize=0", cfg="random: use_finup
src_divs=[72.5%@+11441, 19.74%@+16275, <flush>5.39%@alignmask+54,
2.82%@+10287] dst_divs=[100.0%@+12809] iv_offset=13"
[ 49.050320] alg: hash: sha1-talitos test failed (wrong result) on
test vector "random: psize=190 ksize=0", cfg="random: may_sleep
use_finup src_divs=[25.37%@alignmask+8, <flush>33.68%@+16351,
<reimport>23.85%@+11340, 17.10%@alignmask+8] iv_offset=34"
[ 49.226812] alg: hash: sha1-talitos test failed (wrong result) on
test vector "random: psize=523 ksize=0", cfg="random: use_final nosimd
src_divs=[<reimport>5.59%@alignmask+16319, <reimport>91.53%@+3563,
1.45%@+16370, <reimport,nosimd>1.43%@alignmask+16283]"
[ 49.272256] alg: hash: sha1-talitos test failed (wrong result) on
test vector "random: psize=27700 ksize=0", cfg="random: may_sleep
use_finup src_divs=[26.96%@alignmask+1720, <reimport>57.82%@+13449,
10.86%@+3880, 0.76%@+13918, 2.69%@+16350,
<reimport>0.37%@alignmask+16382, 0.54%@+4084] iv_offset=58"
[ 49.419216] alg: hash: sha1-talitos test failed (wrong result) on
test vector "random: psize=21795 ksize=0", cfg="random: inplace
use_finup src_divs=[<reimport,nosimd>17.99%@+16270,
<reimport>54.74%@+16327, 6.35%@+28, <reimport,nosimd>14.66%@+26,
6.26%@+14415]"
[ 49.466684] alg: hash: sha1-talitos test failed (wrong result) on
test vector "random: psize=222 ksize=0", cfg="random: inplace use_finup
src_divs=[19.6%@alignmask+20, <flush>8.5%@+2069, 72.89%@alignmask+30]
iv_offset=57"
[ 49.595343] alg: hash: sha1-talitos test failed (wrong result) on
test vector "random: psize=16234 ksize=0", cfg="random: use_final nosimd
src_divs=[59.48%@+16289, <flush>13.4%@+8, 1.88%@+16279, 20.97%@+10,
<reimport,nosimd>4.63%@alignmask+16383] dst_divs=[9.0%@+13, 91.0%@+9269]
iv_offset=41"
[ 49.671122] alg: hash: sha1-talitos test failed (wrong result) on
test vector "random: psize=387 ksize=0", cfg="random: may_sleep
use_finup src_divs=[<reimport>73.5%@+6, <reimport>18.58%@+16351,
<reimport>4.61%@+9514, 0.53%@alignmask+23, 0.59%@alignmask+16282,
2.64%@+16292] dst_divs=[98.52%@+16381, 0.9"
[ 49.736671] alg: hash: sha1-talitos test failed (wrong result) on
test vector "random: psize=25904 ksize=0", cfg="random: inplace
use_finup src_divs=[<reimport>79.19%@+1445, <reimport,nosimd>4.9%@+8544,
16.72%@+16300]"
[ 49.791913] alg: hash: sha1-talitos test failed (wrong result) on
test vector "random: psize=30297 ksize=0", cfg="random: inplace
may_sleep use_final src_divs=[<flush>34.59%@+15887,
<flush>11.30%@+15552, 49.85%@+11, 4.26%@+16381]"
[ 49.891188] alg: hash: sha1-talitos test failed (wrong result) on
test vector "random: psize=25509 ksize=0", cfg="random: inplace
may_sleep use_finup src_divs=[<flush>68.2%@+8, <reimport>24.32%@+16257,
6.97%@+22, <reimport>0.6%@+16291, 0.15%@+26, 0.48%@+6267]"
[ 49.963164] alg: hash: sha1-talitos test failed (wrong result) on
test vector "random: psize=776 ksize=0", cfg="random: inplace may_sleep
use_finup src_divs=[<flush>57.38%@+13203, <flush>17.18%@+5,
25.44%@alignmask+12063] iv_offset=15"
[ 50.003408] alg: hash: sha1-talitos test failed (wrong result) on
test vector "random: psize=14540 ksize=0", cfg="random: use_final nosimd
src_divs=[50.68%@+3, <flush,nosimd>30.62%@+21, 1.11%@alignmask+3645,
<flush,nosimd>17.59%@+18] dst_divs=[100.0%@alignmask+16292] iv_offset=54"
[ 50.192409] alg: hash: sha1-talitos test failed (wrong result) on
test vector "random: psize=7893 ksize=0", cfg="random: inplace may_sleep
use_finup src_divs=[49.88%@+14734, 5.5%@+16296, <reimport>37.8%@+16335,
2.14%@+16264, 4.86%@+9411, 0.99%@+16277]"
[ 50.473857] alg: hash: sha224-talitos test failed (wrong result) on
test vector 4, cfg="random: inplace use_finup src_divs=[8.41%@+8,
<reimport,nosimd>53.84%@+16303, <flush,nosimd>30.37%@+16299,
7.38%@+7084] iv_offset=9"
[ 50.494337] alg: hash: sha224-talitos test failed (wrong result) on
test vector 4, cfg="random: use_finup src_divs=[20.4%@+28,
<flush,nosimd>39.52%@+4, <flush,nosimd>21.43%@+16280, 19.1%@+12319]
iv_offset=29"
[ 50.538417] alg: hash: sha224-talitos test failed (wrong result) on
test vector 4, cfg="random: inplace may_sleep use_finup
src_divs=[<reimport>21.8%@+11573, <reimport>26.79%@alignmask+16353,
52.13%@+15]"
[ 50.763803] alg: hash: sha224-talitos test failed (wrong result) on
test vector "random: psize=387 ksize=0", cfg="random: inplace may_sleep
use_finup src_divs=[48.25%@alignmask+16323, <flush>13.58%@+20,
38.17%@+10444] iv_offset=27"
[ 51.090739] alg: hash: sha224-talitos test failed (wrong result) on
test vector "random: psize=217 ksize=0", cfg="random: may_sleep
use_finup src_divs=[<flush>4.37%@+4021, <reimport>19.0%@+21,
53.11%@+16295, <flush>19.34%@alignmask+9, <flush>4.18%@+515] iv_offset=14"
[ 51.223871] alg: hash: sha224-talitos test failed (wrong result) on
test vector "random: psize=18755 ksize=0", cfg="random: inplace
may_sleep use_final src_divs=[<flush>44.6%@+21, <flush>26.42%@+15566,
<reimport>24.24%@alignmask+24, 5.28%@+23]"
[ 51.310169] alg: hash: sha224-talitos test failed (wrong result) on
test vector "random: psize=13599 ksize=0", cfg="random: inplace
may_sleep use_final src_divs=[39.4%@+16280, <flush>43.7%@+16344,
<flush>4.12%@+5998, <flush>4.53%@alignmask+23, 9.24%@alignmask+23]
iv_offset=5"
[ 51.758218] alg: hash: sha224-talitos test failed (wrong result) on
test vector "random: psize=28054 ksize=0", cfg="random: inplace
use_finup src_divs=[<reimport>17.24%@+16333, <flush,nosimd>8.65%@+30,
74.11%@+7] iv_offset=25"
[ 51.802009] alg: hash: sha224-talitos test failed (wrong result) on
test vector "random: psize=415 ksize=0", cfg="random: inplace may_sleep
use_finup src_divs=[<flush>62.51%@+12552, <reimport>8.61%@+1,
13.48%@alignmask+16273, 15.40%@alignmask+13346] iv_offset=59"
[ 51.882957] alg: hash: sha224-talitos test failed (wrong result) on
test vector "random: psize=440 ksize=0", cfg="random: inplace may_sleep
use_finup src_divs=[<flush>72.70%@+19, <reimport>3.65%@+8995,
23.65%@+2845] iv_offset=9"
[ 52.146550] alg: hash: sha224-talitos test failed (wrong result) on
test vector "random: psize=12409 ksize=0", cfg="random: may_sleep
use_final src_divs=[91.38%@+10549, <flush>6.40%@alignmask+14307,
0.94%@+16363, <flush>1.8%@+14, <flush>0.20%@alignmask+13] iv_offset=12"
[ 52.231246] alg: hash: sha224-talitos test failed (wrong result) on
test vector "random: psize=7142 ksize=0", cfg="random: inplace may_sleep
use_final src_divs=[<flush>8.38%@+16334, <flush>66.53%@alignmask+16293,
5.81%@+16344, <reimport>19.28%@+12255] iv_offset=54"
[ 52.581090] alg: hash: sha224-talitos test failed (wrong result) on
test vector "random: psize=130 ksize=0", cfg="random: use_final nosimd
src_divs=[48.24%@+11614, <flush,nosimd>20.56%@alignmask+1236,
31.20%@alignmask+12] iv_offset=13"
[ 52.803481] alg: hash: sha224-talitos test failed (wrong result) on
test vector "random: psize=27603 ksize=0", cfg="random: inplace
may_sleep use_final src_divs=[<flush>91.61%@+13, <reimport>4.29%@+5,
3.98%@+20, <flush>0.5%@+12387, 0.7%@+8] iv_offset=41"
[ 53.106767] alg: hash: sha224-talitos test failed (wrong result) on
test vector "random: psize=13722 ksize=0", cfg="random: inplace
may_sleep use_finup src_divs=[9.26%@+16288, <flush>51.47%@+16295,
39.27%@+6] iv_offset=42"
[ 53.332945] alg: hash: sha224-talitos test failed (wrong result) on
test vector "random: psize=339 ksize=0", cfg="random: use_finup nosimd
src_divs=[15.74%@+5293, 14.39%@+1437, <reimport>47.67%@+19,
13.60%@alignmask+23, 8.60%@+6] dst_divs=[84.65%@+16338, 15.35%@+2]"
[ 53.447269] alg: hash: sha224-talitos test failed (wrong result) on
test vector "random: psize=226 ksize=0", cfg="random: use_finup
src_divs=[<flush>83.75%@+12, <reimport>9.5%@+5, 7.20%@alignmask+9194]"
[ 53.560647] alg: hash: sha224-talitos test failed (wrong result) on
test vector "random: psize=729 ksize=0", cfg="random: inplace use_final
src_divs=[<flush,nosimd>77.8%@alignmask+2547,
<flush,nosimd>15.67%@alignmask+7022, 7.25%@+8]"
[ 53.846697] alg: hash: sha256-talitos test failed (wrong result) on
test vector 4, cfg="random: inplace use_final nosimd
src_divs=[54.55%@+16344, 22.94%@+0, 1.94%@+31, <reimport>2.11%@+16314,
18.46%@+5825]"
[ 53.874599] alg: hash: sha256-talitos test failed (wrong result) on
test vector 4, cfg="random: use_finup src_divs=[17.36%@+10804,
<reimport>23.99%@+4823, 17.56%@+4601, 41.9%@+26] dst_divs=[100.0%@+27]"
[ 53.894769] alg: hash: sha256-talitos test failed (wrong result) on
test vector 4, cfg="random: inplace use_finup
src_divs=[<reimport>4.37%@+16354, <reimport,nosimd>6.8%@+4403,
89.55%@alignmask+9821]"
[ 53.915321] alg: hash: sha256-talitos test failed (wrong result) on
test vector 4, cfg="random: inplace use_finup nosimd
src_divs=[38.31%@+16383, 2.46%@+14, <flush>29.53%@+4729,
<reimport>20.62%@+17, 9.8%@alignmask+13]"
[ 53.940766] alg: hash: sha256-talitos test failed (wrong result) on
test vector 4, cfg="random: use_finup nosimd
src_divs=[<reimport,nosimd>33.23%@+6, <reimport,nosimd>12.94%@+14348,
29.9%@+9892, <reimport>24.74%@alignmask+11]"
[ 54.293394] alg: hash: sha256-talitos test failed (wrong result) on
test vector "random: psize=20181 ksize=0", cfg="random: may_sleep
use_final src_divs=[<reimport>46.52%@+2, <reimport>8.52%@+5390,
44.96%@+15219] dst_divs=[55.54%@+5, 40.48%@+15188, 3.98%@+18]"
[ 54.362659] alg: hash: sha256-talitos test failed (wrong result) on
test vector "random: psize=20912 ksize=0", cfg="random: inplace
use_finup nosimd src_divs=[<reimport>60.60%@+12146, <reimport>25.25%@+3,
14.15%@+16270] iv_offset=11"
[ 54.389003] alg: hash: sha256-talitos test failed (wrong result) on
test vector "random: psize=685 ksize=0", cfg="random: use_final nosimd
src_divs=[<flush,nosimd>39.44%@+16337, <reimport,nosimd>24.98%@+4110,
15.47%@+8249, <flush>20.11%@+26] iv_offset=49"
[ 54.912029] alg: hash: sha256-talitos test failed (wrong result) on
test vector "random: psize=198 ksize=0", cfg="random: inplace may_sleep
use_final src_divs=[14.64%@+16263, <flush>79.81%@alignmask+2202,
4.29%@alignmask+14649, <reimport>1.26%@+16315]"
[ 55.080049] alg: hash: sha256-talitos test failed (wrong result) on
test vector "random: psize=12892 ksize=0", cfg="random: inplace
may_sleep use_finup src_divs=[56.5%@+24, <flush>0.40%@+14208,
43.55%@+10] iv_offset=4"
[ 55.535374] alg: hash: sha256-talitos test failed (wrong result) on
test vector "random: psize=3963 ksize=0", cfg="random: inplace use_finup
nosimd src_divs=[<flush>24.1%@+16372,
<flush,nosimd>60.62%@alignmask+16364, <flush>11.17%@+12949, 1.50%@+0,
<flush>1.74%@+3760, 0.29%@+17, 0.41%@+31, 0.26%@+575]"
[ 55.595475] alg: hash: sha256-talitos test failed (wrong result) on
test vector "random: psize=627 ksize=0", cfg="random: use_finup nosimd
src_divs=[3.45%@+8104, 44.5%@+13607, <reimport>36.28%@+8,
<reimport>4.25%@+15, 5.95%@+19, 6.2%@+16360] dst_divs=[100.0%@+16326]
iv_offset=3"
[ 55.675811] alg: hash: sha256-talitos test failed (wrong result) on
test vector "random: psize=18672 ksize=0", cfg="random: use_finup nosimd
src_divs=[<reimport>87.28%@+7, <reimport>8.22%@+7480, 4.50%@+23]
dst_divs=[100.0%@+7725]"
[ 56.031668] alg: hash: sha256-talitos test failed (wrong result) on
test vector "random: psize=383 ksize=0", cfg="random: inplace may_sleep
use_finup src_divs=[15.91%@+11, <reimport>56.86%@+3595,
<flush>10.81%@+2, 3.41%@+16342, 13.1%@+12530] iv_offset=38"
[ 56.117922] alg: hash: sha256-talitos test failed (wrong result) on
test vector "random: psize=30715 ksize=0", cfg="random: inplace
use_finup nosimd src_divs=[<flush,nosimd>48.94%@+2105,
<reimport,nosimd>2.79%@+25, 13.95%@+564,
<reimport,nosimd>34.32%@alignmask+16274]"
[ 56.227808] alg: hash: sha256-talitos test failed (wrong result) on
test vector "random: psize=9868 ksize=0", cfg="random: use_final
src_divs=[<reimport,nosimd>68.17%@+15, 23.98%@+4869,
<reimport>6.53%@+15, 1.32%@+3181] iv_offset=38"
[ 56.269652] alg: hash: sha256-talitos test failed (wrong result) on
test vector "random: psize=20126 ksize=0", cfg="random: use_final nosimd
src_divs=[79.10%@+11679, 5.42%@+9949, <reimport>11.94%@alignmask+21,
3.54%@+2943] dst_divs=[85.73%@+12616, 14.27%@+15587] iv_offset=56"
[ 56.295219] alg: hash: sha256-talitos test failed (wrong result) on
test vector "random: psize=111 ksize=0", cfg="random: inplace use_finup
src_divs=[<reimport,nosimd>48.54%@+16262, <reimport>31.23%@+27,
20.23%@alignmask+7079]"
[ 56.316698] alg: hash: sha256-talitos test failed (wrong result) on
test vector "random: psize=205 ksize=0", cfg="random: may_sleep
use_finup src_divs=[63.98%@+28, <flush>0.91%@+13, 9.73%@alignmask+16317,
25.38%@+7] dst_divs=[100.0%@+6] iv_offset=17"
[ 56.397804] alg: hash: sha256-talitos test failed (wrong result) on
test vector "random: psize=26417 ksize=0", cfg="random: use_finup nosimd
src_divs=[<flush,nosimd>65.90%@+16321, <reimport>4.83%@+4940, 29.27%@+7]
dst_divs=[100.0%@+12522]"
[ 56.547747] alg: hash: sha256-talitos test failed (wrong result) on
test vector "random: psize=860 ksize=0", cfg="random: may_sleep
use_final src_divs=[24.69%@+13903, <reimport>46.46%@+9025,
<flush>11.77%@+16073, 17.8%@+3609] dst_divs=[100.0%@+16318] iv_offset=58"
[ 56.573965] alg: hash: sha256-talitos test failed (wrong result) on
test vector "random: psize=645 ksize=0", cfg="random: inplace use_finup
nosimd src_divs=[35.86%@+12, 0.5%@+9, 11.59%@+16373, <flush>51.84%@+26,
0.66%@+15799]"
[ 56.710296] alg: hash: sha256-talitos test failed (wrong result) on
test vector "random: psize=12933 ksize=0", cfg="random: inplace
use_final src_divs=[66.34%@+6414, <reimport>32.59%@+15, 1.7%@+5352]
iv_offset=31"
[ 56.775253] alg: hash: sha256-talitos test failed (wrong result) on
test vector "random: psize=296 ksize=0", cfg="random: may_sleep
use_final src_divs=[34.93%@+10563, 15.82%@+8,
<reimport>27.56%@alignmask+16, 20.45%@+13512, <flush>0.9%@+3382,
<reimport>1.15%@+8713] dst_divs=[100.0%@+4134] iv_offset=40"
[ 56.943058] alg: hash: sha256-talitos test failed (wrong result) on
test vector "random: psize=17280 ksize=0", cfg="random: inplace
may_sleep use_final src_divs=[<flush>2.91%@+313, <flush>28.30%@+16262,
68.79%@+8] iv_offset=52"
[ 57.128981] alg: hash: sha256-talitos test failed (wrong result) on
test vector "random: psize=277 ksize=0", cfg="random: may_sleep
use_finup src_divs=[<flush>49.19%@+16370, <flush>42.8%@+16270, 8.73%@+31]"
[ 57.234174] alg: hash: sha256-talitos test failed (wrong result) on
test vector "random: psize=31541 ksize=0", cfg="random: may_sleep
use_final src_divs=[59.66%@+7693, <reimport>33.79%@+3210, 4.11%@+16318,
<reimport>1.59%@+6908, <flush>0.85%@+16338] dst_divs=[69.68%@+16356,
30.32%@+16322]"
[ 42.824278] alg: hash: md5-talitos test failed (wrong result) on test
vector 6, cfg="random: use_finup src_divs=[59.82%@+5338,
<reimport>15.92%@alignmask+15, 24.26%@alignmask+4]
dst_divs=[100.0%@+16284] iv_offset=28"
[ 42.844215] alg: hash: md5-talitos test failed (wrong result) on test
vector 6, cfg="random: may_sleep use_finup src_divs=[32.72%@+3251,
<flush>61.97%@+8901, 5.31%@+1845]"
[ 42.866140] alg: hash: md5-talitos test failed (wrong result) on test
vector 6, cfg="random: inplace use_finup nosimd
src_divs=[<reimport>18.6%@+8599, 54.35%@+12736, <flush>10.62%@+16322,
2.24%@+1783, 14.73%@+16] iv_offset=42"
[ 42.892301] alg: hash: md5-talitos test failed (wrong result) on test
vector 6, cfg="random: use_finup src_divs=[<reimport>3.93%@+11515,
<reimport,nosimd>39.19%@+9874, <flush,nosimd>11.78%@alignmask+14,
45.10%@+16261] dst_divs=[100.0%@+0]"
[ 42.944880] alg: hash: md5-talitos test failed (wrong result) on test
vector "random: psize=10129 ksize=0", cfg="random: may_sleep use_finup
src_divs=[24.13%@alignmask+16351, <flush>14.52%@alignmask+1061, 61.35%@+15]"
[ 43.107826] alg: hash: md5-talitos test failed (wrong result) on test
vector "random: psize=222 ksize=0", cfg="random: use_finup
src_divs=[34.43%@+3458, <reimport>31.91%@alignmask+20, 23.70%@+11,
<flush,nosimd>7.73%@alignmask+29, 1.41%@+12221, <flush,nosimd>0.8%@+11,
<flush>0.34%@+16362, 0.40%@+16364]"
[ 43.364980] alg: hash: md5-talitos test failed (wrong result) on test
vector "random: psize=1003 ksize=0", cfg="random: inplace use_final
nosimd src_divs=[14.12%@+16318, <flush,nosimd>33.76%@+1724, 8.42%@+22,
31.83%@+16316, <reimport,nosimd>11.2%@+2626, <flush>0.85%@+24]"
[ 43.433803] alg: hash: md5-talitos test failed (wrong result) on test
vector "random: psize=167 ksize=0", cfg="random: inplace use_finup
src_divs=[21.59%@+14, <flush>73.9%@+7926, 5.32%@+16281]"
[ 43.552238] alg: hash: md5-talitos test failed (wrong result) on test
vector "random: psize=142 ksize=0", cfg="random: may_sleep use_finup
src_divs=[23.20%@+16307, <reimport>43.59%@+12, 12.20%@alignmask+16364,
21.1%@alignmask+10] dst_divs=[1.88%@+16, 29.48%@+23, 32.6%@+15403,
34.42%@+1050, 2.16%@+0] i"
[ 43.722079] alg: hash: md5-talitos test failed (wrong result) on test
vector "random: psize=287 ksize=0", cfg="random: inplace may_sleep
use_final src_divs=[<flush>13.0%@+16297, <flush>66.26%@+5380,
20.74%@alignmask+9862]"
[ 43.753497] alg: hash: md5-talitos test failed (wrong result) on test
vector "random: psize=11516 ksize=0", cfg="random: may_sleep use_finup
src_divs=[<reimport>0.21%@+0, <flush>66.63%@+16354, 13.24%@+6193,
<flush>3.94%@+16279, <reimport>15.98%@+2896] iv_offset=15"
[ 43.969361] alg: hash: md5-talitos test failed (wrong result) on test
vector "random: psize=652 ksize=0", cfg="random: inplace use_finup
nosimd src_divs=[<reimport>55.6%@+0, <flush>21.95%@+25, 13.2%@+16356,
8.29%@+7743, 1.68%@+4956] iv_offset=3"
[ 44.615732] alg: hash: md5-talitos test failed (wrong result) on test
vector "random: psize=18370 ksize=0", cfg="random: use_final
src_divs=[21.15%@+14102, <reimport,nosimd>5.5%@+4320, 40.97%@+9,
<reimport,nosimd>32.83%@+7269] iv_offset=16"
[ 44.909893] alg: hash: md5-talitos test failed (wrong result) on test
vector "random: psize=333 ksize=0", cfg="random: inplace may_sleep
use_finup src_divs=[71.95%@+16263, <reimport>8.23%@+16352,
19.82%@+16300] iv_offset=2"
[ 44.941347] alg: hash: md5-talitos test failed (wrong result) on test
vector "random: psize=26311 ksize=0", cfg="random: may_sleep use_final
src_divs=[69.63%@+12556, <flush>15.73%@alignmask+11, 14.64%@+158]"
[ 45.214430] alg: hash: sha1-talitos test failed (wrong result) on
test vector 5, cfg="random: inplace use_final
src_divs=[<reimport>87.38%@+29, <flush>4.65%@+1, 6.26%@+3174, 0.53%@+12,
<reimport>1.14%@+9, <flush,nosimd>0.1%@+11447, 0.2%@+14211, 0.1%@+15277]"
[ 45.249703] alg: hash: sha1-talitos test failed (wrong result) on
test vector 5, cfg="random: inplace use_final
src_divs=[<reimport,nosimd>32.64%@+16297, 19.17%@+7, <flush>14.32%@+18,
33.87%@+20] iv_offset=1"
[ 45.281997] alg: hash: sha1-talitos test failed (wrong result) on
test vector 5, cfg="random: use_finup nosimd src_divs=[10.64%@+15905,
<flush,nosimd>42.18%@+16272, 19.1%@+8, 26.50%@+16266,
<flush,nosimd>0.39%@+8137, 1.20%@+7, <flush,nosimd>0.8%@+5448]"
[ 45.318096] alg: hash: sha1-talitos test failed (wrong result) on
test vector 5, cfg="random: use_finup nosimd
src_divs=[<reimport>1.36%@+15412, <reimport>8.76%@+20, 89.88%@+21]
iv_offset=3"
[ 45.449639] alg: hash: sha1-talitos test failed (wrong result) on
test vector "random: psize=14122 ksize=0", cfg="random: may_sleep
use_finup src_divs=[40.60%@+13912, <flush>25.4%@+17, 34.36%@+13952]
dst_divs=[2.37%@+9, 63.23%@alignmask+23, 28.71%@+16339, 0.27%@+16374,
0.45%@+30, 4.97%@+26]"
[ 45.788347] alg: hash: sha1-talitos test failed (wrong result) on
test vector "random: psize=14078 ksize=0", cfg="random: use_finup
src_divs=[<reimport,nosimd>74.43%@+15, 23.49%@+11831, 1.39%@+14,
<reimport>0.36%@+16381, 0.33%@alignmask+16286] dst_divs=[89.98%@+16275,
10.2%@alignmask+379]"
[ 46.374990] alg: hash: sha1-talitos test failed (wrong result) on
test vector "random: psize=681 ksize=0", cfg="random: use_finup
src_divs=[43.83%@alignmask+15583, <reimport>48.71%@+14325, 7.46%@+16352]
dst_divs=[70.72%@alignmask+2657, 5.19%@+845, 1.48%@+16355, 5.53%@+12410,
1.40%@+8, 2.91%@+6, 12.11%@"
[ 46.412643] alg: hash: sha1-talitos test failed (wrong result) on
test vector "random: psize=812 ksize=0", cfg="random: inplace use_finup
nosimd src_divs=[<reimport,nosimd>8.79%@+16, 22.48%@+8,
<flush,nosimd>43.63%@+11, 25.10%@+9227]"
[ 46.595800] alg: hash: sha1-talitos test failed (wrong result) on
test vector "random: psize=100 ksize=0", cfg="random: inplace may_sleep
use_finup src_divs=[<flush>35.74%@+0, <reimport>4.19%@+2,
9.87%@alignmask+31, <flush>32.64%@+13560, 17.56%@+12330]"
[ 46.653599] alg: hash: sha1-talitos test failed (wrong result) on
test vector "random: psize=283 ksize=0", cfg="random: use_final
src_divs=[46.11%@alignmask+16006,
<reimport,nosimd>34.53%@alignmask+2287, 10.54%@+16353,
<flush>5.87%@+8911, 1.19%@+4, 1.76%@+1823] iv_offset=19"
[ 46.789670] alg: hash: sha1-talitos test failed (wrong result) on
test vector "random: psize=761 ksize=0", cfg="random: may_sleep
use_finup src_divs=[<reimport>52.22%@+31, <flush>22.39%@+7292,
25.39%@+25] dst_divs=[100.0%@+14461]"
[ 47.536450] alg: hash: sha1-talitos test failed (wrong result) on
test vector "random: psize=19896 ksize=0", cfg="random: may_sleep
use_final src_divs=[<reimport>4.36%@+30, <flush>68.61%@+10319,
27.3%@+512] iv_offset=39"
[ 47.565591] alg: hash: sha1-talitos test failed (wrong result) on
test vector "random: psize=245 ksize=0", cfg="random: may_sleep
use_finup src_divs=[<flush>23.3%@+14, <reimport>57.33%@+16334,
5.73%@+17, 13.91%@+19] dst_divs=[100.0%@+8]"
[ 47.652571] alg: hash: sha1-talitos test failed (wrong result) on
test vector "random: psize=16628 ksize=0", cfg="random: inplace
use_final src_divs=[<flush,nosimd>12.42%@+1302, <reimport>38.34%@+7681,
49.24%@+20]"
[ 47.937056] alg: hash: sha224-talitos test failed (wrong result) on
test vector 4, cfg="random: inplace may_sleep use_finup
src_divs=[48.33%@+13929, <flush>41.93%@+16316, 9.74%@+22]"
[ 47.972405] alg: hash: sha224-talitos test failed (wrong result) on
test vector 4, cfg="random: inplace may_sleep use_finup
src_divs=[37.14%@+14, <reimport>8.88%@+15793, <reimport>35.34%@+4080,
18.64%@+4023] iv_offset=61"
[ 48.008211] alg: hash: sha224-talitos test failed (wrong result) on
test vector 4, cfg="random: inplace use_finup nosimd
src_divs=[5.58%@+31, <flush,nosimd>76.87%@+15, 12.93%@+372, 4.62%@+5295]"
[ 48.033348] alg: hash: sha224-talitos test failed (wrong result) on
test vector "random: psize=11103 ksize=0", cfg="random: inplace
may_sleep use_finup src_divs=[<flush>44.40%@+7357, <flush>0.62%@+2416,
<reimport>52.97%@+5, 2.1%@+29] iv_offset=10"
[ 48.209986] alg: hash: sha224-talitos test failed (wrong result) on
test vector "random: psize=1134 ksize=0", cfg="random: inplace may_sleep
use_finup src_divs=[85.57%@alignmask+16264, <reimport>13.73%@+12669,
0.34%@+3, 0.9%@+16368, 0.27%@+24] iv_offset=60"
[ 48.269245] alg: hash: sha224-talitos test failed (wrong result) on
test vector "random: psize=24130 ksize=0", cfg="random: may_sleep
use_final src_divs=[<flush>71.94%@+16296, <flush>4.0%@+15923,
9.49%@alignmask+11271, 12.31%@+7, <flush>1.60%@+31,
<flush>0.65%@alignmask+11794, <flush>0.1%@+1] dst_divs=[100"
[ 48.320500] alg: hash: sha224-talitos test failed (wrong result) on
test vector "random: psize=134 ksize=0", cfg="random: inplace use_finup
src_divs=[<reimport,nosimd>91.95%@+11682, <reimport,nosimd>4.83%@+3008,
2.49%@+16335, <reimport>0.6%@+5, 0.42%@+0, <flush>0.25%@+7622] iv_offset=19"
[ 48.391034] alg: hash: sha224-talitos test failed (wrong result) on
test vector "random: psize=217 ksize=0", cfg="random: use_finup
src_divs=[65.30%@+16206, <reimport,nosimd>31.33%@+16306, 3.37%@+15847]"
[ 48.572720] alg: hash: sha224-talitos test failed (wrong result) on
test vector "random: psize=157 ksize=0", cfg="random: inplace use_finup
nosimd src_divs=[<reimport>77.4%@+31, <flush,nosimd>13.67%@+10,
9.29%@+7167] iv_offset=52"
[ 48.978029] alg: hash: sha224-talitos test failed (wrong result) on
test vector "random: psize=28148 ksize=0", cfg="random: use_finup
src_divs=[58.33%@alignmask+3962, <reimport,nosimd>6.77%@alignmask+9395,
34.90%@alignmask+16305] dst_divs=[64.47%@+3374, 35.53%@+5797]"
[ 49.555861] alg: hash: sha224-talitos test failed (wrong result) on
test vector "random: psize=31117 ksize=0", cfg="random: use_finup nosimd
src_divs=[<flush,nosimd>67.40%@+16371, <reimport,nosimd>16.70%@+23,
15.90%@+22] dst_divs=[10.22%@+16375, 26.31%@+25, 54.65%@+6934,
5.48%@+16343, 3.34%@alignmask+8]"
[ 49.685109] alg: hash: sha224-talitos test failed (wrong result) on
test vector "random: psize=750 ksize=0", cfg="random: inplace use_finup
nosimd src_divs=[87.26%@+29, <flush,nosimd>10.62%@+10257, 2.12%@+8012]
iv_offset=4"
[ 49.783572] alg: hash: sha224-talitos test failed (wrong result) on
test vector "random: psize=4384 ksize=0", cfg="random: may_sleep
use_finup src_divs=[<flush>90.33%@+10390, <flush>2.63%@+31,
<flush>1.47%@+12020, 3.55%@+2155, <flush>2.2%@+4289] dst_divs=[100.0%@+15]"
[ 49.948495] alg: hash: sha224-talitos test failed (wrong result) on
test vector "random: psize=106 ksize=0", cfg="random: inplace may_sleep
use_finup src_divs=[36.83%@+22, <reimport>57.36%@+17, 3.28%@+3319,
2.53%@alignmask+10760]"
[ 50.153109] alg: hash: sha224-talitos test failed (wrong result) on
test vector "random: psize=17872 ksize=0", cfg="random: inplace
may_sleep use_finup src_divs=[24.48%@+795, 10.8%@+24,
<reimport>42.11%@+21, 23.33%@+8] iv_offset=55"
[ 50.234905] alg: hash: sha224-talitos test failed (wrong result) on
test vector "random: psize=30504 ksize=0", cfg="random: may_sleep
use_final src_divs=[<reimport>80.57%@+8, <flush>5.57%@+16298,
13.86%@+15528] iv_offset=10"
[ 50.269743] alg: hash: sha224-talitos test failed (wrong result) on
test vector "random: psize=158 ksize=0", cfg="random: inplace may_sleep
use_finup src_divs=[<flush>80.17%@+1, <reimport>15.94%@+15014, 3.89%@+9]"
[ 50.509073] alg: hash: sha224-talitos test failed (wrong result) on
test vector "random: psize=9700 ksize=0", cfg="random: inplace use_final
src_divs=[<flush,nosimd>10.50%@+2019, 22.66%@+1608, 22.91%@+16345,
28.60%@+14332, <reimport,nosimd>6.36%@+16, 3.90%@+16353,
2.49%@alignmask+2890, 2.58%@+10511]"
[ 50.620722] alg: hash: sha224-talitos test failed (wrong result) on
test vector "random: psize=32487 ksize=0", cfg="random: use_final
src_divs=[48.30%@+16278, <flush,nosimd>0.18%@+3815,
<reimport>18.26%@+5709, 22.22%@+2655, 9.18%@+2124,
1.14%@alignmask+16300, 0.13%@alignmask+4337, <reimport>0.59%@+5] dst_d"
[ 50.934263] alg: hash: sha224-talitos test failed (wrong result) on
test vector "random: psize=141 ksize=0", cfg="random: use_finup nosimd
src_divs=[82.65%@+8359, <flush>3.25%@+14153, 14.10%@alignmask+16316]"
[ 51.371954] alg: hash: sha224-talitos test failed (wrong result) on
test vector "random: psize=635 ksize=0", cfg="random: use_finup nosimd
src_divs=[59.12%@+8, <reimport,nosimd>40.17%@+15814, 0.71%@+6913]
dst_divs=[100.0%@+2657] iv_offset=22"
[ 51.572217] alg: hash: sha224-talitos test failed (wrong result) on
test vector "random: psize=126 ksize=0", cfg="random: may_sleep
use_finup src_divs=[<reimport>19.98%@+7737, <reimport>30.54%@+8,
49.48%@+14]"
[ 51.817825] alg: hash: sha256-talitos test failed (wrong result) on
test vector 4, cfg="random: inplace may_sleep use_finup
src_divs=[61.95%@+12, <reimport>33.6%@+7462, 3.80%@+29, 1.19%@+16343]
iv_offset=3"
[ 51.836745] alg: hash: sha256-talitos test failed (wrong result) on
test vector 4, cfg="random: inplace use_final nosimd
src_divs=[35.33%@+8, <reimport>1.74%@+21, 62.93%@+16307]"
[ 51.856359] alg: hash: sha256-talitos test failed (wrong result) on
test vector 4, cfg="random: inplace use_finup src_divs=[30.10%@+16265,
55.57%@+26, <flush,nosimd>0.45%@+3, 2.12%@alignmask+8, 11.76%@+16353]"
[ 51.884568] alg: hash: sha256-talitos test failed (wrong result) on
test vector 4, cfg="random: may_sleep use_finup src_divs=[12.9%@+0,
<flush>58.49%@+9, 26.69%@+16301, 2.71%@alignmask+23, <flush>0.2%@+14190]
dst_divs=[100.0%@+4484]"
[ 51.915276] alg: hash: sha256-talitos test failed (wrong result) on
test vector 4, cfg="random: use_final src_divs=[45.61%@+3400,
<reimport>4.69%@+4670, 49.70%@alignmask+5] iv_offset=43"
[ 51.937017] alg: hash: sha256-talitos test failed (wrong result) on
test vector 4, cfg="random: inplace use_finup
src_divs=[<flush,nosimd>73.57%@+16162, <flush,nosimd>26.24%@+11598,
0.15%@+7, 0.4%@+13231]"
[ 52.087889] alg: hash: sha256-talitos test failed (wrong result) on
test vector "random: psize=5630 ksize=0", cfg="random: inplace use_final
nosimd src_divs=[<flush,nosimd>57.61%@+3, 2.82%@+11,
<reimport,nosimd>7.22%@+28, 23.25%@alignmask+16337,
<flush,nosimd>9.10%@+16269] iv_offset=25"
[ 52.228550] alg: hash: sha256-talitos test failed (wrong result) on
test vector "random: psize=845 ksize=0", cfg="random: inplace use_finup
nosimd src_divs=[59.26%@+3764, 5.69%@+10425,
<reimport,nosimd>30.18%@+7837, 4.87%@+16280] iv_offset=38"
[ 52.372848] alg: hash: sha256-talitos test failed (wrong result) on
test vector "random: psize=4083 ksize=0", cfg="random: may_sleep
use_finup src_divs=[75.50%@+12201, <flush>12.46%@+24,
12.4%@alignmask+26] iv_offset=61"
[ 52.594334] alg: hash: sha256-talitos test failed (wrong result) on
test vector "random: psize=23542 ksize=0", cfg="random: use_finup
src_divs=[<flush>24.98%@+23, <reimport,nosimd>3.46%@+9,
71.56%@alignmask+16325]"
[ 52.765938] alg: hash: sha256-talitos test failed (wrong result) on
test vector "random: psize=9996 ksize=0", cfg="random: inplace may_sleep
use_final src_divs=[72.50%@+14578, <reimport>3.81%@+19,
<flush>6.68%@+15657, <reimport>15.49%@+16265, 0.6%@+16318, 0.18%@+10946,
0.3%@+20, 1.25%@alignmask+7] iv_offs"
[ 53.188174] alg: hash: sha256-talitos test failed (wrong result) on
test vector "random: psize=861 ksize=0", cfg="random: use_final
src_divs=[<flush>16.60%@+5, <reimport,nosimd>16.62%@+16305, 66.78%@+13734]"
[ 53.278733] alg: hash: sha256-talitos test failed (wrong result) on
test vector "random: psize=3734 ksize=0", cfg="random: inplace use_final
nosimd src_divs=[93.92%@+16281, 1.50%@+20, <reimport>1.67%@+15309,
2.91%@+16309]"
[ 53.492933] alg: hash: sha256-talitos test failed (wrong result) on
test vector "random: psize=16973 ksize=0", cfg="random: inplace
use_finup nosimd src_divs=[92.92%@alignmask+16334, <reimport>3.64%@+2,
3.44%@+7784]"
[ 53.688926] alg: hash: sha256-talitos test failed (wrong result) on
test vector "random: psize=15156 ksize=0", cfg="random: inplace
use_final nosimd src_divs=[28.90%@+6, <reimport>65.7%@+16352,
0.46%@+6100, 0.35%@+18, 5.22%@+24]"
[ 53.923942] alg: hash: sha256-talitos test failed (wrong result) on
test vector "random: psize=101 ksize=0", cfg="random: may_sleep
use_finup src_divs=[<flush>27.40%@+14, <reimport>31.23%@+12,
41.37%@alignmask+24] iv_offset=23"
[ 54.551914] alg: hash: sha256-talitos test failed (wrong result) on
test vector "random: psize=28834 ksize=0", cfg="random: inplace
may_sleep use_final src_divs=[<reimport>60.53%@+16359,
<flush>1.53%@+14508, 37.94%@+16273] iv_offset=28"
[ 54.589265] alg: hash: sha256-talitos test failed (wrong result) on
test vector "random: psize=69 ksize=0", cfg="random: use_finup nosimd
src_divs=[75.31%@+12023, <flush>15.21%@+16257, 4.62%@+5616, 4.86%@+16299]"
[ 54.742020] alg: hash: sha256-talitos test failed (wrong result) on
test vector "random: psize=193 ksize=0", cfg="random: inplace may_sleep
use_finup src_divs=[43.2%@+16327, 20.63%@alignmask+8,
<reimport>17.19%@+4337, 19.16%@alignmask+1]"
[ 54.797509] alg: hash: sha256-talitos test failed (wrong result) on
test vector "random: psize=24837 ksize=0", cfg="random: inplace
may_sleep use_final src_divs=[38.74%@+2162, 20.32%@+0,
<reimport>7.73%@+16370, <flush>21.42%@+27, 2.6%@+6665,
<reimport>9.73%@+10] iv_offset=50"
[ 54.858388] alg: hash: sha256-talitos test failed (wrong result) on
test vector "random: psize=17518 ksize=0", cfg="random: may_sleep
use_finup src_divs=[<flush>51.47%@+16351, 10.14%@alignmask+16289,
<reimport>33.20%@+656, 5.19%@+8737] iv_offset=8"
[ 54.962553] alg: hash: sha256-talitos test failed (wrong result) on
test vector "random: psize=234 ksize=0", cfg="random: may_sleep
use_finup src_divs=[44.59%@+16287, <flush>16.96%@+6, 38.45%@+16333]
dst_divs=[100.0%@+14667]"
[ 55.006116] alg: hash: sha256-talitos test failed (wrong result) on
test vector "random: psize=68 ksize=0", cfg="random: may_sleep use_finup
src_divs=[44.85%@+5638, 32.40%@+11326, <flush>18.17%@+2178,
4.58%@alignmask+1]"
[ 42.821956] alg: hash: md5-talitos test failed (wrong result) on test
vector 6, cfg="random: inplace use_finup nosimd src_divs=[10.1%@+16340,
<flush,nosimd>46.24%@alignmask+22, 43.75%@+135] iv_offset=37"
[ 42.857460] alg: hash: md5-talitos test failed (wrong result) on test
vector 6, cfg="random: inplace may_sleep use_finup
src_divs=[<reimport>7.69%@+16343, <reimport>82.26%@+6174, 10.5%@+8697]
iv_offset=12"
[ 42.886721] alg: hash: md5-talitos test failed (wrong result) on test
vector 6, cfg="random: may_sleep use_finup src_divs=[26.76%@+14767,
<flush>37.61%@+112, 35.39%@+2019, <flush>0.22%@+6235, 0.2%@+16301]
iv_offset=41"
[ 42.950397] alg: hash: md5-talitos test failed (wrong result) on test
vector "random: psize=27464 ksize=0", cfg="random: use_final nosimd
src_divs=[<flush>71.74%@+24, <reimport,nosimd>1.46%@+30, 26.80%@+20]
iv_offset=51"
[ 42.992247] alg: hash: md5-talitos test failed (wrong result) on test
vector "random: psize=290 ksize=0", cfg="random: inplace use_final
src_divs=[<flush,nosimd>26.91%@+21, <flush>39.21%@+3, 30.39%@+5590,
3.49%@+6087] iv_offset=3"
[ 43.082625] alg: hash: md5-talitos test failed (wrong result) on test
vector "random: psize=144 ksize=0", cfg="random: inplace use_finup
src_divs=[17.20%@+13181, 38.53%@+16270, <flush>7.19%@+16319, 37.8%@+25]"
[ 43.160780] alg: hash: md5-talitos test failed (wrong result) on test
vector "random: psize=741 ksize=0", cfg="random: inplace may_sleep
use_finup src_divs=[<reimport>40.33%@+8, <flush>51.38%@+1695, 8.29%@+16258]"
[ 43.550021] alg: hash: md5-talitos test failed (wrong result) on test
vector "random: psize=15411 ksize=0", cfg="random: use_final
src_divs=[68.44%@+16358, <reimport,nosimd>27.24%@alignmask+16314,
2.35%@+4795, 1.94%@+19, 0.3%@+13] dst_divs=[63.56%@+29, 3.27%@+16261,
26.78%@+16336, 4.83%@+6902, 1.56%@+16"
[ 43.620670] alg: hash: md5-talitos test failed (wrong result) on test
vector "random: psize=9345 ksize=0", cfg="random: use_final nosimd
src_divs=[8.40%@+16365, <flush,nosimd>25.28%@+15991, 5.16%@+10581,
61.16%@alignmask+15035]"
[ 43.667612] alg: hash: md5-talitos test failed (wrong result) on test
vector "random: psize=657 ksize=0", cfg="random: use_final
src_divs=[16.67%@+26, <reimport,nosimd>31.19%@+12, 52.14%@+16]"
[ 43.698889] alg: hash: md5-talitos test failed (wrong result) on test
vector "random: psize=19787 ksize=0", cfg="random: use_final nosimd
src_divs=[84.37%@+26, <flush>6.72%@alignmask+10127, 0.51%@+15,
8.40%@+14975] iv_offset=2"
[ 43.765707] alg: hash: md5-talitos test failed (wrong result) on test
vector "random: psize=74 ksize=0", cfg="random: may_sleep use_finup
src_divs=[73.18%@+16263, <reimport>3.4%@+0, 23.78%@+2]"
[ 43.966118] alg: hash: md5-talitos test failed (wrong result) on test
vector "random: psize=220 ksize=0", cfg="random: inplace use_finup
nosimd src_divs=[30.89%@+884, <reimport>33.45%@+16315, 31.4%@+16276,
0.34%@+16298, 3.60%@+31, <reimport>0.68%@alignmask+15]"
[ 44.108927] alg: hash: md5-talitos test failed (wrong result) on test
vector "random: psize=12814 ksize=0", cfg="random: may_sleep use_finup
src_divs=[21.67%@+29, <flush>29.89%@+16287, 24.3%@+16285, 22.67%@+16377,
1.74%@+3] dst_divs=[100.0%@+16368]"
[ 44.244604] alg: hash: md5-talitos test failed (wrong result) on test
vector "random: psize=20620 ksize=0", cfg="random: inplace may_sleep
use_final src_divs=[35.58%@alignmask+13538, 38.66%@+16285,
<reimport>24.0%@+19, 1.76%@+1536] iv_offset=51"
[ 44.283438] alg: hash: md5-talitos test failed (wrong result) on test
vector "random: psize=885 ksize=0", cfg="random: may_sleep use_finup
src_divs=[19.24%@+249, <flush>17.94%@+0, 50.48%@+14362, 9.14%@+19,
1.69%@+3016, <reimport>1.51%@alignmask+19] dst_divs=[100.0%@+2327]"
[ 44.309406] alg: hash: md5-talitos test failed (wrong result) on test
vector "random: psize=382 ksize=0", cfg="random: use_final nosimd
src_divs=[<reimport>48.79%@+16320, <flush>34.11%@+16329, 8.87%@+9,
<flush,nosimd>8.22%@+15, <reimport,nosimd>0.1%@+524]
dst_divs=[100.0%@+13] iv_offset=38"
[ 44.368142] alg: hash: md5-talitos test failed (wrong result) on test
vector "random: psize=14353 ksize=0", cfg="random: use_final nosimd
src_divs=[68.62%@+21, <flush,nosimd>26.26%@+16266, 5.12%@+30]"
[ 44.412644] alg: hash: md5-talitos test failed (wrong result) on test
vector "random: psize=300 ksize=0", cfg="random: may_sleep use_final
src_divs=[38.46%@+12, <flush>20.50%@+1468, 41.4%@+10813]
dst_divs=[100.0%@+16332] iv_offset=27"
[ 44.492735] alg: hash: md5-talitos test failed (wrong result) on test
vector "random: psize=11826 ksize=0", cfg="random: use_final
src_divs=[22.44%@+4774, <flush,nosimd>46.96%@+31, 14.55%@+12,
<reimport,nosimd>7.10%@+14425, 2.38%@+5249, <reimport>6.57%@+16304]
dst_divs=[100.0%@+12] iv_offset=7"
[ 44.737829] alg: hash: md5-talitos test failed (wrong result) on test
vector "random: psize=29269 ksize=0", cfg="random: use_finup nosimd
src_divs=[<reimport>10.33%@+4360, <reimport>35.29%@+11030,
38.57%@alignmask+16306, <reimport,nosimd>5.97%@+16282, 9.84%@+13651]
dst_divs=[55.7%@+16302, 44.93%@+9699]"
[ 44.843832] alg: hash: md5-talitos test failed (wrong result) on test
vector "random: psize=13405 ksize=0", cfg="random: inplace may_sleep
use_final src_divs=[<flush>4.56%@+16343, <reimport>83.58%@+14868,
2.69%@alignmask+9624, 2.88%@+16298, <reimport>2.73%@+10,
<flush>1.70%@+17, <reimport>1.56%@+16346, "
[ 44.980299] alg: hash: md5-talitos test failed (wrong result) on test
vector "random: psize=2427 ksize=0", cfg="random: inplace may_sleep
use_final src_divs=[76.35%@+24, <flush>14.82%@+10419, 8.83%@+16355]
iv_offset=34"
[ 45.362567] alg: hash: md5-talitos test failed (wrong result) on test
vector "random: psize=69 ksize=0", cfg="random: inplace use_finup nosimd
src_divs=[4.0%@+19, <reimport>63.45%@+10054, 32.55%@+4236]"
[ 45.516969] alg: hash: sha1-talitos test failed (wrong result) on
test vector 3, cfg="random: may_sleep use_finup
src_divs=[<flush>27.53%@+6478, <flush>44.37%@+9217, 28.10%@+14677]"
[ 45.586629] alg: hash: sha1-talitos test failed (wrong result) on
test vector 5, cfg="random: inplace use_final nosimd
src_divs=[2.40%@+20, <reimport>57.5%@alignmask+0, 40.55%@+16280]
iv_offset=46"
[ 45.620931] alg: hash: sha1-talitos test failed (wrong result) on
test vector 5, cfg="random: use_final nosimd
src_divs=[<flush,nosimd>68.86%@+16348, <flush,nosimd>19.82%@+6805,
11.32%@alignmask+10] dst_divs=[24.50%@+30, 75.50%@+16270] iv_offset=5"
[ 45.649144] alg: hash: sha1-talitos test failed (wrong result) on
test vector 5, cfg="random: use_final nosimd src_divs=[78.49%@+16,
<flush>8.87%@+4, 12.64%@alignmask+27] dst_divs=[100.0%@alignmask+16360]
iv_offset=54"
[ 45.751581] alg: hash: sha1-talitos test failed (wrong result) on
test vector "random: psize=16673 ksize=0", cfg="random: use_final nosimd
src_divs=[<reimport,nosimd>17.7%@+27, <reimport,nosimd>29.85%@+11515,
<reimport>45.35%@+8487, <reimport>5.15%@+892, 2.58%@+7]
dst_divs=[8.57%@+16314, 29.96%@+16323, 6"
[ 45.814750] alg: hash: sha1-talitos test failed (wrong result) on
test vector "random: psize=25860 ksize=0", cfg="random: inplace
use_finup nosimd src_divs=[72.99%@+14861, <flush,nosimd>8.95%@+8, 18.6%@+0]"
[ 45.923575] alg: hash: sha1-talitos test failed (wrong result) on
test vector "random: psize=29803 ksize=0", cfg="random: use_final nosimd
src_divs=[33.72%@+14, <flush,nosimd>50.10%@+7549, 16.18%@+5]
dst_divs=[90.88%@alignmask+15836, 0.58%@+14864, 0.89%@+6777, 7.65%@+19]"
[ 46.000158] alg: hash: sha1-talitos test failed (wrong result) on
test vector "random: psize=18885 ksize=0", cfg="random: inplace
may_sleep use_final src_divs=[59.89%@alignmask+13, 4.9%@+5213,
<reimport>18.37%@alignmask+29, <reimport>14.86%@+16327, 0.53%@+27,
2.26%@+16372] iv_offset=52"
[ 46.030135] alg: hash: sha1-talitos test failed (wrong result) on
test vector "random: psize=965 ksize=0", cfg="random: inplace may_sleep
use_final src_divs=[<flush>24.88%@+7, <flush>19.47%@+16335, 55.65%@+120]"
[ 46.358628] alg: hash: sha1-talitos test failed (wrong result) on
test vector "random: psize=12782 ksize=0", cfg="random: use_finup
src_divs=[34.76%@+16317, 10.66%@+23, <flush,nosimd>4.83%@+16320,
<flush>48.81%@+10, 0.94%@+16301] dst_divs=[55.36%@+16116, 15.37%@+8,
29.27%@alignmask+16288] iv_offset=4"
[ 46.391977] alg: hash: sha1-talitos test failed (wrong result) on
test vector "random: psize=294 ksize=0", cfg="random: inplace use_final
nosimd src_divs=[63.68%@+16306, <flush>20.86%@+16318, 8.98%@+16357,
4.84%@+16380, 1.62%@+3587, <reimport>0.1%@+16004, 0.1%@+3999]"
[ 46.454932] alg: hash: sha1-talitos test failed (wrong result) on
test vector "random: psize=847 ksize=0", cfg="random: may_sleep
use_final src_divs=[<flush>13.58%@+26, <flush>27.95%@+23, 5.72%@+23,
<reimport>52.75%@+11648] dst_divs=[72.15%@alignmask+16329, 18.79%@+6055,
6.52%@+8254, 2.54%@+3506] iv_of"
[ 46.650511] alg: hash: sha1-talitos test failed (wrong result) on
test vector "random: psize=5240 ksize=0", cfg="random: inplace may_sleep
use_final src_divs=[56.89%@+23, 13.98%@+10182,
<flush>23.59%@alignmask+16312, 1.11%@+2904, 3.52%@+9515, 0.42%@+276,
<reimport>0.20%@+2864, 0.29%@+12182]"
[ 46.692302] alg: hash: sha1-talitos test failed (wrong result) on
test vector "random: psize=20305 ksize=0", cfg="random: use_final
src_divs=[34.15%@+7496, 39.46%@+2, 1.39%@+9337, <flush,nosimd>3.58%@+18,
<flush>5.6%@+6104, 16.36%@+3573] iv_offset=48"
[ 46.716020] alg: hash: sha1-talitos test failed (wrong result) on
test vector "random: psize=692 ksize=0", cfg="random: may_sleep
use_finup src_divs=[9.92%@alignmask+6592,
<reimport>53.57%@alignmask+16293, 31.73%@+16353, 4.78%@+16277]"
[ 46.763098] alg: hash: sha1-talitos test failed (wrong result) on
test vector "random: psize=7188 ksize=0", cfg="random: inplace may_sleep
use_finup src_divs=[41.66%@+16353, <flush>34.44%@alignmask+16300,
23.90%@+16360]"
[ 46.995217] alg: hash: sha1-talitos test failed (wrong result) on
test vector "random: psize=143 ksize=0", cfg="random: inplace may_sleep
use_finup src_divs=[<flush>27.29%@+14282, 9.79%@alignmask+11450,
<flush>42.24%@+12, 20.68%@+16275]"
[ 47.157688] alg: hash: sha1-talitos test failed (wrong result) on
test vector "random: psize=16765 ksize=0", cfg="random: inplace
may_sleep use_finup src_divs=[<reimport>19.77%@+16328,
<flush>41.75%@+8545, 38.48%@alignmask+21] iv_offset=62"
[ 47.807197] alg: hash: sha1-talitos test failed (wrong result) on
test vector "random: psize=218 ksize=0", cfg="random: inplace use_final
nosimd src_divs=[<reimport>39.44%@+16369, <flush,nosimd>4.96%@+18,
55.60%@+15157]"
[ 47.880160] alg: hash: sha1-talitos test failed (wrong result) on
test vector "random: psize=612 ksize=0", cfg="random: use_final
src_divs=[80.51%@alignmask+8143, <flush,nosimd>5.2%@+6283, 9.23%@+23,
1.79%@+19, <reimport,nosimd>2.6%@+3, <reimport>0.64%@+10336,
0.7%@+16383, 0.68%@+9] dst_divs=[87.83%@+1"
[ 47.945663] alg: hash: sha1-talitos test failed (wrong result) on
test vector "random: psize=6817 ksize=0", cfg="random: may_sleep
use_final src_divs=[65.86%@+22, <flush>13.31%@+16365,
20.83%@alignmask+27] dst_divs=[66.1%@+8664, 33.99%@+10372] iv_offset=9"
[ 47.968564] alg: hash: sha1-talitos test failed (wrong result) on
test vector "random: psize=72 ksize=0", cfg="random: may_sleep use_finup
src_divs=[78.6%@+16342, <flush>11.52%@alignmask+4514, 6.43%@+8,
3.99%@+4] dst_divs=[100.0%@+6266] iv_offset=13"
[ 47.993331] alg: hash: sha1-talitos test failed (wrong result) on
test vector "random: psize=936 ksize=0", cfg="random: inplace may_sleep
use_final src_divs=[19.88%@alignmask+9868, <flush>27.22%@+5631,
44.99%@+16315, 4.16%@+4010, <reimport>3.75%@alignmask+26] iv_offset=23"
[ 48.017771] alg: hash: sha1-talitos test failed (wrong result) on
test vector "random: psize=252 ksize=0", cfg="random: inplace use_finup
src_divs=[10.34%@+16354, <flush,nosimd>22.40%@+9022, 67.26%@+16263]"
[ 48.085934] alg: hash: sha1-talitos test failed (wrong result) on
test vector "random: psize=171 ksize=0", cfg="random: use_finup nosimd
src_divs=[<reimport,nosimd>39.9%@+17, <flush>54.58%@+16355,
6.33%@alignmask+6138] dst_divs=[86.72%@+22, 13.28%@+14251]"
[ 48.163573] alg: hash: sha1-talitos test failed (wrong result) on
test vector "random: psize=242 ksize=0", cfg="random: inplace use_final
src_divs=[5.42%@+14497, <reimport,nosimd>32.46%@+17, 45.13%@+12032,
16.18%@+19, 0.81%@alignmask+13422] iv_offset=20"
[ 48.219359] alg: hash: sha1-talitos test failed (wrong result) on
test vector "random: psize=8961 ksize=0", cfg="random: inplace may_sleep
use_finup src_divs=[<flush>3.32%@+30, <flush>5.10%@+2580,
91.58%@alignmask+15349] iv_offset=62"
[ 48.258052] alg: hash: sha1-talitos test failed (wrong result) on
test vector "random: psize=16399 ksize=0", cfg="random: may_sleep
use_finup src_divs=[<flush>6.17%@+16356, 56.57%@+16368,
<flush>15.73%@+6808, 7.94%@alignmask+16341, <reimport>7.91%@+11233,
<reimport>5.68%@+0]"
[ 48.500246] alg: hash: sha224-talitos test failed (wrong result) on
test vector 4, cfg="random: inplace use_final nosimd
src_divs=[26.91%@+11, <flush>42.96%@+16354, 30.13%@+10627]"
[ 48.517591] alg: hash: sha224-talitos test failed (wrong result) on
test vector 4, cfg="random: may_sleep use_finup
src_divs=[26.43%@alignmask+3303, <reimport>45.83%@+16310, 5.69%@+416,
<flush>22.5%@+26] iv_offset=32"
[ 48.546110] alg: hash: sha224-talitos test failed (wrong result) on
test vector 4, cfg="random: use_finup nosimd
src_divs=[60.33%@alignmask+18, <flush>17.27%@+16265, 22.40%@+1435]
iv_offset=7"
[ 48.580485] alg: hash: sha224-talitos test failed (wrong result) on
test vector 4, cfg="random: use_final src_divs=[43.65%@+18,
<reimport>41.85%@+15456, 4.46%@+16342, <flush,nosimd>0.22%@+14128,
0.41%@+16310, <reimport>5.93%@+14326, 3.48%@+12570]"
[ 48.606294] alg: hash: sha224-talitos test failed (wrong result) on
test vector 4, cfg="random: inplace use_finup nosimd
src_divs=[75.80%@+16374, <flush>5.77%@+1336, 18.43%@+5430] iv_offset=40"
[ 48.700465] alg: hash: sha224-talitos test failed (wrong result) on
test vector "random: psize=153 ksize=0", cfg="random: inplace may_sleep
use_finup src_divs=[21.83%@+16374, <reimport>54.66%@+14176,
<reimport>0.96%@+15, 22.55%@+18] iv_offset=5"
[ 48.758598] alg: hash: sha224-talitos test failed (wrong result) on
test vector "random: psize=20184 ksize=0", cfg="random: use_final nosimd
src_divs=[<flush>61.84%@+16335, 28.4%@+15, <reimport>9.25%@+15454,
0.87%@+9715]"
[ 48.863950] alg: hash: sha224-talitos test failed (wrong result) on
test vector "random: psize=22165 ksize=0", cfg="random: may_sleep
use_finup src_divs=[91.27%@+6209, <flush>0.58%@+16367, 8.15%@+18]
iv_offset=46"
[ 48.884635] alg: hash: sha224-talitos test failed (wrong result) on
test vector "random: psize=217 ksize=0", cfg="random: inplace use_finup
src_divs=[49.29%@+16304, <reimport>10.27%@+16296, 21.11%@+9798,
13.53%@+19, 5.80%@+3]"
[ 49.109202] alg: hash: sha224-talitos test failed (wrong result) on
test vector "random: psize=2273 ksize=0", cfg="random: inplace may_sleep
use_final src_divs=[<flush>85.25%@+12489, <flush>10.50%@+21, 1.95%@+16,
2.30%@+13976]"
[ 49.163124] alg: hash: sha224-talitos test failed (wrong result) on
test vector "random: psize=15839 ksize=0", cfg="random: inplace
may_sleep use_finup src_divs=[34.1%@+2, <flush>63.26%@+16346,
<reimport>0.91%@alignmask+6114, <flush>0.72%@+20, 1.0%@+16271, 0.4%@+27,
<flush>0.6%@+7722] iv_offset=38"
[ 49.232352] alg: hash: sha224-talitos test failed (wrong result) on
test vector "random: psize=7101 ksize=0", cfg="random: may_sleep
use_final src_divs=[<reimport>29.50%@+23, <reimport>53.29%@+16313,
<flush>10.95%@+6730, 5.34%@+3647, <reimport>0.92%@alignmask+2254]
dst_divs=[87.42%@+10, 12.58%@+17] iv_off"
[ 49.306649] alg: hash: sha224-talitos test failed (wrong result) on
test vector "random: psize=465 ksize=0", cfg="random: inplace use_finup
src_divs=[13.31%@+13, <reimport>34.62%@+16280, 40.46%@alignmask+12787,
1.4%@+14041, 10.57%@+30] iv_offset=55"
[ 49.529958] alg: hash: sha224-talitos test failed (wrong result) on
test vector "random: psize=9251 ksize=0", cfg="random: use_final nosimd
src_divs=[<flush,nosimd>35.6%@+24, <reimport>46.47%@+18, 11.54%@+16343,
<flush>6.93%@+16364] dst_divs=[100.0%@+16296]"
[ 49.621921] alg: hash: sha224-talitos test failed (wrong result) on
test vector "random: psize=5320 ksize=0", cfg="random: use_final nosimd
src_divs=[<reimport,nosimd>45.98%@+14, <flush>5.74%@+0, 43.96%@+4,
<reimport,nosimd>4.32%@+16349] iv_offset=10"
[ 49.851656] alg: hash: sha224-talitos test failed (wrong result) on
test vector "random: psize=74 ksize=0", cfg="random: inplace may_sleep
use_finup src_divs=[74.87%@+5837, <reimport>4.83%@+25, 10.0%@+18,
4.20%@+3, 6.10%@+15] iv_offset=21"
[ 49.932549] alg: hash: sha224-talitos test failed (wrong result) on
test vector "random: psize=10067 ksize=0", cfg="random: inplace
may_sleep use_finup src_divs=[<flush>49.48%@+31,
<reimport>1.69%@alignmask+1847, <flush>23.15%@alignmask+16366,
25.68%@alignmask+16257]"
[ 50.113062] alg: hash: sha224-talitos test failed (wrong result) on
test vector "random: psize=24927 ksize=0", cfg="random: use_finup
src_divs=[65.72%@+16270, <reimport>17.49%@+16279,
<flush>14.55%@alignmask+6493, <reimport,nosimd>0.89%@+29, 0.48%@+16301,
<flush>0.7%@+26, <reimport,nosimd>0.80%@alignmask+1"
[ 50.163000] alg: hash: sha224-talitos test failed (wrong result) on
test vector "random: psize=958 ksize=0", cfg="random: inplace use_final
src_divs=[<reimport>42.34%@+9945, <flush,nosimd>24.44%@+22, 0.9%@+31,
<reimport>1.35%@+2, 31.78%@+7694] iv_offset=24"
[ 50.821677] alg: hash: sha224-talitos test failed (wrong result) on
test vector "random: psize=279 ksize=0", cfg="random: may_sleep
use_finup src_divs=[<reimport>15.65%@+8739, <reimport>9.21%@+16258,
75.14%@+16274] iv_offset=42"
[ 50.939076] alg: hash: sha224-talitos test failed (wrong result) on
test vector "random: psize=195 ksize=0", cfg="random: use_final
src_divs=[29.64%@+16329, <reimport,nosimd>2.6%@+16325, 56.91%@+8,
<reimport>11.39%@+27]"
[ 51.057542] alg: hash: sha224-talitos test failed (wrong result) on
test vector "random: psize=4400 ksize=0", cfg="random: use_finup
src_divs=[8.11%@+16342, 3.8%@alignmask+16, <flush>25.6%@+16296,
11.9%@+2095, 52.66%@+10] dst_divs=[100.0%@+11222]"
[ 51.340988] alg: hash: sha224-talitos test failed (wrong result) on
test vector "random: psize=15517 ksize=0", cfg="random: may_sleep
use_final src_divs=[70.18%@+16381, <reimport>24.53%@+16333, 3.84%@+26,
0.23%@+6, 0.80%@+2518, <flush>0.42%@alignmask+16292]"
[ 51.653696] alg: hash: sha224-talitos test failed (wrong result) on
test vector "random: psize=2200 ksize=0", cfg="random: inplace use_final
src_divs=[16.32%@+1, <flush>64.98%@+11, 18.70%@+16298]"
[ 51.801990] alg: hash: sha224-talitos test failed (wrong result) on
test vector "random: psize=488 ksize=0", cfg="random: may_sleep
use_finup src_divs=[<flush>11.63%@+9233, <reimport>5.28%@+6239,
79.10%@+7752, <flush>3.42%@+16, 0.34%@alignmask+30, 0.23%@alignmask+9709]"
[ 51.832415] alg: hash: sha224-talitos test failed (wrong result) on
test vector "random: psize=912 ksize=0", cfg="random: inplace may_sleep
use_finup src_divs=[51.81%@+29, 20.79%@+10184, <flush>6.32%@+5,
4.50%@alignmask+3, 16.58%@+31]"
[ 52.091194] alg: hash: sha256-talitos test failed (wrong result) on
test vector 4, cfg="random: inplace may_sleep use_final
src_divs=[30.13%@+22, <flush>44.90%@+23, <flush>0.49%@+5761,
20.20%@alignmask+16364, <flush>1.13%@+7, 1.87%@+11811,
<reimport>1.28%@+13676] iv_offset=16"
[ 52.141860] alg: hash: sha256-talitos test failed (wrong result) on
test vector 4, cfg="random: use_final
src_divs=[<flush,nosimd>23.30%@+19, <flush,nosimd>12.52%@+16379,
6.9%@+3619, <reimport,nosimd>58.9%@+31] dst_divs=[19.58%@+7244,
80.42%@alignmask+12565] iv_offset=54"
[ 52.168477] alg: hash: sha256-talitos test failed (wrong result) on
test vector 4, cfg="random: inplace use_final src_divs=[16.13%@+11872,
<flush>33.73%@+20, 50.14%@+22] iv_offset=57"
[ 52.185456] alg: hash: sha256-talitos test failed (wrong result) on
test vector 4, cfg="random: inplace may_sleep use_final
src_divs=[49.50%@+8, <flush>37.55%@+2148, 11.76%@+5,
<flush>0.66%@+11179, <reimport>0.53%@+20] iv_offset=36"
[ 52.233623] alg: hash: sha256-talitos test failed (wrong result) on
test vector "random: psize=8013 ksize=0", cfg="random: use_final nosimd
src_divs=[<flush,nosimd>51.92%@alignmask+6924,
<flush,nosimd>39.6%@+16260, 9.2%@+16354] dst_divs=[74.37%@+18,
14.87%@+21, 10.76%@+18] iv_offset=60"
[ 52.275001] alg: hash: sha256-talitos test failed (wrong result) on
test vector "random: psize=27584 ksize=0", cfg="random: inplace
use_finup src_divs=[92.42%@+30, 2.59%@+16376, 3.58%@+16286,
<reimport>1.16%@+11166, 0.25%@+9]"
[ 52.306082] alg: hash: sha256-talitos test failed (wrong result) on
test vector "random: psize=216 ksize=0", cfg="random: may_sleep
use_finup src_divs=[<flush>44.99%@+16315, <reimport>27.92%@+3307,
27.9%@alignmask+14336] dst_divs=[38.99%@+16, 61.1%@alignmask+29]
iv_offset=60"
[ 52.401829] alg: hash: sha256-talitos test failed (wrong result) on
test vector "random: psize=197 ksize=0", cfg="random: use_finup nosimd
src_divs=[<flush,nosimd>61.85%@+4, <reimport>7.53%@+16276,
<reimport,nosimd>10.13%@+18, <flush,nosimd>4.74%@+15841, 9.12%@+20,
6.63%@+2] iv_offset=38"
[ 53.060297] alg: hash: sha256-talitos test failed (wrong result) on
test vector "random: psize=22048 ksize=0", cfg="random: may_sleep
use_final src_divs=[<flush>72.54%@+12199, <flush>1.54%@alignmask+16269,
25.92%@+1469] dst_divs=[100.0%@alignmask+16350]"
[ 53.439475] alg: hash: sha256-talitos test failed (wrong result) on
test vector "random: psize=21529 ksize=0", cfg="random: use_final nosimd
src_divs=[<flush,nosimd>34.52%@+1415, <reimport,nosimd>61.13%@+15871,
4.35%@+28] iv_offset=12"
[ 53.502868] alg: hash: sha256-talitos test failed (wrong result) on
test vector "random: psize=75 ksize=0", cfg="random: inplace may_sleep
use_finup src_divs=[55.50%@alignmask+9, 9.57%@+16381,
<flush>22.45%@+815, 12.48%@+15] iv_offset=42"
[ 53.922678] alg: hash: sha256-talitos test failed (wrong result) on
test vector "random: psize=30616 ksize=0", cfg="random: may_sleep
use_finup src_divs=[97.91%@+8, 0.44%@+16, <reimport>0.17%@+20,
0.74%@+944, 0.15%@+25, 0.59%@+12548] dst_divs=[100.0%@+16288]"
[ 54.323481] alg: hash: sha256-talitos test failed (wrong result) on
test vector "random: psize=5930 ksize=0", cfg="random: inplace use_finup
src_divs=[<flush>83.37%@+16381, <reimport>11.21%@+16363, 5.26%@+16290,
<reimport,nosimd>0.4%@+24, <flush>0.2%@+9, <flush>0.10%@+16336]"
[ 54.549601] alg: hash: sha256-talitos test failed (wrong result) on
test vector "random: psize=26340 ksize=0", cfg="random: may_sleep
use_final src_divs=[<reimport>28.46%@+14430, <reimport>22.72%@+30,
47.25%@+3, <flush>0.85%@+16293, <flush>0.56%@+9920, 0.16%@+2] iv_offset=52"
[ 54.847793] alg: hash: sha256-talitos test failed (wrong result) on
test vector "random: psize=564 ksize=0", cfg="random: may_sleep
use_finup src_divs=[<flush>20.63%@+27, <reimport>40.29%@+16273,
39.8%@+2784] dst_divs=[39.98%@+26, 60.2%@+1637] iv_offset=23"
[ 55.437170] alg: hash: sha256-talitos test failed (wrong result) on
test vector "random: psize=23478 ksize=0", cfg="random: inplace
may_sleep use_final src_divs=[61.92%@+15255,
<flush>8.11%@alignmask+16288, 29.97%@+16278] iv_offset=23"
[ 55.477270] alg: hash: sha256-talitos test failed (wrong result) on
test vector "random: psize=289 ksize=0", cfg="random: may_sleep
use_finup src_divs=[9.68%@+27, <reimport>90.12%@+14, 0.1%@+9,
0.19%@alignmask+29] dst_divs=[100.0%@+16341] iv_offset=38"
[ 44.460004] alg: hash: md5-talitos test failed (wrong result) on test
vector "random: psize=8991 ksize=0", cfg="random: inplace use_final
src_divs=[<flush>87.13%@+3034, <reimport,nosimd>8.89%@+12542,
3.98%@+16383] iv_offset=10"
[ 44.507859] alg: hash: md5-talitos test failed (wrong result) on test
vector "random: psize=91 ksize=0", cfg="random: use_finup
src_divs=[2.88%@+13718, 49.89%@+0, <flush,nosimd>33.59%@+23, 13.64%@+27]"
[ 44.632037] alg: hash: md5-talitos test failed (wrong result) on test
vector "random: psize=159 ksize=0", cfg="random: inplace may_sleep
use_finup src_divs=[54.66%@+16382, <reimport>7.53%@+5879, 37.81%@+7]
iv_offset=41"
[ 44.681926] alg: hash: md5-talitos test failed (wrong result) on test
vector "random: psize=135 ksize=0", cfg="random: use_finup nosimd
src_divs=[6.59%@+7309, 38.24%@+3, <reimport>31.85%@alignmask+12,
6.89%@+16024, 16.43%@+3591] dst_divs=[10.98%@+3015, 23.19%@+17,
25.45%@+7, 7.41%@alignmask+1374, 15.6"
[ 44.728654] alg: hash: md5-talitos test failed (wrong result) on test
vector "random: psize=508 ksize=0", cfg="random: may_sleep use_final
src_divs=[<flush>32.6%@+16312, <reimport>48.31%@+11197, 19.63%@+15]
iv_offset=6"
[ 44.759109] alg: hash: md5-talitos test failed (wrong result) on test
vector "random: psize=8791 ksize=0", cfg="random: inplace may_sleep
use_final src_divs=[<flush>54.42%@+19, <flush>15.65%@+18, 29.93%@+2164]
iv_offset=21"
[ 44.884996] alg: hash: md5-talitos test failed (wrong result) on test
vector "random: psize=9740 ksize=0", cfg="random: use_finup nosimd
src_divs=[33.97%@+6, <reimport>62.43%@+6877, 0.97%@+2,
<flush,nosimd>2.63%@+16360] iv_offset=61"
[ 44.944327] alg: hash: md5-talitos test failed (wrong result) on test
vector "random: psize=938 ksize=0", cfg="random: inplace may_sleep
use_finup src_divs=[<flush>47.25%@+16270, <flush>32.17%@+16360,
<reimport>6.60%@+1624, 13.98%@alignmask+8]"
[ 45.202009] alg: hash: md5-talitos test failed (wrong result) on test
vector "random: psize=23079 ksize=0", cfg="random: inplace use_final
src_divs=[<flush>32.63%@+4449, <flush>28.98%@+5, 17.59%@+10407,
20.80%@+7887]"
[ 45.576235] alg: hash: md5-talitos test failed (wrong result) on test
vector "random: psize=589 ksize=0", cfg="random: use_final
src_divs=[<flush>5.91%@+16266, <flush,nosimd>70.72%@+16,
18.13%@alignmask+8, <reimport,nosimd>4.70%@+14, 0.13%@+9051,
0.41%@+16296] dst_divs=[45.4%@+16310, 30.9%@+9428, 24.8"
[ 45.635261] alg: hash: md5-talitos test failed (wrong result) on test
vector "random: psize=19356 ksize=0", cfg="random: use_finup nosimd
src_divs=[<reimport>91.71%@+2787, 1.50%@+20,
<reimport,nosimd>6.6%@+16378, 0.73%@+5541] dst_divs=[12.8%@+3504,
26.53%@alignmask+4326, 61.39%@+20] iv_offset=37"
[ 45.682871] alg: hash: md5-talitos test failed (wrong result) on test
vector "random: psize=644 ksize=0", cfg="random: may_sleep use_final
src_divs=[50.99%@+7534, 19.40%@+7812, <reimport>25.28%@+11931,
1.68%@+19, 2.65%@+17] iv_offset=16"
[ 45.903819] alg: hash: md5-talitos test failed (wrong result) on test
vector "random: psize=3941 ksize=0", cfg="random: may_sleep use_finup
src_divs=[<reimport>9.77%@+25, <reimport>70.26%@alignmask+15020,
<flush>9.50%@+26, 10.47%@+7639] dst_divs=[100.0%@+3005]"
[ 46.011944] alg: hash: md5-talitos test failed (wrong result) on test
vector "random: psize=23698 ksize=0", cfg="random: may_sleep use_finup
src_divs=[87.61%@+6, <flush>7.11%@+26, 5.28%@+23] dst_divs=[85.35%@+21,
14.65%@+15]"
[ 46.050570] alg: hash: md5-talitos test failed (wrong result) on test
vector "random: psize=32384 ksize=0", cfg="random: may_sleep use_final
src_divs=[<flush>91.7%@+29, 0.84%@alignmask+16322,
<flush>2.83%@alignmask+15, <reimport>1.26%@+5386, 4.0%@alignmask+16326]
dst_divs=[100.0%@+9216] iv_offset=4"
[ 46.090722] alg: hash: md5-talitos test failed (wrong result) on test
vector "random: psize=183 ksize=0", cfg="random: inplace may_sleep
use_final src_divs=[20.16%@+18, <reimport>14.8%@+16371,
<reimport>5.95%@+14, 59.81%@+28] iv_offset=10"
[ 46.371016] alg: hash: md5-talitos test failed (wrong result) on test
vector "random: psize=367 ksize=0", cfg="random: may_sleep use_final
src_divs=[<reimport>16.2%@+16324, <reimport>4.91%@+30,
79.7%@alignmask+526] dst_divs=[100.0%@+16284]"
[ 46.679053] alg: hash: sha1-talitos test failed (wrong result) on
test vector 3, cfg="random: use_finup src_divs=[25.76%@+3838,
<reimport>1.6%@+5301, 73.18%@+30]"
[ 46.698317] alg: hash: sha1-talitos test failed (wrong result) on
test vector 3, cfg="random: inplace may_sleep use_final
src_divs=[10.10%@+16, <reimport>40.69%@+910, 49.21%@+27]"
[ 46.714679] alg: hash: sha1-talitos test failed (wrong result) on
test vector 3, cfg="random: use_finup nosimd
src_divs=[<reimport>55.52%@alignmask+28, <flush>27.8%@+6607,
17.40%@+5212] dst_divs=[56.44%@+15, 43.56%@+31]"
[ 46.739576] alg: hash: sha1-talitos test failed (wrong result) on
test vector 3, cfg="random: may_sleep use_finup
src_divs=[<flush>13.58%@+2205, 51.45%@+16307, <flush>17.0%@+16306,
6.67%@+9613, 5.91%@+16322, 5.39%@+16355] dst_divs=[100.0%@+3]"
[ 46.767765] alg: hash: sha1-talitos test failed (wrong result) on
test vector 3, cfg="random: inplace may_sleep use_finup
src_divs=[52.26%@+11, <reimport>27.99%@+16337, 5.26%@alignmask+14,
14.49%@+29]"
[ 46.839428] alg: hash: sha1-talitos test failed (wrong result) on
test vector 5, cfg="random: inplace use_final nosimd
src_divs=[<reimport>73.85%@+12887, <flush>3.69%@+21,
<reimport,nosimd>7.11%@+4, 15.35%@+12970]"
[ 46.876896] alg: hash: sha1-talitos test failed (wrong result) on
test vector 5, cfg="random: may_sleep use_finup
src_divs=[<flush>61.44%@alignmask+16341, <reimport>22.63%@+6801,
<flush>13.91%@+5, 2.2%@+16301]"
[ 46.902334] alg: hash: sha1-talitos test failed (wrong result) on
test vector 5, cfg="random: may_sleep use_final
src_divs=[<flush>21.6%@+15, <flush>40.75%@+8225, 38.19%@+3536]
dst_divs=[100.0%@alignmask+3011]"
[ 46.929727] alg: hash: sha1-talitos test failed (wrong result) on
test vector 5, cfg="random: may_sleep use_finup
src_divs=[<reimport>47.90%@+16288, <flush>40.2%@+16354, 12.8%@+1213]"
[ 47.288237] alg: hash: sha1-talitos test failed (wrong result) on
test vector "random: psize=3937 ksize=0", cfg="random: use_finup nosimd
src_divs=[<reimport>69.89%@+13306, <flush,nosimd>10.56%@+10,
19.55%@+16278] dst_divs=[5.79%@+23, 94.21%@+0]"
[ 47.449404] alg: hash: sha1-talitos test failed (wrong result) on
test vector "random: psize=930 ksize=0", cfg="random: inplace may_sleep
use_final src_divs=[<flush>82.31%@+31, <reimport>5.86%@+16317, 11.83%@+12]"
[ 47.697982] alg: hash: sha1-talitos test failed (wrong result) on
test vector "random: psize=1717 ksize=0", cfg="random: use_final
src_divs=[<reimport>84.93%@+16380, <flush,nosimd>4.47%@+16353,
6.48%@+12962, <flush,nosimd>4.12%@+3] iv_offset=19"
[ 47.825713] alg: hash: sha1-talitos test failed (wrong result) on
test vector "random: psize=218 ksize=0", cfg="random: may_sleep
use_final src_divs=[35.56%@+12030, <flush>20.46%@+27, 43.98%@+17]"
[ 47.847219] alg: hash: sha1-talitos test failed (wrong result) on
test vector "random: psize=685 ksize=0", cfg="random: inplace may_sleep
use_final src_divs=[48.27%@+27, <flush>7.56%@+16288,
28.58%@alignmask+25, 15.59%@+9496] iv_offset=61"
[ 47.947213] alg: hash: sha1-talitos test failed (wrong result) on
test vector "random: psize=19276 ksize=0", cfg="random: inplace
use_final src_divs=[<flush>64.32%@+2784, 3.69%@+13,
<flush>9.39%@alignmask+4, 22.60%@+14069] iv_offset=42"
[ 47.981037] alg: hash: sha1-talitos test failed (wrong result) on
test vector "random: psize=472 ksize=0", cfg="random: inplace use_final
nosimd src_divs=[<reimport,nosimd>9.99%@+16284, <flush,nosimd>36.39%@+0,
<flush>41.43%@+16378, 12.19%@+16362] iv_offset=2"
[ 48.134338] alg: hash: sha1-talitos test failed (wrong result) on
test vector "random: psize=22718 ksize=0", cfg="random: inplace
may_sleep use_final src_divs=[<reimport>61.81%@+7669,
<reimport>17.38%@+9701, 20.81%@+7632]"
[ 48.202163] alg: hash: sha1-talitos test failed (wrong result) on
test vector "random: psize=21735 ksize=0", cfg="random: use_final
src_divs=[<reimport,nosimd>20.71%@+7, <flush>78.88%@+16329,
0.40%@+16380, <flush>0.1%@+7546]"
[ 48.339559] alg: hash: sha1-talitos test failed (wrong result) on
test vector "random: psize=954 ksize=0", cfg="random: may_sleep
use_finup src_divs=[<flush>64.41%@+14356, <flush>5.72%@+6890, 5.83%@+23,
24.4%@+31] iv_offset=14"
[ 48.724780] alg: hash: sha1-talitos test failed (wrong result) on
test vector "random: psize=111 ksize=0", cfg="random: use_finup nosimd
src_divs=[<flush>3.46%@+25, <reimport,nosimd>80.85%@alignmask+19,
8.10%@+9314, 3.32%@+4219, 3.9%@+15359, 1.18%@+16260]
dst_divs=[100.0%@alignmask+10702]"
[ 48.894203] alg: hash: sha1-talitos test failed (wrong result) on
test vector "random: psize=589 ksize=0", cfg="random: inplace may_sleep
use_finup src_divs=[76.4%@+8648, <reimport>2.48%@+16264, 21.1%@+26,
<flush>0.14%@+452, <reimport>0.33%@alignmask+15378]"
[ 49.172224] alg: hash: sha1-talitos test failed (wrong result) on
test vector "random: psize=216 ksize=0", cfg="random: inplace use_finup
nosimd src_divs=[<reimport>6.74%@+30, <reimport>44.52%@+2388,
48.74%@alignmask+11511] iv_offset=43"
[ 49.222049] alg: hash: sha1-talitos test failed (wrong result) on
test vector "random: psize=212 ksize=0", cfg="random: use_final nosimd
src_divs=[<reimport,nosimd>18.89%@+16287, <reimport,nosimd>3.28%@+14,
77.83%@+16292]"
[ 49.275267] alg: hash: sha1-talitos test failed (wrong result) on
test vector "random: psize=13797 ksize=0", cfg="random: may_sleep
use_finup src_divs=[<flush>46.47%@+12192, 31.46%@+7,
<reimport>17.62%@+16316, 4.45%@+29] dst_divs=[100.0%@+25]"
[ 49.482020] alg: hash: sha1-talitos test failed (wrong result) on
test vector "random: psize=341 ksize=0", cfg="random: inplace may_sleep
use_finup src_divs=[44.18%@alignmask+14498, <reimport>44.10%@+31,
6.84%@+19, <flush>4.19%@+11, <flush>0.49%@+6682, 0.11%@+2,
<flush>0.9%@+16347] iv_offset=7"
[ 49.695348] alg: hash: sha224-talitos test failed (wrong result) on
test vector 4, cfg="random: inplace may_sleep use_finup
src_divs=[43.46%@+1918, <reimport>14.19%@+4844, 12.55%@+16364,
<reimport>29.80%@alignmask+15447] iv_offset=4"
[ 49.740292] alg: hash: sha224-talitos test failed (wrong result) on
test vector 4, cfg="random: may_sleep use_final src_divs=[3.85%@+3293,
<flush>15.61%@+27, 30.30%@+0, <flush>50.24%@+2] iv_offset=54"
[ 49.781924] alg: hash: sha224-talitos test failed (wrong result) on
test vector "random: psize=15056 ksize=0", cfg="random: use_final nosimd
src_divs=[47.35%@+5873, 9.64%@alignmask+13083, <flush,nosimd>37.24%@+16,
<flush,nosimd>4.40%@+8705, 1.37%@+6577] iv_offset=12"
[ 50.044594] alg: hash: sha224-talitos test failed (wrong result) on
test vector "random: psize=3862 ksize=0", cfg="random: inplace may_sleep
use_final src_divs=[<flush>2.10%@+10, <reimport>62.23%@+1, 5.55%@+11010,
21.33%@+537, 5.81%@alignmask+6216, 2.98%@+27] iv_offset=37"
[ 50.440560] alg: hash: sha224-talitos test failed (wrong result) on
test vector "random: psize=11605 ksize=0", cfg="random: inplace
may_sleep use_final src_divs=[2.56%@+11, 53.67%@+7882,
<reimport>24.35%@+16356, 8.4%@+3210, <flush>11.38%@+11413]"
[ 50.502413] alg: hash: sha224-talitos test failed (wrong result) on
test vector "random: psize=30066 ksize=0", cfg="random: may_sleep
use_final src_divs=[63.46%@+7, <flush>11.89%@+10804,
<flush>15.22%@alignmask+16282, 9.43%@+31] iv_offset=47"
[ 50.797432] alg: hash: sha224-talitos test failed (wrong result) on
test vector "random: psize=426 ksize=0", cfg="random: use_finup nosimd
src_divs=[<reimport,nosimd>62.0%@+2538, <reimport>18.70%@alignmask+2,
7.3%@+30, <reimport,nosimd>11.85%@+22, 0.42%@+9683]
dst_divs=[90.54%@+15, 8.41%@+12, 0.64%@+3, 0"
[ 51.148015] alg: hash: sha224-talitos test failed (wrong result) on
test vector "random: psize=826 ksize=0", cfg="random: may_sleep
use_finup src_divs=[<flush>61.42%@+7023, <reimport>2.83%@+3,
<flush>30.83%@+15514, 4.92%@+13855] dst_divs=[51.72%@+6, 8.82%@+27,
7.44%@alignmask+16264, 9.59%@+16289, 22.43%@"
[ 51.343612] alg: hash: sha224-talitos test failed (wrong result) on
test vector "random: psize=237 ksize=0", cfg="random: inplace use_finup
src_divs=[9.21%@+10676, 31.30%@+16342, <flush>23.8%@+3912,
36.41%@alignmask+10521]"
[ 51.440981] alg: hash: sha224-talitos test failed (wrong result) on
test vector "random: psize=204 ksize=0", cfg="random: inplace use_final
nosimd src_divs=[30.30%@+6505, <flush>27.55%@+27, 32.37%@+17,
5.83%@+16289, <flush,nosimd>3.95%@+1315]"
[ 51.489197] alg: hash: sha224-talitos test failed (wrong result) on
test vector "random: psize=526 ksize=0", cfg="random: use_final
src_divs=[6.75%@+8032, <reimport,nosimd>10.2%@+27, 83.23%@+31]
dst_divs=[100.0%@+14] iv_offset=21"
[ 51.674249] alg: hash: sha224-talitos test failed (wrong result) on
test vector "random: psize=135 ksize=0", cfg="random: inplace may_sleep
use_finup src_divs=[<flush>51.26%@alignmask+11168, <flush>16.39%@+16374,
15.78%@alignmask+16320, <flush>8.2%@+16372, <reimport>5.16%@+28,
3.39%@+25] iv_offset=21"
[ 51.721849] alg: hash: sha224-talitos test failed (wrong result) on
test vector "random: psize=31374 ksize=0", cfg="random: use_finup
src_divs=[46.13%@+27, 16.54%@+9429, <flush>17.59%@+29, 19.74%@+1384]"
[ 52.092004] alg: hash: sha224-talitos test failed (wrong result) on
test vector "random: psize=8423 ksize=0", cfg="random: inplace use_final
src_divs=[97.3%@+16, <flush,nosimd>0.78%@+16296, 1.63%@+10,
0.56%@alignmask+13]"
[ 52.460078] alg: hash: sha224-talitos test failed (wrong result) on
test vector "random: psize=760 ksize=0", cfg="random: inplace use_finup
nosimd src_divs=[<reimport,nosimd>81.2%@+2,
<reimport,nosimd>12.72%@+1467, 3.92%@+21, 2.34%@+10]"
[ 52.555509] alg: hash: sha224-talitos test failed (wrong result) on
test vector "random: psize=25043 ksize=0", cfg="random: use_final
src_divs=[67.13%@+23, <flush>26.69%@+14, 3.74%@+1724, 1.41%@+6571,
1.3%@+1443] dst_divs=[74.38%@+16296, 25.62%@+6809] iv_offset=18"
[ 52.791929] alg: hash: sha224-talitos test failed (wrong result) on
test vector "random: psize=32624 ksize=0", cfg="random: inplace
may_sleep use_final src_divs=[84.56%@+11, <reimport>12.92%@+27,
2.52%@+9196] iv_offset=2"
[ 53.332835] alg: hash: sha256-talitos test failed (wrong result) on
test vector 4, cfg="random: may_sleep use_final src_divs=[13.67%@+27,
<reimport>65.2%@+16327, <flush>9.19%@alignmask+16087, 12.12%@+3823]
dst_divs=[86.68%@+7, 13.32%@+21]"
[ 53.356010] alg: hash: sha256-talitos test failed (wrong result) on
test vector 4, cfg="random: inplace may_sleep use_finup
src_divs=[87.56%@+16302, <reimport>2.77%@+6905, 9.67%@+8401] iv_offset=34"
[ 53.390643] alg: hash: sha256-talitos test failed (wrong result) on
test vector 4, cfg="random: may_sleep use_finup src_divs=[92.22%@+11,
<flush>1.71%@alignmask+2359, 6.7%@+8469] dst_divs=[100.0%@+11] iv_offset=2"
[ 53.417307] alg: hash: sha256-talitos test failed (wrong result) on
test vector 4, cfg="random: inplace use_finup
src_divs=[<reimport>55.51%@+20, <flush,nosimd>9.13%@+10069,
<flush>4.70%@+29, 30.66%@+15705]"
[ 53.444625] alg: hash: sha256-talitos test failed (wrong result) on
test vector 4, cfg="random: inplace use_finup src_divs=[11.92%@+17,
<flush>65.22%@+16256, 12.86%@alignmask+14763, <flush,nosimd>10.0%@+24]
iv_offset=28"
[ 53.578402] alg: hash: sha256-talitos test failed (wrong result) on
test vector "random: psize=5887 ksize=0", cfg="random: inplace use_finup
nosimd src_divs=[<flush,nosimd>23.6%@alignmask+16289,
<flush>64.51%@+2529, 12.43%@+4] iv_offset=63"
[ 53.637198] alg: hash: sha256-talitos test failed (wrong result) on
test vector "random: psize=30578 ksize=0", cfg="random: may_sleep
use_finup src_divs=[<reimport>47.44%@+5, <reimport>34.99%@+10471,
<flush>12.18%@+16199, <reimport>2.74%@+3, 2.65%@+2503]
dst_divs=[100.0%@+620] iv_offset=31"
[ 53.947955] alg: hash: sha256-talitos test failed (wrong result) on
test vector "random: psize=194 ksize=0", cfg="random: inplace use_finup
src_divs=[<reimport>80.99%@alignmask+0, <flush,nosimd>1.80%@+16343,
8.48%@+23, 4.34%@+24, <flush>1.72%@alignmask+11, <flush>0.25%@+16275,
<flush,nosimd>1.87%@+8211, "
[ 53.977691] alg: hash: sha256-talitos test failed (wrong result) on
test vector "random: psize=85 ksize=0", cfg="random: may_sleep use_finup
src_divs=[<flush>18.91%@+13003, <reimport>29.58%@+22, 51.51%@+27]
dst_divs=[9.34%@+30, 90.66%@+11904]"
[ 54.119136] alg: hash: sha256-talitos test failed (wrong result) on
test vector "random: psize=7685 ksize=0", cfg="random: inplace use_final
nosimd src_divs=[49.98%@alignmask+2, <reimport,nosimd>19.14%@+16267,
30.88%@+13] iv_offset=39"
[ 54.167691] alg: hash: sha256-talitos test failed (wrong result) on
test vector "random: psize=5928 ksize=0", cfg="random: use_finup nosimd
src_divs=[<reimport>36.49%@+5347, <reimport>0.52%@+1150,
<reimport,nosimd>38.15%@+17, 17.6%@+0, <flush>7.78%@+16329] iv_offset=15"
[ 54.245330] alg: hash: sha256-talitos test failed (wrong result) on
test vector "random: psize=10325 ksize=0", cfg="random: use_final nosimd
src_divs=[<reimport,nosimd>52.53%@+15597, <reimport>43.77%@+1503,
3.70%@+11147] dst_divs=[32.54%@+7899, 52.48%@+1070, 14.98%@+10237]
iv_offset=1"
[ 54.358122] alg: hash: sha256-talitos test failed (wrong result) on
test vector "random: psize=29634 ksize=0", cfg="random: inplace
use_final src_divs=[85.0%@+28, 12.71%@alignmask+10124, 0.77%@+14502,
<flush,nosimd>1.27%@+7, 0.25%@+5]"
[ 54.664591] alg: hash: sha256-talitos test failed (wrong result) on
test vector "random: psize=551 ksize=0", cfg="random: use_finup nosimd
src_divs=[<flush,nosimd>52.35%@+14, <reimport,nosimd>38.76%@+30,
8.89%@+16303] iv_offset=30"
[ 54.949740] alg: hash: sha256-talitos test failed (wrong result) on
test vector "random: psize=21277 ksize=0", cfg="random: inplace
use_final nosimd src_divs=[67.95%@+16335, <flush,nosimd>30.65%@+16333,
0.53%@+12877, 0.24%@+10310, 0.23%@alignmask+16359,
<reimport,nosimd>0.40%@+12244]"
[ 55.824272] alg: hash: sha256-talitos test failed (wrong result) on
test vector "random: psize=5256 ksize=0", cfg="random: inplace may_sleep
use_final src_divs=[<flush>30.69%@+13758, <flush>29.84%@alignmask+2115,
<flush>29.25%@+4823, 10.22%@+16332] iv_offset=37"
[ 55.956233] alg: hash: sha256-talitos test failed (wrong result) on
test vector "random: psize=18675 ksize=0", cfg="random: use_finup
src_divs=[18.23%@+16272, <flush,nosimd>66.64%@+4260,
<reimport>5.35%@+11, <reimport,nosimd>6.17%@+18, 2.90%@+19,
<flush,nosimd>0.71%@+6] iv_offset=26"
[ 56.338585] alg: hash: sha256-talitos test failed (wrong result) on
test vector "random: psize=946 ksize=0", cfg="random: inplace use_final
src_divs=[<reimport,nosimd>16.47%@alignmask+15498,
<flush,nosimd>46.17%@+11, 37.36%@+16343] iv_offset=23"
[ 56.417911] alg: hash: sha256-talitos test failed (wrong result) on
test vector "random: psize=13293 ksize=0", cfg="random: inplace
may_sleep use_final src_divs=[<reimport>14.15%@+16336,
<reimport>14.94%@+14294, <flush>43.18%@alignmask+27,
<flush>12.15%@+5556, 15.58%@+3246]"
[ 56.482903] alg: hash: sha256-talitos test failed (wrong result) on
test vector "random: psize=637 ksize=0", cfg="random: inplace may_sleep
use_finup src_divs=[16.33%@+16338, 58.36%@+15718, <flush>11.46%@+9478,
13.36%@alignmask+16324, <flush>0.1%@+16266, 0.24%@+16301,
<reimport>0.24%@+5355]"
[ 56.859188] alg: hash: sha256-talitos test failed (wrong result) on
test vector "random: psize=626 ksize=0", cfg="random: use_final
src_divs=[6.15%@+21, <flush>20.65%@+28, <reimport,nosimd>31.97%@+5,
41.23%@+2846] dst_divs=[100.0%@+16268] iv_offset=60"
[ 56.882971] alg: hash: sha256-talitos test failed (wrong result) on
test vector "random: psize=1014 ksize=0", cfg="random: inplace use_final
src_divs=[<reimport>25.5%@+16383, <reimport,nosimd>15.75%@+14250,
59.20%@+1] iv_offset=17"
^ permalink raw reply
* Re: [PATCH 1/2] open: add close_range()
From: David Howells @ 2019-05-21 16:30 UTC (permalink / raw)
To: Al Viro
Cc: linux-ia64, linux-sh, oleg, dhowells, linux-kselftest, sparclinux,
shuah, linux-arch, linux-s390, miklos, x86, torvalds,
Christian Brauner, linux-mips, linux-xtensa, tkjos, arnd, jannh,
linux-m68k, tglx, ldv, linux-arm-kernel, fweimer, linux-parisc,
linux-api, linux-kernel, linux-alpha, linux-fsdevel, linuxppc-dev
In-Reply-To: <20190521150006.GJ17978@ZenIV.linux.org.uk>
Al Viro <viro@zeniv.linux.org.uk> wrote:
> Umm... That's going to be very painful if you dup2() something to MAX_INT and
> then run that; roughly 2G iterations of bouncing ->file_lock up and down,
> without anything that would yield CPU in process.
>
> If anything, I would suggest something like
>
> fd = *start_fd;
> grab the lock
> fdt = files_fdtable(files);
> more:
> look for the next eviction candidate in ->open_fds, starting at fd
> if there's none up to max_fd
> drop the lock
> return NULL
> *start_fd = fd + 1;
> if the fscker is really opened and not just reserved
> rcu_assign_pointer(fdt->fd[fd], NULL);
> __put_unused_fd(files, fd);
> drop the lock
> return the file we'd got
> if (unlikely(need_resched()))
> drop lock
> cond_resched();
> grab lock
> fdt = files_fdtable(files);
> goto more;
>
> with the main loop being basically
> while ((file = pick_next(files, &start_fd, max_fd)) != NULL)
> filp_close(file, files);
If we can live with close_from(int first) rather than close_range(), then this
can perhaps be done a lot more efficiently by:
new = alloc_fdtable(first);
spin_lock(&files->file_lock);
old = files_fdtable(files);
copy_fds(new, old, 0, first - 1);
rcu_assign_pointer(files->fdt, new);
spin_unlock(&files->file_lock);
clear_fds(old, 0, first - 1);
close_fdt_from(old, first);
kfree_rcu(old);
David
^ permalink raw reply
* Re: [PATCH 1/2] open: add close_range()
From: Christian Brauner @ 2019-05-21 16:41 UTC (permalink / raw)
To: David Howells
Cc: linux-ia64, linux-sh, oleg, linux-kselftest, sparclinux, shuah,
linux-arch, linux-s390, miklos, x86, torvalds, linux-mips,
linux-xtensa, tkjos, arnd, jannh, linux-m68k, Al Viro, tglx, ldv,
linux-arm-kernel, fweimer, linux-parisc, linux-api, linux-kernel,
linux-alpha, linux-fsdevel, linuxppc-dev
In-Reply-To: <28114.1558456227@warthog.procyon.org.uk>
On Tue, May 21, 2019 at 05:30:27PM +0100, David Howells wrote:
> Al Viro <viro@zeniv.linux.org.uk> wrote:
>
> > Umm... That's going to be very painful if you dup2() something to MAX_INT and
> > then run that; roughly 2G iterations of bouncing ->file_lock up and down,
> > without anything that would yield CPU in process.
> >
> > If anything, I would suggest something like
> >
> > fd = *start_fd;
> > grab the lock
> > fdt = files_fdtable(files);
> > more:
> > look for the next eviction candidate in ->open_fds, starting at fd
> > if there's none up to max_fd
> > drop the lock
> > return NULL
> > *start_fd = fd + 1;
> > if the fscker is really opened and not just reserved
> > rcu_assign_pointer(fdt->fd[fd], NULL);
> > __put_unused_fd(files, fd);
> > drop the lock
> > return the file we'd got
> > if (unlikely(need_resched()))
> > drop lock
> > cond_resched();
> > grab lock
> > fdt = files_fdtable(files);
> > goto more;
> >
> > with the main loop being basically
> > while ((file = pick_next(files, &start_fd, max_fd)) != NULL)
> > filp_close(file, files);
>
> If we can live with close_from(int first) rather than close_range(), then this
> can perhaps be done a lot more efficiently by:
Yeah, you mentioned this before. I do like being able to specify an
upper bound to have the ability to place fds strategically after said
upper bound.
I have used this quite a few times where I know that given task may have
inherited up to m fds and I want to inherit a specific pipe who's fd I
know. Then I'd dup2(pipe_fd, <upper_bound + 1>) and then close all
other fds. Is that too much of a corner case?
Christian
^ permalink raw reply
* Re: [PATCH 1/2] open: add close_range()
From: Christian Brauner @ 2019-05-21 16:53 UTC (permalink / raw)
To: Al Viro
Cc: linux-ia64, linux-sh, oleg, dhowells, linux-kselftest, sparclinux,
shuah, linux-arch, linux-s390, miklos, x86, torvalds, linux-mips,
linux-xtensa, tkjos, arnd, jannh, linux-m68k, tglx, ldv,
linux-arm-kernel, fweimer, linux-parisc, linux-api, linux-kernel,
linux-alpha, linux-fsdevel, linuxppc-dev
In-Reply-To: <20190521150006.GJ17978@ZenIV.linux.org.uk>
On Tue, May 21, 2019 at 04:00:06PM +0100, Al Viro wrote:
> On Tue, May 21, 2019 at 01:34:47PM +0200, Christian Brauner wrote:
>
> > This adds the close_range() syscall. It allows to efficiently close a range
> > of file descriptors up to all file descriptors of a calling task.
> >
> > The syscall came up in a recent discussion around the new mount API and
> > making new file descriptor types cloexec by default. During this
> > discussion, Al suggested the close_range() syscall (cf. [1]). Note, a
> > syscall in this manner has been requested by various people over time.
> >
> > First, it helps to close all file descriptors of an exec()ing task. This
> > can be done safely via (quoting Al's example from [1] verbatim):
> >
> > /* that exec is sensitive */
> > unshare(CLONE_FILES);
> > /* we don't want anything past stderr here */
> > close_range(3, ~0U);
> > execve(....);
> >
> > The code snippet above is one way of working around the problem that file
> > descriptors are not cloexec by default. This is aggravated by the fact that
> > we can't just switch them over without massively regressing userspace. For
> > a whole class of programs having an in-kernel method of closing all file
> > descriptors is very helpful (e.g. demons, service managers, programming
> > language standard libraries, container managers etc.).
> > (Please note, unshare(CLONE_FILES) should only be needed if the calling
> > task is multi-threaded and shares the file descriptor table with another
> > thread in which case two threads could race with one thread allocating
> > file descriptors and the other one closing them via close_range(). For the
> > general case close_range() before the execve() is sufficient.)
> >
> > Second, it allows userspace to avoid implementing closing all file
> > descriptors by parsing through /proc/<pid>/fd/* and calling close() on each
> > file descriptor. From looking at various large(ish) userspace code bases
> > this or similar patterns are very common in:
> > - service managers (cf. [4])
> > - libcs (cf. [6])
> > - container runtimes (cf. [5])
> > - programming language runtimes/standard libraries
> > - Python (cf. [2])
> > - Rust (cf. [7], [8])
> > As Dmitry pointed out there's even a long-standing glibc bug about missing
> > kernel support for this task (cf. [3]).
> > In addition, the syscall will also work for tasks that do not have procfs
> > mounted and on kernels that do not have procfs support compiled in. In such
> > situations the only way to make sure that all file descriptors are closed
> > is to call close() on each file descriptor up to UINT_MAX or RLIMIT_NOFILE,
> > OPEN_MAX trickery (cf. comment [8] on Rust).
> >
> > The performance is striking. For good measure, comparing the following
> > simple close_all_fds() userspace implementation that is essentially just
> > glibc's version in [6]:
> >
> > static int close_all_fds(void)
> > {
> > DIR *dir;
> > struct dirent *direntp;
> >
> > dir = opendir("/proc/self/fd");
> > if (!dir)
> > return -1;
> >
> > while ((direntp = readdir(dir))) {
> > int fd;
> > if (strcmp(direntp->d_name, ".") == 0)
> > continue;
> > if (strcmp(direntp->d_name, "..") == 0)
> > continue;
> > fd = atoi(direntp->d_name);
> > if (fd == 0 || fd == 1 || fd == 2)
> > continue;
> > close(fd);
> > }
> >
> > closedir(dir); /* cannot fail */
> > return 0;
> > }
> >
> > to close_range() yields:
> > 1. closing 4 open files:
> > - close_all_fds(): ~280 us
> > - close_range(): ~24 us
> >
> > 2. closing 1000 open files:
> > - close_all_fds(): ~5000 us
> > - close_range(): ~800 us
> >
> > close_range() is designed to allow for some flexibility. Specifically, it
> > does not simply always close all open file descriptors of a task. Instead,
> > callers can specify an upper bound.
> > This is e.g. useful for scenarios where specific file descriptors are
> > created with well-known numbers that are supposed to be excluded from
> > getting closed.
> > For extra paranoia close_range() comes with a flags argument. This can e.g.
> > be used to implement extension. Once can imagine userspace wanting to stop
> > at the first error instead of ignoring errors under certain circumstances.
> > There might be other valid ideas in the future. In any case, a flag
> > argument doesn't hurt and keeps us on the safe side.
> >
> > >From an implementation side this is kept rather dumb. It saw some input
> > from David and Jann but all nonsense is obviously my own!
> > - Errors to close file descriptors are currently ignored. (Could be changed
> > by setting a flag in the future if needed.)
> > - __close_range() is a rather simplistic wrapper around __close_fd().
> > My reasoning behind this is based on the nature of how __close_fd() needs
> > to release an fd. But maybe I misunderstood specifics:
> > We take the files_lock and rcu-dereference the fdtable of the calling
> > task, we find the entry in the fdtable, get the file and need to release
> > files_lock before calling filp_close().
> > In the meantime the fdtable might have been altered so we can't just
> > retake the spinlock and keep the old rcu-reference of the fdtable
> > around. Instead we need to grab a fresh reference to the fdtable.
> > If my reasoning is correct then there's really no point in fancyfying
> > __close_range(): We just need to rcu-dereference the fdtable of the
> > calling task once to cap the max_fd value correctly and then go on
> > calling __close_fd() in a loop.
>
> > +/**
> > + * __close_range() - Close all file descriptors in a given range.
> > + *
> > + * @fd: starting file descriptor to close
> > + * @max_fd: last file descriptor to close
> > + *
> > + * This closes a range of file descriptors. All file descriptors
> > + * from @fd up to and including @max_fd are closed.
> > + */
> > +int __close_range(struct files_struct *files, unsigned fd, unsigned max_fd)
> > +{
> > + unsigned int cur_max;
> > +
> > + if (fd > max_fd)
> > + return -EINVAL;
> > +
> > + rcu_read_lock();
> > + cur_max = files_fdtable(files)->max_fds;
> > + rcu_read_unlock();
> > +
> > + /* cap to last valid index into fdtable */
> > + if (max_fd >= cur_max)
> > + max_fd = cur_max - 1;
> > +
> > + while (fd <= max_fd)
> > + __close_fd(files, fd++);
> > +
> > + return 0;
> > +}
>
> Umm... That's going to be very painful if you dup2() something to MAX_INT and
> then run that; roughly 2G iterations of bouncing ->file_lock up and down,
> without anything that would yield CPU in process.
>
> If anything, I would suggest something like
>
> fd = *start_fd;
> grab the lock
> fdt = files_fdtable(files);
> more:
> look for the next eviction candidate in ->open_fds, starting at fd
> if there's none up to max_fd
> drop the lock
> return NULL
> *start_fd = fd + 1;
> if the fscker is really opened and not just reserved
> rcu_assign_pointer(fdt->fd[fd], NULL);
> __put_unused_fd(files, fd);
> drop the lock
> return the file we'd got
> if (unlikely(need_resched()))
> drop lock
> cond_resched();
> grab lock
> fdt = files_fdtable(files);
> goto more;
>
> with the main loop being basically
> while ((file = pick_next(files, &start_fd, max_fd)) != NULL)
> filp_close(file, files);
That's obviously much more clever than what I had.
I honestly have never thought about using open_fds before this. Seemed
extremely localized to file.c
Thanks for the pointers!
Christian
^ permalink raw reply
* Re: [PATCH v2 2/5] powerpc: Fix vDSO clock_getres()
From: Christophe Leroy @ 2019-05-21 17:03 UTC (permalink / raw)
To: Vincenzo Frascino, Michael Ellerman; +Cc: linuxppc-dev@lists.ozlabs.org
In-Reply-To: <a8833fb2-0242-da57-a48b-fd8af641273d@c-s.fr>
Le 21/05/2019 à 18:46, Christophe Leroy a écrit :
>
>
> Le 21/05/2019 à 18:08, Vincenzo Frascino a écrit :
>> Hi Christophe,
>>
>> I did not see this patch in 5.2-rc1 and I was wondering if there is
>> anything I
>> can do to help with upstraming it.
>
> As far as I can see you series still has status 'new' in patchwork so I
> guess Michael didn't have time to look at it
> (https://patchwork.ozlabs.org/patch/1086410/)
Maybe you should also provide a Fixes: tag. What about:
Fixes: a7f290dad32e ("[PATCH] powerpc: Merge vdso's and add vdso support
to 32 bits kernel")
Cc: stable@vger.kernel.org
Christophe
>
>>
>> Please let me know.
>
>
> You series involves several arches, how do you plan to handle it ? Do
> you expect each arch maintainer to take each patch independentely, or do
> you expect acks from arch maintainers in order to merge the entire
> series in a given tree (which one ?)
>
> Christophe
>
>
>>
>> Thanks,
>> Vincenzo
>>
>> On 23/04/2019 17:33, Christophe Leroy wrote:
>>>
>>>
>>> Le 16/04/2019 à 18:14, Vincenzo Frascino a écrit :
>>>> clock_getres in the vDSO library has to preserve the same behaviour
>>>> of posix_get_hrtimer_res().
>>>>
>>>> In particular, posix_get_hrtimer_res() does:
>>>> sec = 0;
>>>> ns = hrtimer_resolution;
>>>> and hrtimer_resolution depends on the enablement of the high
>>>> resolution timers that can happen either at compile or at run time.
>>>>
>>>> Fix the powerpc vdso implementation of clock_getres keeping a copy of
>>>> hrtimer_resolution in vdso data and using that directly.
>>>>
>>>> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
>>>> Cc: Paul Mackerras <paulus@samba.org>
>>>> Cc: Michael Ellerman <mpe@ellerman.id.au>
>>>> Signed-off-by: Vincenzo Frascino <vincenzo.frascino@arm.com>
>>>
>>> Reviewed-by: Christophe Leroy <christophe.leroy@c-s.fr>
>>>
>>>> ---
>>>> arch/powerpc/include/asm/vdso_datapage.h | 2 ++
>>>> arch/powerpc/kernel/asm-offsets.c | 2 +-
>>>> arch/powerpc/kernel/time.c | 1 +
>>>> arch/powerpc/kernel/vdso32/gettimeofday.S | 7 +++++--
>>>> arch/powerpc/kernel/vdso64/gettimeofday.S | 7 +++++--
>>>> 5 files changed, 14 insertions(+), 5 deletions(-)
>>>>
>>>> diff --git a/arch/powerpc/include/asm/vdso_datapage.h
>>>> b/arch/powerpc/include/asm/vdso_datapage.h
>>>> index bbc06bd72b1f..4333b9a473dc 100644
>>>> --- a/arch/powerpc/include/asm/vdso_datapage.h
>>>> +++ b/arch/powerpc/include/asm/vdso_datapage.h
>>>> @@ -86,6 +86,7 @@ struct vdso_data {
>>>> __s32 wtom_clock_nsec; /* Wall to monotonic clock
>>>> nsec */
>>>> __s64 wtom_clock_sec; /* Wall to monotonic clock
>>>> sec */
>>>> struct timespec stamp_xtime; /* xtime as at
>>>> tb_orig_stamp */
>>>> + __u32 hrtimer_res; /* hrtimer resolution */
>>>> __u32 syscall_map_64[SYSCALL_MAP_SIZE]; /* map of
>>>> syscalls */
>>>> __u32 syscall_map_32[SYSCALL_MAP_SIZE]; /* map of syscalls */
>>>> };
>>>> @@ -107,6 +108,7 @@ struct vdso_data {
>>>> __s32 wtom_clock_nsec;
>>>> struct timespec stamp_xtime; /* xtime as at tb_orig_stamp */
>>>> __u32 stamp_sec_fraction; /* fractional seconds of
>>>> stamp_xtime */
>>>> + __u32 hrtimer_res; /* hrtimer resolution */
>>>> __u32 syscall_map_32[SYSCALL_MAP_SIZE]; /* map of syscalls */
>>>> __u32 dcache_block_size; /* L1 d-cache block size */
>>>> __u32 icache_block_size; /* L1 i-cache block size */
>>>> diff --git a/arch/powerpc/kernel/asm-offsets.c
>>>> b/arch/powerpc/kernel/asm-offsets.c
>>>> index 86a61e5f8285..52e4b98a8492 100644
>>>> --- a/arch/powerpc/kernel/asm-offsets.c
>>>> +++ b/arch/powerpc/kernel/asm-offsets.c
>>>> @@ -383,6 +383,7 @@ int main(void)
>>>> OFFSET(WTOM_CLOCK_NSEC, vdso_data, wtom_clock_nsec);
>>>> OFFSET(STAMP_XTIME, vdso_data, stamp_xtime);
>>>> OFFSET(STAMP_SEC_FRAC, vdso_data, stamp_sec_fraction);
>>>> + OFFSET(CLOCK_REALTIME_RES, vdso_data, hrtimer_res);
>>>> OFFSET(CFG_ICACHE_BLOCKSZ, vdso_data, icache_block_size);
>>>> OFFSET(CFG_DCACHE_BLOCKSZ, vdso_data, dcache_block_size);
>>>> OFFSET(CFG_ICACHE_LOGBLOCKSZ, vdso_data, icache_log_block_size);
>>>> @@ -413,7 +414,6 @@ int main(void)
>>>> DEFINE(CLOCK_REALTIME_COARSE, CLOCK_REALTIME_COARSE);
>>>> DEFINE(CLOCK_MONOTONIC_COARSE, CLOCK_MONOTONIC_COARSE);
>>>> DEFINE(NSEC_PER_SEC, NSEC_PER_SEC);
>>>> - DEFINE(CLOCK_REALTIME_RES, MONOTONIC_RES_NSEC);
>>>> #ifdef CONFIG_BUG
>>>> DEFINE(BUG_ENTRY_SIZE, sizeof(struct bug_entry));
>>>> diff --git a/arch/powerpc/kernel/time.c b/arch/powerpc/kernel/time.c
>>>> index bc0503ef9c9c..62c04a6746d8 100644
>>>> --- a/arch/powerpc/kernel/time.c
>>>> +++ b/arch/powerpc/kernel/time.c
>>>> @@ -955,6 +955,7 @@ void update_vsyscall(struct timekeeper *tk)
>>>> vdso_data->wtom_clock_nsec = tk->wall_to_monotonic.tv_nsec;
>>>> vdso_data->stamp_xtime = xt;
>>>> vdso_data->stamp_sec_fraction = frac_sec;
>>>> + vdso_data->hrtimer_res = hrtimer_resolution;
>>>> smp_wmb();
>>>> ++(vdso_data->tb_update_count);
>>>> }
>>>> diff --git a/arch/powerpc/kernel/vdso32/gettimeofday.S
>>>> b/arch/powerpc/kernel/vdso32/gettimeofday.S
>>>> index afd516b572f8..2b5f9e83c610 100644
>>>> --- a/arch/powerpc/kernel/vdso32/gettimeofday.S
>>>> +++ b/arch/powerpc/kernel/vdso32/gettimeofday.S
>>>> @@ -160,12 +160,15 @@ V_FUNCTION_BEGIN(__kernel_clock_getres)
>>>> cror cr0*4+eq,cr0*4+eq,cr1*4+eq
>>>> bne cr0,99f
>>>> + mflr r12
>>>> + .cfi_register lr,r12
>>>> + bl __get_datapage@local
>>>> + lwz r5,CLOCK_REALTIME_RES(r3)
>>>> + mtlr r12
>>>> li r3,0
>>>> cmpli cr0,r4,0
>>>> crclr cr0*4+so
>>>> beqlr
>>>> - lis r5,CLOCK_REALTIME_RES@h
>>>> - ori r5,r5,CLOCK_REALTIME_RES@l
>>>> stw r3,TSPC32_TV_SEC(r4)
>>>> stw r5,TSPC32_TV_NSEC(r4)
>>>> blr
>>>> diff --git a/arch/powerpc/kernel/vdso64/gettimeofday.S
>>>> b/arch/powerpc/kernel/vdso64/gettimeofday.S
>>>> index 1f324c28705b..f07730f73d5e 100644
>>>> --- a/arch/powerpc/kernel/vdso64/gettimeofday.S
>>>> +++ b/arch/powerpc/kernel/vdso64/gettimeofday.S
>>>> @@ -190,12 +190,15 @@ V_FUNCTION_BEGIN(__kernel_clock_getres)
>>>> cror cr0*4+eq,cr0*4+eq,cr1*4+eq
>>>> bne cr0,99f
>>>> + mflr r12
>>>> + .cfi_register lr,r12
>>>> + bl V_LOCAL_FUNC(__get_datapage)
>>>> + lwz r5,CLOCK_REALTIME_RES(r3)
>>>> + mtlr r12
>>>> li r3,0
>>>> cmpldi cr0,r4,0
>>>> crclr cr0*4+so
>>>> beqlr
>>>> - lis r5,CLOCK_REALTIME_RES@h
>>>> - ori r5,r5,CLOCK_REALTIME_RES@l
>>>> std r3,TSPC64_TV_SEC(r4)
>>>> std r5,TSPC64_TV_NSEC(r4)
>>>> blr
>>>>
>>
^ permalink raw reply
* Re: [PATCH v2 2/5] powerpc: Fix vDSO clock_getres()
From: Christophe Leroy @ 2019-05-21 17:04 UTC (permalink / raw)
To: linuxppc-dev@lists.ozlabs.org
In-Reply-To: <6df7b0de-931b-618f-08c4-915451eb72e4@arm.com>
Le 21/05/2019 à 18:08, Vincenzo Frascino a écrit :
> Hi Christophe,
>
> I did not see this patch in 5.2-rc1 and I was wondering if there is anything I
> can do to help with upstraming it.
As far as I can see you series still has status 'new' in patchwork so I
guess Michael didn't have time to look at it
(https://patchwork.ozlabs.org/patch/1086410/)
>
> Please let me know.
You series involves several arches, how do you plan to handle it ? Do
you expect each arch maintainer to take each patch independentely, or do
you expect acks from arch maintainers in order to merge the entire
series in a given tree (which one ?)
Christophe
>
> Thanks,
> Vincenzo
>
> On 23/04/2019 17:33, Christophe Leroy wrote:
>>
>>
>> Le 16/04/2019 à 18:14, Vincenzo Frascino a écrit :
>>> clock_getres in the vDSO library has to preserve the same behaviour
>>> of posix_get_hrtimer_res().
>>>
>>> In particular, posix_get_hrtimer_res() does:
>>> sec = 0;
>>> ns = hrtimer_resolution;
>>> and hrtimer_resolution depends on the enablement of the high
>>> resolution timers that can happen either at compile or at run time.
>>>
>>> Fix the powerpc vdso implementation of clock_getres keeping a copy of
>>> hrtimer_resolution in vdso data and using that directly.
>>>
>>> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
>>> Cc: Paul Mackerras <paulus@samba.org>
>>> Cc: Michael Ellerman <mpe@ellerman.id.au>
>>> Signed-off-by: Vincenzo Frascino <vincenzo.frascino@arm.com>
>>
>> Reviewed-by: Christophe Leroy <christophe.leroy@c-s.fr>
>>
>>> ---
>>> arch/powerpc/include/asm/vdso_datapage.h | 2 ++
>>> arch/powerpc/kernel/asm-offsets.c | 2 +-
>>> arch/powerpc/kernel/time.c | 1 +
>>> arch/powerpc/kernel/vdso32/gettimeofday.S | 7 +++++--
>>> arch/powerpc/kernel/vdso64/gettimeofday.S | 7 +++++--
>>> 5 files changed, 14 insertions(+), 5 deletions(-)
>>>
>>> diff --git a/arch/powerpc/include/asm/vdso_datapage.h b/arch/powerpc/include/asm/vdso_datapage.h
>>> index bbc06bd72b1f..4333b9a473dc 100644
>>> --- a/arch/powerpc/include/asm/vdso_datapage.h
>>> +++ b/arch/powerpc/include/asm/vdso_datapage.h
>>> @@ -86,6 +86,7 @@ struct vdso_data {
>>> __s32 wtom_clock_nsec; /* Wall to monotonic clock nsec */
>>> __s64 wtom_clock_sec; /* Wall to monotonic clock sec */
>>> struct timespec stamp_xtime; /* xtime as at tb_orig_stamp */
>>> + __u32 hrtimer_res; /* hrtimer resolution */
>>> __u32 syscall_map_64[SYSCALL_MAP_SIZE]; /* map of syscalls */
>>> __u32 syscall_map_32[SYSCALL_MAP_SIZE]; /* map of syscalls */
>>> };
>>> @@ -107,6 +108,7 @@ struct vdso_data {
>>> __s32 wtom_clock_nsec;
>>> struct timespec stamp_xtime; /* xtime as at tb_orig_stamp */
>>> __u32 stamp_sec_fraction; /* fractional seconds of stamp_xtime */
>>> + __u32 hrtimer_res; /* hrtimer resolution */
>>> __u32 syscall_map_32[SYSCALL_MAP_SIZE]; /* map of syscalls */
>>> __u32 dcache_block_size; /* L1 d-cache block size */
>>> __u32 icache_block_size; /* L1 i-cache block size */
>>> diff --git a/arch/powerpc/kernel/asm-offsets.c b/arch/powerpc/kernel/asm-offsets.c
>>> index 86a61e5f8285..52e4b98a8492 100644
>>> --- a/arch/powerpc/kernel/asm-offsets.c
>>> +++ b/arch/powerpc/kernel/asm-offsets.c
>>> @@ -383,6 +383,7 @@ int main(void)
>>> OFFSET(WTOM_CLOCK_NSEC, vdso_data, wtom_clock_nsec);
>>> OFFSET(STAMP_XTIME, vdso_data, stamp_xtime);
>>> OFFSET(STAMP_SEC_FRAC, vdso_data, stamp_sec_fraction);
>>> + OFFSET(CLOCK_REALTIME_RES, vdso_data, hrtimer_res);
>>> OFFSET(CFG_ICACHE_BLOCKSZ, vdso_data, icache_block_size);
>>> OFFSET(CFG_DCACHE_BLOCKSZ, vdso_data, dcache_block_size);
>>> OFFSET(CFG_ICACHE_LOGBLOCKSZ, vdso_data, icache_log_block_size);
>>> @@ -413,7 +414,6 @@ int main(void)
>>> DEFINE(CLOCK_REALTIME_COARSE, CLOCK_REALTIME_COARSE);
>>> DEFINE(CLOCK_MONOTONIC_COARSE, CLOCK_MONOTONIC_COARSE);
>>> DEFINE(NSEC_PER_SEC, NSEC_PER_SEC);
>>> - DEFINE(CLOCK_REALTIME_RES, MONOTONIC_RES_NSEC);
>>>
>>> #ifdef CONFIG_BUG
>>> DEFINE(BUG_ENTRY_SIZE, sizeof(struct bug_entry));
>>> diff --git a/arch/powerpc/kernel/time.c b/arch/powerpc/kernel/time.c
>>> index bc0503ef9c9c..62c04a6746d8 100644
>>> --- a/arch/powerpc/kernel/time.c
>>> +++ b/arch/powerpc/kernel/time.c
>>> @@ -955,6 +955,7 @@ void update_vsyscall(struct timekeeper *tk)
>>> vdso_data->wtom_clock_nsec = tk->wall_to_monotonic.tv_nsec;
>>> vdso_data->stamp_xtime = xt;
>>> vdso_data->stamp_sec_fraction = frac_sec;
>>> + vdso_data->hrtimer_res = hrtimer_resolution;
>>> smp_wmb();
>>> ++(vdso_data->tb_update_count);
>>> }
>>> diff --git a/arch/powerpc/kernel/vdso32/gettimeofday.S b/arch/powerpc/kernel/vdso32/gettimeofday.S
>>> index afd516b572f8..2b5f9e83c610 100644
>>> --- a/arch/powerpc/kernel/vdso32/gettimeofday.S
>>> +++ b/arch/powerpc/kernel/vdso32/gettimeofday.S
>>> @@ -160,12 +160,15 @@ V_FUNCTION_BEGIN(__kernel_clock_getres)
>>> cror cr0*4+eq,cr0*4+eq,cr1*4+eq
>>> bne cr0,99f
>>>
>>> + mflr r12
>>> + .cfi_register lr,r12
>>> + bl __get_datapage@local
>>> + lwz r5,CLOCK_REALTIME_RES(r3)
>>> + mtlr r12
>>> li r3,0
>>> cmpli cr0,r4,0
>>> crclr cr0*4+so
>>> beqlr
>>> - lis r5,CLOCK_REALTIME_RES@h
>>> - ori r5,r5,CLOCK_REALTIME_RES@l
>>> stw r3,TSPC32_TV_SEC(r4)
>>> stw r5,TSPC32_TV_NSEC(r4)
>>> blr
>>> diff --git a/arch/powerpc/kernel/vdso64/gettimeofday.S b/arch/powerpc/kernel/vdso64/gettimeofday.S
>>> index 1f324c28705b..f07730f73d5e 100644
>>> --- a/arch/powerpc/kernel/vdso64/gettimeofday.S
>>> +++ b/arch/powerpc/kernel/vdso64/gettimeofday.S
>>> @@ -190,12 +190,15 @@ V_FUNCTION_BEGIN(__kernel_clock_getres)
>>> cror cr0*4+eq,cr0*4+eq,cr1*4+eq
>>> bne cr0,99f
>>>
>>> + mflr r12
>>> + .cfi_register lr,r12
>>> + bl V_LOCAL_FUNC(__get_datapage)
>>> + lwz r5,CLOCK_REALTIME_RES(r3)
>>> + mtlr r12
>>> li r3,0
>>> cmpldi cr0,r4,0
>>> crclr cr0*4+so
>>> beqlr
>>> - lis r5,CLOCK_REALTIME_RES@h
>>> - ori r5,r5,CLOCK_REALTIME_RES@l
>>> std r3,TSPC64_TV_SEC(r4)
>>> std r5,TSPC64_TV_NSEC(r4)
>>> blr
>>>
>
^ permalink raw reply
* Re: [PATCH v1 02/15] crypto: talitos - rename alternative AEAD algos.
From: Christophe Leroy @ 2019-05-21 17:54 UTC (permalink / raw)
To: Andy Whitcroft, Joe Perches; +Cc: linuxppc-dev, linux-crypto, linux-kernel
In-Reply-To: <1449c1a24e2e06ac6c8c2e1b7f73feedfd51894c.1558445259.git.christophe.leroy@c-s.fr>
Hi Joe & Andy
On 05/21/2019 01:34 PM, Christophe Leroy wrote:
> The talitos driver has two ways to perform AEAD depending on the
> HW capability. Some HW support both. It is needed to give them
> different names to distingish which one it is for instance when
> a test fails.
>
> Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
> Fixes: 7405c8d7ff97 ("crypto: talitos - templates for AEAD using HMAC_SNOOP_NO_AFEU")
> Cc: stable@vger.kernel.org
> ---
> drivers/crypto/talitos.c | 16 ++++++++--------
> 1 file changed, 8 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/crypto/talitos.c b/drivers/crypto/talitos.c
> index f443cbe7da80..6f8bc6467706 100644
> --- a/drivers/crypto/talitos.c
> +++ b/drivers/crypto/talitos.c
> @@ -2356,7 +2356,7 @@ static struct talitos_alg_template driver_algs[] = {
> .base = {
> .cra_name = "authenc(hmac(sha1),cbc(aes))",
> .cra_driver_name = "authenc-hmac-sha1-"
> - "cbc-aes-talitos",
> + "cbc-aes-talitos-hsna",
checkpatch reports the following warning on the above:
WARNING: quoted string split across lines
#27: FILE: drivers/crypto/talitos.c:2359:
.cra_driver_name = "authenc-hmac-sha1-"
+ "cbc-aes-talitos-hsna",
But when I fixes the patch as follows, I get another warning:
@@ -2355,8 +2355,7 @@ static struct talitos_alg_template driver_algs[] = {
.alg.aead = {
.base = {
.cra_name = "authenc(hmac(sha1),cbc(aes))",
- .cra_driver_name = "authenc-hmac-sha1-"
- "cbc-aes-talitos",
+ .cra_driver_name = "authenc-hmac-sha1-cbc-aes-talitos-hsna",
.cra_blocksize = AES_BLOCK_SIZE,
.cra_flags = CRYPTO_ALG_ASYNC,
},
WARNING: line over 80 characters
#28: FILE: drivers/crypto/talitos.c:2358:
+ .cra_driver_name = "authenc-hmac-sha1-cbc-aes-talitos-hsna",
So, how should this be fixed ?
Thanks
Christophe
> .cra_blocksize = AES_BLOCK_SIZE,
> .cra_flags = CRYPTO_ALG_ASYNC,
> },
> @@ -2401,7 +2401,7 @@ static struct talitos_alg_template driver_algs[] = {
> .cra_name = "authenc(hmac(sha1),"
> "cbc(des3_ede))",
> .cra_driver_name = "authenc-hmac-sha1-"
> - "cbc-3des-talitos",
> + "cbc-3des-talitos-hsna",
> .cra_blocksize = DES3_EDE_BLOCK_SIZE,
> .cra_flags = CRYPTO_ALG_ASYNC,
> },
> @@ -2444,7 +2444,7 @@ static struct talitos_alg_template driver_algs[] = {
> .base = {
> .cra_name = "authenc(hmac(sha224),cbc(aes))",
> .cra_driver_name = "authenc-hmac-sha224-"
> - "cbc-aes-talitos",
> + "cbc-aes-talitos-hsna",
> .cra_blocksize = AES_BLOCK_SIZE,
> .cra_flags = CRYPTO_ALG_ASYNC,
> },
> @@ -2489,7 +2489,7 @@ static struct talitos_alg_template driver_algs[] = {
> .cra_name = "authenc(hmac(sha224),"
> "cbc(des3_ede))",
> .cra_driver_name = "authenc-hmac-sha224-"
> - "cbc-3des-talitos",
> + "cbc-3des-talitos-hsna",
> .cra_blocksize = DES3_EDE_BLOCK_SIZE,
> .cra_flags = CRYPTO_ALG_ASYNC,
> },
> @@ -2532,7 +2532,7 @@ static struct talitos_alg_template driver_algs[] = {
> .base = {
> .cra_name = "authenc(hmac(sha256),cbc(aes))",
> .cra_driver_name = "authenc-hmac-sha256-"
> - "cbc-aes-talitos",
> + "cbc-aes-talitos-hsna",
> .cra_blocksize = AES_BLOCK_SIZE,
> .cra_flags = CRYPTO_ALG_ASYNC,
> },
> @@ -2577,7 +2577,7 @@ static struct talitos_alg_template driver_algs[] = {
> .cra_name = "authenc(hmac(sha256),"
> "cbc(des3_ede))",
> .cra_driver_name = "authenc-hmac-sha256-"
> - "cbc-3des-talitos",
> + "cbc-3des-talitos-hsna",
> .cra_blocksize = DES3_EDE_BLOCK_SIZE,
> .cra_flags = CRYPTO_ALG_ASYNC,
> },
> @@ -2706,7 +2706,7 @@ static struct talitos_alg_template driver_algs[] = {
> .base = {
> .cra_name = "authenc(hmac(md5),cbc(aes))",
> .cra_driver_name = "authenc-hmac-md5-"
> - "cbc-aes-talitos",
> + "cbc-aes-talitos-hsna",
> .cra_blocksize = AES_BLOCK_SIZE,
> .cra_flags = CRYPTO_ALG_ASYNC,
> },
> @@ -2749,7 +2749,7 @@ static struct talitos_alg_template driver_algs[] = {
> .base = {
> .cra_name = "authenc(hmac(md5),cbc(des3_ede))",
> .cra_driver_name = "authenc-hmac-md5-"
> - "cbc-3des-talitos",
> + "cbc-3des-talitos-hsna",
> .cra_blocksize = DES3_EDE_BLOCK_SIZE,
> .cra_flags = CRYPTO_ALG_ASYNC,
> },
>
^ permalink raw reply
* Re: [PATCH v1 02/15] crypto: talitos - rename alternative AEAD algos.
From: Joe Perches @ 2019-05-21 18:10 UTC (permalink / raw)
To: Christophe Leroy, Andy Whitcroft; +Cc: linuxppc-dev, linux-crypto, linux-kernel
In-Reply-To: <3ac55e59-a75c-0b9a-be24-148007bb522e@c-s.fr>
On Tue, 2019-05-21 at 17:54 +0000, Christophe Leroy wrote:
> Hi Joe & Andy
[]
> diff --git a/drivers/crypto/talitos.c b/drivers/crypto/talitos.c
[]
> > @@ -2356,7 +2356,7 @@ static struct talitos_alg_template driver_algs[] = {
> > .base = {
> > .cra_name = "authenc(hmac(sha1),cbc(aes))",
> > .cra_driver_name = "authenc-hmac-sha1-"
> > - "cbc-aes-talitos",
> > + "cbc-aes-talitos-hsna",
>
> checkpatch reports the following warning on the above:
>
> WARNING: quoted string split across lines
> #27: FILE: drivers/crypto/talitos.c:2359:
> .cra_driver_name = "authenc-hmac-sha1-"
> + "cbc-aes-talitos-hsna",
>
>
> But when I fixes the patch as follows, I get another warning:
>
> @@ -2355,8 +2355,7 @@ static struct talitos_alg_template driver_algs[] = {
> .alg.aead = {
> .base = {
> .cra_name = "authenc(hmac(sha1),cbc(aes))",
> - .cra_driver_name = "authenc-hmac-sha1-"
> - "cbc-aes-talitos",
> + .cra_driver_name = "authenc-hmac-sha1-cbc-aes-talitos-hsna",
> .cra_blocksize = AES_BLOCK_SIZE,
> .cra_flags = CRYPTO_ALG_ASYNC,
> },
>
>
>
> WARNING: line over 80 characters
> #28: FILE: drivers/crypto/talitos.c:2358:
> + .cra_driver_name = "authenc-hmac-sha1-cbc-aes-talitos-hsna",
>
>
> So, how should this be fixed ?
For at least now, by ignoring this checkpatch message.
It's a brainless script. You are not brainless.
^ permalink raw reply
* Re: [PATCH 1/2] open: add close_range()
From: Al Viro @ 2019-05-21 19:20 UTC (permalink / raw)
To: David Howells
Cc: linux-ia64, linux-sh, oleg, linux-kselftest, sparclinux, shuah,
linux-arch, linux-s390, miklos, x86, torvalds, Christian Brauner,
linux-mips, linux-xtensa, tkjos, arnd, jannh, linux-m68k, tglx,
ldv, linux-arm-kernel, fweimer, linux-parisc, linux-api,
linux-kernel, linux-alpha, linux-fsdevel, linuxppc-dev
In-Reply-To: <28114.1558456227@warthog.procyon.org.uk>
On Tue, May 21, 2019 at 05:30:27PM +0100, David Howells wrote:
> If we can live with close_from(int first) rather than close_range(), then this
> can perhaps be done a lot more efficiently by:
>
> new = alloc_fdtable(first);
> spin_lock(&files->file_lock);
> old = files_fdtable(files);
> copy_fds(new, old, 0, first - 1);
> rcu_assign_pointer(files->fdt, new);
> spin_unlock(&files->file_lock);
> clear_fds(old, 0, first - 1);
> close_fdt_from(old, first);
> kfree_rcu(old);
I really hate to think how that would interact with POSIX locks...
^ permalink raw reply
* Re: [PATCH 1/2] open: add close_range()
From: Matthew Wilcox @ 2019-05-21 19:59 UTC (permalink / raw)
To: Al Viro
Cc: linux-ia64, linux-sh, oleg, David Howells, linux-kselftest,
sparclinux, shuah, linux-arch, linux-s390, miklos, x86, torvalds,
Christian Brauner, linux-mips, linux-xtensa, tkjos, arnd, jannh,
linux-m68k, tglx, ldv, linux-arm-kernel, fweimer, linux-parisc,
linux-api, linux-kernel, linux-alpha, linux-fsdevel, linuxppc-dev
In-Reply-To: <20190521192009.GK17978@ZenIV.linux.org.uk>
On Tue, May 21, 2019 at 08:20:09PM +0100, Al Viro wrote:
> On Tue, May 21, 2019 at 05:30:27PM +0100, David Howells wrote:
>
> > If we can live with close_from(int first) rather than close_range(), then this
> > can perhaps be done a lot more efficiently by:
> >
> > new = alloc_fdtable(first);
> > spin_lock(&files->file_lock);
> > old = files_fdtable(files);
> > copy_fds(new, old, 0, first - 1);
> > rcu_assign_pointer(files->fdt, new);
> > spin_unlock(&files->file_lock);
> > clear_fds(old, 0, first - 1);
> > close_fdt_from(old, first);
> > kfree_rcu(old);
>
> I really hate to think how that would interact with POSIX locks...
POSIX locks store current->files in fl_owner; David's resizing the
underlying files->fdt, just like growing from 64 to 256 fds.
^ permalink raw reply
* Re: [PATCH 1/2] open: add close_range()
From: Linus Torvalds @ 2019-05-21 20:23 UTC (permalink / raw)
To: Christian Brauner
Cc: linux-ia64, Linux-sh list, Oleg Nesterov, David Howells,
open list:KERNEL SELFTEST FRAMEWORK, sparclinux, Shuah Khan,
linux-arch, linux-s390, Miklos Szeredi, the arch/x86 maintainers,
linux-mips, linux-xtensa, tkjos, Arnd Bergmann, Jann Horn,
linux-m68k, Al Viro, Thomas Gleixner, Dmitry V. Levin, Linux ARM,
Florian Weimer, linux-parisc, Linux API,
Linux List Kernel Mailing, alpha, linux-fsdevel, linuxppc-dev
In-Reply-To: <20190521164141.rbehqnghiej3gfua@brauner.io>
On Tue, May 21, 2019 at 9:41 AM Christian Brauner <christian@brauner.io> wrote:
>
> Yeah, you mentioned this before. I do like being able to specify an
> upper bound to have the ability to place fds strategically after said
> upper bound.
I suspect that's the case.
And if somebody really wants to just close everything and uses a large
upper bound, we can - if we really want to - just compare the upper
bound to the file table size, and do an optimized case for that. We do
that upper bound comparison anyway to limit the size of the walk, so
*if* it's a big deal, that case could then do the whole "shrink
fdtable" case too.
But I don't believe it's worth optimizing for unless somebody really
has a load where that is shown to be a big deal. Just do the silly
and simple loop, and add a cond_resched() in the loop, like
close_files() does for the "we have a _lot_ of files open" case.
Linus
^ permalink raw reply
* Applied "ASoC: fsl_asrc: Unify the supported input and output rate" to the asoc tree
From: Mark Brown @ 2019-05-21 21:04 UTC (permalink / raw)
To: S.j. Wang
Cc: alsa-devel, timur, Xiubo.Lee, festevam, Shengjiu Wang,
linux-kernel, Nicolin Chen, Mark Brown, linuxppc-dev
In-Reply-To: <39916109c570791be514db4a3a7793a9467d6484.1557901312.git.shengjiu.wang@nxp.com>
The patch
ASoC: fsl_asrc: Unify the supported input and output rate
has been applied to the asoc tree at
https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-5.3
All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.
You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.
If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.
Please add any relevant lists and maintainers to the CCs when replying
to this mail.
Thanks,
Mark
From d281bf5d924a0284f0dac1f471e1d8328b3a92ca Mon Sep 17 00:00:00 2001
From: "S.j. Wang" <shengjiu.wang@nxp.com>
Date: Wed, 15 May 2019 06:42:26 +0000
Subject: [PATCH] ASoC: fsl_asrc: Unify the supported input and output rate
Unify the supported input and output rate, add the
12kHz/24kHz/128kHz to the support list
Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Acked-by: Nicolin Chen <nicoleotsuka@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
---
sound/soc/fsl/fsl_asrc.c | 32 +++++++++++++++++++-------------
1 file changed, 19 insertions(+), 13 deletions(-)
diff --git a/sound/soc/fsl/fsl_asrc.c b/sound/soc/fsl/fsl_asrc.c
index a8d6710f2541..cbbf6257f08a 100644
--- a/sound/soc/fsl/fsl_asrc.c
+++ b/sound/soc/fsl/fsl_asrc.c
@@ -27,13 +27,14 @@
dev_dbg(&asrc_priv->pdev->dev, "Pair %c: " fmt, 'A' + index, ##__VA_ARGS__)
/* Corresponding to process_option */
-static int supported_input_rate[] = {
- 5512, 8000, 11025, 16000, 22050, 32000, 44100, 48000, 64000, 88200,
- 96000, 176400, 192000,
+static unsigned int supported_asrc_rate[] = {
+ 5512, 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,
+ 64000, 88200, 96000, 128000, 176400, 192000,
};
-static int supported_asrc_rate[] = {
- 8000, 11025, 16000, 22050, 32000, 44100, 48000, 64000, 88200, 96000, 176400, 192000,
+static struct snd_pcm_hw_constraint_list fsl_asrc_rate_constraints = {
+ .count = ARRAY_SIZE(supported_asrc_rate),
+ .list = supported_asrc_rate,
};
/**
@@ -293,11 +294,11 @@ static int fsl_asrc_config_pair(struct fsl_asrc_pair *pair)
ideal = config->inclk == INCLK_NONE;
/* Validate input and output sample rates */
- for (in = 0; in < ARRAY_SIZE(supported_input_rate); in++)
- if (inrate == supported_input_rate[in])
+ for (in = 0; in < ARRAY_SIZE(supported_asrc_rate); in++)
+ if (inrate == supported_asrc_rate[in])
break;
- if (in == ARRAY_SIZE(supported_input_rate)) {
+ if (in == ARRAY_SIZE(supported_asrc_rate)) {
pair_err("unsupported input sample rate: %dHz\n", inrate);
return -EINVAL;
}
@@ -311,7 +312,7 @@ static int fsl_asrc_config_pair(struct fsl_asrc_pair *pair)
return -EINVAL;
}
- if ((outrate >= 8000 && outrate <= 30000) &&
+ if ((outrate >= 5512 && outrate <= 30000) &&
(outrate > 24 * inrate || inrate > 8 * outrate)) {
pair_err("exceed supported ratio range [1/24, 8] for \
inrate/outrate: %d/%d\n", inrate, outrate);
@@ -486,7 +487,9 @@ static int fsl_asrc_dai_startup(struct snd_pcm_substream *substream,
snd_pcm_hw_constraint_step(substream->runtime, 0,
SNDRV_PCM_HW_PARAM_CHANNELS, 2);
- return 0;
+
+ return snd_pcm_hw_constraint_list(substream->runtime, 0,
+ SNDRV_PCM_HW_PARAM_RATE, &fsl_asrc_rate_constraints);
}
static int fsl_asrc_dai_hw_params(struct snd_pcm_substream *substream,
@@ -599,7 +602,6 @@ static int fsl_asrc_dai_probe(struct snd_soc_dai *dai)
return 0;
}
-#define FSL_ASRC_RATES SNDRV_PCM_RATE_8000_192000
#define FSL_ASRC_FORMATS (SNDRV_PCM_FMTBIT_S24_LE | \
SNDRV_PCM_FMTBIT_S16_LE | \
SNDRV_PCM_FMTBIT_S20_3LE)
@@ -610,14 +612,18 @@ static struct snd_soc_dai_driver fsl_asrc_dai = {
.stream_name = "ASRC-Playback",
.channels_min = 1,
.channels_max = 10,
- .rates = FSL_ASRC_RATES,
+ .rate_min = 5512,
+ .rate_max = 192000,
+ .rates = SNDRV_PCM_RATE_KNOT,
.formats = FSL_ASRC_FORMATS,
},
.capture = {
.stream_name = "ASRC-Capture",
.channels_min = 1,
.channels_max = 10,
- .rates = FSL_ASRC_RATES,
+ .rate_min = 5512,
+ .rate_max = 192000,
+ .rates = SNDRV_PCM_RATE_KNOT,
.formats = FSL_ASRC_FORMATS,
},
.ops = &fsl_asrc_dai_ops,
--
2.20.1
^ permalink raw reply related
* [BISECTED] kexec regression on PowerBook G4
From: Aaro Koskinen @ 2019-05-21 22:18 UTC (permalink / raw)
To: Michael Ellerman, Christophe Leroy, linuxppc-dev
Hi,
I was trying to upgrade from v5.0 -> v5.1 on PowerBook G4, but when trying
to kexec a kernel the system gets stuck (no errors seen on the console).
Bisected to: 93c4a162b014 ("powerpc/6xx: Store PGDIR physical address
in a SPRG"). This commit doesn't revert cleanly anymore but I tested
that the one before works OK.
With current Linus HEAD (9c7db5004280), it gets a bit further but still
doesn't work: now I get an error on the console after kexec "Starting
new kernel! ... Bye!":
kernel tried to execute exec-protected page (...) - exploit attempt?
A.
^ permalink raw reply
* Re: [RFC PATCH 02/12] powerpc: Add support for adding an ESM blob to the zImage wrapper
From: Paul Mackerras @ 2019-05-21 23:15 UTC (permalink / raw)
To: Christoph Hellwig
Cc: Anshuman Khandual, Alexey Kardashevskiy, Mike Anderson, Ram Pai,
linux-kernel, Claudio Carvalho, linuxppc-dev,
Thiago Jung Bauermann
In-Reply-To: <20190521051326.GC29120@lst.de>
On Tue, May 21, 2019 at 07:13:26AM +0200, Christoph Hellwig wrote:
> On Tue, May 21, 2019 at 01:49:02AM -0300, Thiago Jung Bauermann wrote:
> > From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
> >
> > For secure VMs, the signing tool will create a ticket called the "ESM blob"
> > for the Enter Secure Mode ultravisor call with the signatures of the kernel
> > and initrd among other things.
> >
> > This adds support to the wrapper script for adding that blob via the "-e"
> > option to the zImage.pseries.
> >
> > It also adds code to the zImage wrapper itself to retrieve and if necessary
> > relocate the blob, and pass its address to Linux via the device-tree, to be
> > later consumed by prom_init.
>
> Where does the "BLOB" come from? How is it licensed and how can we
> satisfy the GPL with it?
The blob is data, not code, and it will be created by a tool that will
be open source. My understanding is that most of it will be encrypted
with a session key that is encrypted with the secret key of the
ultravisor. Ram Pai's KVM Forum talk last year explained how this
works.
Paul.
^ permalink raw reply
* Re: [PATCH] misc: remove redundant 'default n' from Kconfig-s
From: Frederic Barrat @ 2019-05-22 4:29 UTC (permalink / raw)
To: Bartlomiej Zolnierkiewicz, Arnd Bergmann, Greg Kroah-Hartman
Cc: Eric Piel, Andrew Donnellan, Frank Haverkamp, linux-kernel,
Michał Mirosław, linuxppc-dev
In-Reply-To: <1ab818ae-4d9f-d17a-f11f-7caaa5bf98bc@samsung.com>
Le 20/05/2019 à 16:10, Bartlomiej Zolnierkiewicz a écrit :
> 'default n' is the default value for any bool or tristate Kconfig
> setting so there is no need to write it explicitly.
>
> Also since commit f467c5640c29 ("kconfig: only write '# CONFIG_FOO
> is not set' for visible symbols") the Kconfig behavior is the same
> regardless of 'default n' being present or not:
>
> ...
> One side effect of (and the main motivation for) this change is making
> the following two definitions behave exactly the same:
>
> config FOO
> bool
>
> config FOO
> bool
> default n
>
> With this change, neither of these will generate a
> '# CONFIG_FOO is not set' line (assuming FOO isn't selected/implied).
> That might make it clearer to people that a bare 'default n' is
> redundant.
> ...
>
> Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
> ---
for cxl and ocxl:
Acked-by: Frederic Barrat <fbarrat@linux.ibm.com>
> drivers/misc/Kconfig | 10 ----------
> drivers/misc/altera-stapl/Kconfig | 1 -
> drivers/misc/c2port/Kconfig | 2 --
> drivers/misc/cb710/Kconfig | 1 -
> drivers/misc/cxl/Kconfig | 3 ---
> drivers/misc/echo/Kconfig | 1 -
> drivers/misc/genwqe/Kconfig | 1 -
> drivers/misc/lis3lv02d/Kconfig | 2 --
> drivers/misc/ocxl/Kconfig | 1 -
> 9 files changed, 22 deletions(-)
>
> Index: b/drivers/misc/Kconfig
> ===================================================================
> --- a/drivers/misc/Kconfig
> +++ b/drivers/misc/Kconfig
> @@ -8,7 +8,6 @@ config SENSORS_LIS3LV02D
> tristate
> depends on INPUT
> select INPUT_POLLDEV
> - default n
>
> config AD525X_DPOT
> tristate "Analog Devices Digital Potentiometers"
> @@ -61,7 +60,6 @@ config ATMEL_TCLIB
>
> config DUMMY_IRQ
> tristate "Dummy IRQ handler"
> - default n
> ---help---
> This module accepts a single 'irq' parameter, which it should register for.
> The sole purpose of this module is to help with debugging of systems on
> @@ -117,7 +115,6 @@ config PHANTOM
> config INTEL_MID_PTI
> tristate "Parallel Trace Interface for MIPI P1149.7 cJTAG standard"
> depends on PCI && TTY && (X86_INTEL_MID || COMPILE_TEST)
> - default n
> help
> The PTI (Parallel Trace Interface) driver directs
> trace data routed from various parts in the system out
> @@ -193,7 +190,6 @@ config ATMEL_SSC
>
> config ENCLOSURE_SERVICES
> tristate "Enclosure Services"
> - default n
> help
> Provides support for intelligent enclosures (bays which
> contain storage devices). You also need either a host
> @@ -217,7 +213,6 @@ config SGI_XP
> config CS5535_MFGPT
> tristate "CS5535/CS5536 Geode Multi-Function General Purpose Timer (MFGPT) support"
> depends on MFD_CS5535
> - default n
> help
> This driver provides access to MFGPT functionality for other
> drivers that need timers. MFGPTs are available in the CS5535 and
> @@ -250,7 +245,6 @@ config CS5535_CLOCK_EVENT_SRC
> config HP_ILO
> tristate "Channel interface driver for the HP iLO processor"
> depends on PCI
> - default n
> help
> The channel interface driver allows applications to communicate
> with iLO management processors present on HP ProLiant servers.
> @@ -285,7 +279,6 @@ config QCOM_FASTRPC
> config SGI_GRU
> tristate "SGI GRU driver"
> depends on X86_UV && SMP
> - default n
> select MMU_NOTIFIER
> ---help---
> The GRU is a hardware resource located in the system chipset. The GRU
> @@ -300,7 +293,6 @@ config SGI_GRU
> config SGI_GRU_DEBUG
> bool "SGI GRU driver debug"
> depends on SGI_GRU
> - default n
> ---help---
> This option enables additional debugging code for the SGI GRU driver.
> If you are unsure, say N.
> @@ -358,7 +350,6 @@ config SENSORS_BH1770
> config SENSORS_APDS990X
> tristate "APDS990X combined als and proximity sensors"
> depends on I2C
> - default n
> ---help---
> Say Y here if you want to build a driver for Avago APDS990x
> combined ambient light and proximity sensor chip.
> @@ -386,7 +377,6 @@ config DS1682
> config SPEAR13XX_PCIE_GADGET
> bool "PCIe gadget support for SPEAr13XX platform"
> depends on ARCH_SPEAR13XX && BROKEN
> - default n
> help
> This option enables gadget support for PCIe controller. If
> board file defines any controller as PCIe endpoint then a sysfs
> Index: b/drivers/misc/altera-stapl/Kconfig
> ===================================================================
> --- a/drivers/misc/altera-stapl/Kconfig
> +++ b/drivers/misc/altera-stapl/Kconfig
> @@ -4,6 +4,5 @@ comment "Altera FPGA firmware download m
> config ALTERA_STAPL
> tristate "Altera FPGA firmware download module"
> depends on I2C
> - default n
> help
> An Altera FPGA module. Say Y when you want to support this tool.
> Index: b/drivers/misc/c2port/Kconfig
> ===================================================================
> --- a/drivers/misc/c2port/Kconfig
> +++ b/drivers/misc/c2port/Kconfig
> @@ -4,7 +4,6 @@
>
> menuconfig C2PORT
> tristate "Silicon Labs C2 port support"
> - default n
> help
> This option enables support for Silicon Labs C2 port used to
> program Silicon micro controller chips (and other 8051 compatible).
> @@ -23,7 +22,6 @@ if C2PORT
> config C2PORT_DURAMAR_2150
> tristate "C2 port support for Eurotech's Duramar 2150"
> depends on X86
> - default n
> help
> This option enables C2 support for the Eurotech's Duramar 2150
> on board micro controller.
> Index: b/drivers/misc/cb710/Kconfig
> ===================================================================
> --- a/drivers/misc/cb710/Kconfig
> +++ b/drivers/misc/cb710/Kconfig
> @@ -14,7 +14,6 @@ config CB710_CORE
> config CB710_DEBUG
> bool "Enable driver debugging"
> depends on CB710_CORE != n
> - default n
> help
> This is an option for use by developers; most people should
> say N here. This adds a lot of debugging output to dmesg.
> Index: b/drivers/misc/cxl/Kconfig
> ===================================================================
> --- a/drivers/misc/cxl/Kconfig
> +++ b/drivers/misc/cxl/Kconfig
> @@ -4,16 +4,13 @@
>
> config CXL_BASE
> bool
> - default n
> select PPC_COPRO_BASE
>
> config CXL_AFU_DRIVER_OPS
> bool
> - default n
>
> config CXL_LIB
> bool
> - default n
>
> config CXL
> tristate "Support for IBM Coherent Accelerators (CXL)"
> Index: b/drivers/misc/echo/Kconfig
> ===================================================================
> --- a/drivers/misc/echo/Kconfig
> +++ b/drivers/misc/echo/Kconfig
> @@ -1,6 +1,5 @@
> config ECHO
> tristate "Line Echo Canceller support"
> - default n
> ---help---
> This driver provides line echo cancelling support for mISDN and
> Zaptel drivers.
> Index: b/drivers/misc/genwqe/Kconfig
> ===================================================================
> --- a/drivers/misc/genwqe/Kconfig
> +++ b/drivers/misc/genwqe/Kconfig
> @@ -6,7 +6,6 @@ menuconfig GENWQE
> tristate "GenWQE PCIe Accelerator"
> depends on PCI && 64BIT
> select CRC_ITU_T
> - default n
> help
> Enables PCIe card driver for IBM GenWQE accelerators.
> The user-space interface is described in
> Index: b/drivers/misc/lis3lv02d/Kconfig
> ===================================================================
> --- a/drivers/misc/lis3lv02d/Kconfig
> +++ b/drivers/misc/lis3lv02d/Kconfig
> @@ -6,7 +6,6 @@ config SENSORS_LIS3_SPI
> tristate "STMicroeletronics LIS3LV02Dx three-axis digital accelerometer (SPI)"
> depends on !ACPI && SPI_MASTER && INPUT
> select SENSORS_LIS3LV02D
> - default n
> help
> This driver provides support for the LIS3LV02Dx accelerometer connected
> via SPI. The accelerometer data is readable via
> @@ -23,7 +22,6 @@ config SENSORS_LIS3_I2C
> tristate "STMicroeletronics LIS3LV02Dx three-axis digital accelerometer (I2C)"
> depends on I2C && INPUT
> select SENSORS_LIS3LV02D
> - default n
> help
> This driver provides support for the LIS3LV02Dx accelerometer connected
> via I2C. The accelerometer data is readable via
> Index: b/drivers/misc/ocxl/Kconfig
> ===================================================================
> --- a/drivers/misc/ocxl/Kconfig
> +++ b/drivers/misc/ocxl/Kconfig
> @@ -4,7 +4,6 @@
>
> config OCXL_BASE
> bool
> - default n
> select PPC_COPRO_BASE
>
> config OCXL
>
^ permalink raw reply
* Re: [PATCH 2/2] powerpc/perf: Fix mmcra corruption by bhrb_filter
From: Madhavan Srinivasan @ 2019-05-22 5:01 UTC (permalink / raw)
To: Ravi Bangoria, peterz, jolsa, mpe; +Cc: linuxppc-dev, linux-kernel, acme
In-Reply-To: <20190511024217.4013-2-ravi.bangoria@linux.ibm.com>
On 11/05/19 8:12 AM, Ravi Bangoria wrote:
> Consider a scenario where user creates two events:
>
> 1st event:
> attr.sample_type |= PERF_SAMPLE_BRANCH_STACK;
> attr.branch_sample_type = PERF_SAMPLE_BRANCH_ANY;
> fd = perf_event_open(attr, 0, 1, -1, 0);
>
> This sets cpuhw->bhrb_filter to 0 and returns valid fd.
>
> 2nd event:
> attr.sample_type |= PERF_SAMPLE_BRANCH_STACK;
> attr.branch_sample_type = PERF_SAMPLE_BRANCH_CALL;
> fd = perf_event_open(attr, 0, 1, -1, 0);
>
> It overrides cpuhw->bhrb_filter to -1 and returns with error.
>
> Now if power_pmu_enable() gets called by any path other than
> power_pmu_add(), ppmu->config_bhrb(-1) will set mmcra to -1.
Reviewed-by: Madhavan Srinivasan <maddy@linux.vnet.ibm.com>
> Signed-off-by: Ravi Bangoria <ravi.bangoria@linux.ibm.com>
> ---
> arch/powerpc/perf/core-book3s.c | 6 ++++--
> arch/powerpc/perf/power8-pmu.c | 3 +++
> arch/powerpc/perf/power9-pmu.c | 3 +++
> 3 files changed, 10 insertions(+), 2 deletions(-)
>
> diff --git a/arch/powerpc/perf/core-book3s.c b/arch/powerpc/perf/core-book3s.c
> index b0723002a396..8eb5dc5df62b 100644
> --- a/arch/powerpc/perf/core-book3s.c
> +++ b/arch/powerpc/perf/core-book3s.c
> @@ -1846,6 +1846,7 @@ static int power_pmu_event_init(struct perf_event *event)
> int n;
> int err;
> struct cpu_hw_events *cpuhw;
> + u64 bhrb_filter;
>
> if (!ppmu)
> return -ENOENT;
> @@ -1951,13 +1952,14 @@ static int power_pmu_event_init(struct perf_event *event)
> err = power_check_constraints(cpuhw, events, cflags, n + 1);
>
> if (has_branch_stack(event)) {
> - cpuhw->bhrb_filter = ppmu->bhrb_filter_map(
> + bhrb_filter = ppmu->bhrb_filter_map(
> event->attr.branch_sample_type);
>
> - if (cpuhw->bhrb_filter == -1) {
> + if (bhrb_filter == -1) {
> put_cpu_var(cpu_hw_events);
> return -EOPNOTSUPP;
> }
> + cpuhw->bhrb_filter = bhrb_filter;
> }
>
> put_cpu_var(cpu_hw_events);
> diff --git a/arch/powerpc/perf/power8-pmu.c b/arch/powerpc/perf/power8-pmu.c
> index d12a2db26353..d10feef93b6b 100644
> --- a/arch/powerpc/perf/power8-pmu.c
> +++ b/arch/powerpc/perf/power8-pmu.c
> @@ -29,6 +29,7 @@ enum {
> #define POWER8_MMCRA_IFM1 0x0000000040000000UL
> #define POWER8_MMCRA_IFM2 0x0000000080000000UL
> #define POWER8_MMCRA_IFM3 0x00000000C0000000UL
> +#define POWER8_MMCRA_BHRB_MASK 0x00000000C0000000UL
>
> /*
> * Raw event encoding for PowerISA v2.07 (Power8):
> @@ -243,6 +244,8 @@ static u64 power8_bhrb_filter_map(u64 branch_sample_type)
>
> static void power8_config_bhrb(u64 pmu_bhrb_filter)
> {
> + pmu_bhrb_filter &= POWER8_MMCRA_BHRB_MASK;
> +
> /* Enable BHRB filter in PMU */
> mtspr(SPRN_MMCRA, (mfspr(SPRN_MMCRA) | pmu_bhrb_filter));
> }
> diff --git a/arch/powerpc/perf/power9-pmu.c b/arch/powerpc/perf/power9-pmu.c
> index 030544e35959..f3987915cadc 100644
> --- a/arch/powerpc/perf/power9-pmu.c
> +++ b/arch/powerpc/perf/power9-pmu.c
> @@ -92,6 +92,7 @@ enum {
> #define POWER9_MMCRA_IFM1 0x0000000040000000UL
> #define POWER9_MMCRA_IFM2 0x0000000080000000UL
> #define POWER9_MMCRA_IFM3 0x00000000C0000000UL
> +#define POWER9_MMCRA_BHRB_MASK 0x00000000C0000000UL
>
> /* Nasty Power9 specific hack */
> #define PVR_POWER9_CUMULUS 0x00002000
> @@ -300,6 +301,8 @@ static u64 power9_bhrb_filter_map(u64 branch_sample_type)
>
> static void power9_config_bhrb(u64 pmu_bhrb_filter)
> {
> + pmu_bhrb_filter &= POWER9_MMCRA_BHRB_MASK;
> +
> /* Enable BHRB filter in PMU */
> mtspr(SPRN_MMCRA, (mfspr(SPRN_MMCRA) | pmu_bhrb_filter));
> }
^ permalink raw reply
* Re: [PATCH 10/10] docs: fix broken documentation links
From: Federico Vaga @ 2019-05-21 22:56 UTC (permalink / raw)
To: Mauro Carvalho Chehab
Cc: kvm, Linux Doc Mailing List, linux-pci, platform-driver-x86,
linux-mm, linux-i2c, linux-kselftest, devel, Jonathan Corbet, x86,
linux-acpi, xen-devel, linux-edac, devicetree, linux-arm-msm,
Mauro Carvalho Chehab, linux-gpio, linux-amlogic, virtualization,
linux-arm-kernel, devel, netdev, linux-kernel,
linux-security-module, linuxppc-dev
In-Reply-To: <4fd1182b4a41feb2447c7ccde4d7f0a6b3c92686.1558362030.git.mchehab+samsung@kernel.org>
On Monday, May 20, 2019 4:47:39 PM CEST Mauro Carvalho Chehab wrote:
> Mostly due to x86 and acpi conversion, several documentation
> links are still pointing to the old file. Fix them.
>
> Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
> ---
> Documentation/acpi/dsd/leds.txt | 2 +-
> Documentation/admin-guide/kernel-parameters.rst | 6 +++---
> Documentation/admin-guide/kernel-parameters.txt | 16 ++++++++--------
> Documentation/admin-guide/ras.rst | 2 +-
> .../devicetree/bindings/net/fsl-enetc.txt | 7 +++----
> .../bindings/pci/amlogic,meson-pcie.txt | 2 +-
> .../bindings/regulator/qcom,rpmh-regulator.txt | 2 +-
> Documentation/devicetree/booting-without-of.txt | 2 +-
> Documentation/driver-api/gpio/board.rst | 2 +-
> Documentation/driver-api/gpio/consumer.rst | 2 +-
> .../firmware-guide/acpi/enumeration.rst | 2 +-
> .../firmware-guide/acpi/method-tracing.rst | 2 +-
> Documentation/i2c/instantiating-devices | 2 +-
> Documentation/sysctl/kernel.txt | 4 ++--
> .../translations/it_IT/process/4.Coding.rst | 2 +-
> .../translations/it_IT/process/howto.rst | 2 +-
> .../it_IT/process/stable-kernel-rules.rst | 4 ++--
> .../translations/zh_CN/process/4.Coding.rst | 2 +-
> Documentation/x86/x86_64/5level-paging.rst | 2 +-
> Documentation/x86/x86_64/boot-options.rst | 4 ++--
> .../x86/x86_64/fake-numa-for-cpusets.rst | 2 +-
> MAINTAINERS | 6 +++---
> arch/arm/Kconfig | 2 +-
> arch/arm64/kernel/kexec_image.c | 2 +-
> arch/powerpc/Kconfig | 2 +-
> arch/x86/Kconfig | 16 ++++++++--------
> arch/x86/Kconfig.debug | 2 +-
> arch/x86/boot/header.S | 2 +-
> arch/x86/entry/entry_64.S | 2 +-
> arch/x86/include/asm/bootparam_utils.h | 2 +-
> arch/x86/include/asm/page_64_types.h | 2 +-
> arch/x86/include/asm/pgtable_64_types.h | 2 +-
> arch/x86/kernel/cpu/microcode/amd.c | 2 +-
> arch/x86/kernel/kexec-bzimage64.c | 2 +-
> arch/x86/kernel/pci-dma.c | 2 +-
> arch/x86/mm/tlb.c | 2 +-
> arch/x86/platform/pvh/enlighten.c | 2 +-
> drivers/acpi/Kconfig | 10 +++++-----
> drivers/net/ethernet/faraday/ftgmac100.c | 2 +-
> .../fieldbus/Documentation/fieldbus_dev.txt | 4 ++--
> drivers/vhost/vhost.c | 2 +-
> include/acpi/acpi_drivers.h | 2 +-
> include/linux/fs_context.h | 2 +-
> include/linux/lsm_hooks.h | 2 +-
> mm/Kconfig | 2 +-
> security/Kconfig | 2 +-
> tools/include/linux/err.h | 2 +-
> tools/objtool/Documentation/stack-validation.txt | 4 ++--
> tools/testing/selftests/x86/protection_keys.c | 2 +-
> 49 files changed, 78 insertions(+), 79 deletions(-)
>
> diff --git a/Documentation/acpi/dsd/leds.txt
> b/Documentation/acpi/dsd/leds.txt index 81a63af42ed2..cc58b1a574c5 100644
> --- a/Documentation/acpi/dsd/leds.txt
> +++ b/Documentation/acpi/dsd/leds.txt
> @@ -96,4 +96,4 @@ where
>
> <URL:http://www.uefi.org/sites/default/files/resources/_DSD-hierarchical-da
> ta-extension-UUID-v1.1.pdf>, referenced 2019-02-21.
>
> -[7] Documentation/acpi/dsd/data-node-reference.txt
> +[7] Documentation/firmware-guide/acpi/dsd/data-node-references.rst
> diff --git a/Documentation/admin-guide/kernel-parameters.rst
> b/Documentation/admin-guide/kernel-parameters.rst index
> 0124980dca2d..8d3273e32eb1 100644
> --- a/Documentation/admin-guide/kernel-parameters.rst
> +++ b/Documentation/admin-guide/kernel-parameters.rst
> @@ -167,7 +167,7 @@ parameter is applicable::
> X86-32 X86-32, aka i386 architecture is enabled.
> X86-64 X86-64 architecture is enabled.
> More X86-64 boot options can be found in
> - Documentation/x86/x86_64/boot-options.txt
.
> + Documentation/x86/x86_64/boot-options.rst.
> X86 Either 32-bit or 64-bit x86 (same as X86-32+X86-64)
> X86_UV SGI UV support is enabled.
> XEN Xen support is enabled
> @@ -181,10 +181,10 @@ In addition, the following text indicates that the
> option:: Parameters denoted with BOOT are actually interpreted by the boot
> loader, and have no meaning to the kernel directly.
> Do not modify the syntax of boot loader parameters without extreme
> -need or coordination with <Documentation/x86/boot.txt>.
> +need or coordination with <Documentation/x86/boot.rst>.
>
> There are also arch-specific kernel-parameters not documented here.
> -See for example <Documentation/x86/x86_64/boot-options.txt>.
> +See for example <Documentation/x86/x86_64/boot-options.rst>.
>
> Note that ALL kernel parameters listed below are CASE SENSITIVE, and that
> a trailing = on the name of any parameter states that that parameter will
> diff --git a/Documentation/admin-guide/kernel-parameters.txt
> b/Documentation/admin-guide/kernel-parameters.txt index
> 138f6664b2e2..bc5f202d42ec 100644
> --- a/Documentation/admin-guide/kernel-parameters.txt
> +++ b/Documentation/admin-guide/kernel-parameters.txt
> @@ -53,7 +53,7 @@
> ACPI_DEBUG_PRINT statements, e.g.,
> ACPI_DEBUG_PRINT((ACPI_DB_INFO, ...
> The debug_level mask defaults to "info".
See
> - Documentation/acpi/debug.txt for more
information about
> + Documentation/firmware-guide/acpi/debug.rst
for more information about
> debug layers and levels.
>
> Enable processor driver info messages:
> @@ -963,7 +963,7 @@
> for details.
>
> nompx [X86] Disables Intel Memory Protection
Extensions.
> - See Documentation/x86/intel_mpx.txt for
more
> + See Documentation/x86/intel_mpx.rst for
more
> information about the feature.
>
> nopku [X86] Disable Memory Protection Keys CPU
feature found
> @@ -1189,7 +1189,7 @@
> that is to be dynamically loaded by Linux.
If there are
> multiple variables with the same name but
with different
> vendor GUIDs, all of them will be loaded.
See
> - Documentation/acpi/ssdt-overlays.txt for
details.
> + Documentation/admin-guide/acpi/ssdt-
overlays.rst for details.
>
>
> eisa_irq_edge= [PARISC,HW]
> @@ -2383,7 +2383,7 @@
>
> mce [X86-32] Machine Check Exception
>
> - mce=option [X86-64] See Documentation/x86/x86_64/boot-
options.txt
> + mce=option [X86-64] See Documentation/x86/x86_64/boot-
options.rst
>
> md= [HW] RAID subsystems devices and level
> See Documentation/admin-guide/md.rst.
> @@ -2439,7 +2439,7 @@
> set according to the
> CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE
kernel config
> option.
> - See Documentation/memory-hotplug.txt.
> + See Documentation/admin-guide/mm/memory-
hotplug.rst.
>
> memmap=exactmap [KNL,X86] Enable setting of an exact
> E820 memory map, as specified by the user.
> @@ -2528,7 +2528,7 @@
> mem_encrypt=on: Activate
SME
> mem_encrypt=off: Do not activate SME
>
> - Refer to Documentation/x86/amd-memory-
encryption.txt
> + Refer to Documentation/x86/amd-memory-
encryption.rst
> for details on when memory encryption can
be activated.
>
> mem_sleep_default= [SUSPEND] Default system suspend mode:
> @@ -3528,7 +3528,7 @@
> See Documentation/blockdev/paride.txt.
>
> pirq= [SMP,APIC] Manual mp-table setup
> - See Documentation/x86/i386/IO-APIC.txt.
> + See Documentation/x86/i386/IO-APIC.rst.
>
> plip= [PPT,NET] Parallel port network link
> Format: { parport<nr> | timid | 0 }
> @@ -5054,7 +5054,7 @@
> Can be used multiple times for multiple
devices.
>
> vga= [BOOT,X86-32] Select a particular video
mode
> - See Documentation/x86/boot.txt and
> + See Documentation/x86/boot.rst and
> Documentation/svga.txt.
> Use vga=ask for menu.
> This is actually a boot loader parameter;
the value is
> diff --git a/Documentation/admin-guide/ras.rst
> b/Documentation/admin-guide/ras.rst index c7495e42e6f4..2b20f5f7380d 100644
> --- a/Documentation/admin-guide/ras.rst
> +++ b/Documentation/admin-guide/ras.rst
> @@ -199,7 +199,7 @@ Architecture (MCA)\ [#f3]_.
> mode).
>
> .. [#f3] For more details about the Machine Check Architecture (MCA),
> - please read Documentation/x86/x86_64/machinecheck at the Kernel tree.
> + please read Documentation/x86/x86_64/machinecheck.rst at the Kernel tree.
>
> EDAC - Error Detection And Correction
> *************************************
> diff --git a/Documentation/devicetree/bindings/net/fsl-enetc.txt
> b/Documentation/devicetree/bindings/net/fsl-enetc.txt index
> c812e25ae90f..25fc687419db 100644
> --- a/Documentation/devicetree/bindings/net/fsl-enetc.txt
> +++ b/Documentation/devicetree/bindings/net/fsl-enetc.txt
> @@ -16,8 +16,8 @@ Required properties:
> In this case, the ENETC node should include a "mdio" sub-node
> that in turn should contain the "ethernet-phy" node describing the
> external phy. Below properties are required, their bindings
> -already defined in ethernet.txt or phy.txt, under
> -Documentation/devicetree/bindings/net/*.
> +already defined in Documentation/devicetree/bindings/net/ethernet.txt or
> +Documentation/devicetree/bindings/net/phy.txt.
>
> Required:
>
> @@ -51,8 +51,7 @@ Example:
> connection:
>
> In this case, the ENETC port node defines a fixed link connection,
> -as specified by "fixed-link.txt", under
> -Documentation/devicetree/bindings/net/*.
> +as specified by Documentation/devicetree/bindings/net/fixed-link.txt.
>
> Required:
>
> diff --git a/Documentation/devicetree/bindings/pci/amlogic,meson-pcie.txt
> b/Documentation/devicetree/bindings/pci/amlogic,meson-pcie.txt index
> 12b18f82d441..efa2c8b9b85a 100644
> --- a/Documentation/devicetree/bindings/pci/amlogic,meson-pcie.txt
> +++ b/Documentation/devicetree/bindings/pci/amlogic,meson-pcie.txt
> @@ -3,7 +3,7 @@ Amlogic Meson AXG DWC PCIE SoC controller
> Amlogic Meson PCIe host controller is based on the Synopsys DesignWare PCI
> core. It shares common functions with the PCIe DesignWare core driver and
> inherits common properties defined in
> -Documentation/devicetree/bindings/pci/designware-pci.txt.
> +Documentation/devicetree/bindings/pci/designware-pcie.txt.
>
> Additional properties are described here:
>
> diff --git
> a/Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.txt
> b/Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.txt index
> 7ef2dbe48e8a..14d2eee96b3d 100644
> --- a/Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.txt
> +++ b/Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.txt
> @@ -97,7 +97,7 @@ Second Level Nodes - Regulators
> sent for this regulator including those which are
for a
> strictly lower power state.
>
> -Other properties defined in Documentation/devicetree/bindings/regulator.txt
> +Other properties defined in
> Documentation/devicetree/bindings/regulator/regulator.txt may also be used.
> regulator-initial-mode and regulator-allowed-modes may be specified for
> VRM regulators using mode values from
> include/dt-bindings/regulator/qcom,rpmh-regulator.h.
> regulator-allow-bypass diff --git
> a/Documentation/devicetree/booting-without-of.txt
> b/Documentation/devicetree/booting-without-of.txt index
> e86bd2f64117..60f8640f2b2f 100644
> --- a/Documentation/devicetree/booting-without-of.txt
> +++ b/Documentation/devicetree/booting-without-of.txt
> @@ -277,7 +277,7 @@ it with special cases.
> the decompressor (the real mode entry point goes to the same 32bit
> entry point once it switched into protected mode). That entry point
> supports one calling convention which is documented in
> - Documentation/x86/boot.txt
> + Documentation/x86/boot.rst
> The physical pointer to the device-tree block (defined in chapter II)
> is passed via setup_data which requires at least boot protocol 2.09.
> The type filed is defined as
> diff --git a/Documentation/driver-api/gpio/board.rst
> b/Documentation/driver-api/gpio/board.rst index b37f3f7b8926..ce91518bf9f4
> 100644
> --- a/Documentation/driver-api/gpio/board.rst
> +++ b/Documentation/driver-api/gpio/board.rst
> @@ -101,7 +101,7 @@ with the help of _DSD (Device Specific Data), introduced
> in ACPI 5.1:: }
>
> For more information about the ACPI GPIO bindings see
> -Documentation/acpi/gpio-properties.txt.
> +Documentation/firmware-guide/acpi/gpio-properties.rst.
>
> Platform Data
> -------------
> diff --git a/Documentation/driver-api/gpio/consumer.rst
> b/Documentation/driver-api/gpio/consumer.rst index
> 5e4d8aa68913..fdecb6d711db 100644
> --- a/Documentation/driver-api/gpio/consumer.rst
> +++ b/Documentation/driver-api/gpio/consumer.rst
> @@ -437,7 +437,7 @@ case, it will be handled by the GPIO subsystem
> automatically. However, if the _DSD is not present, the mappings between
> GpioIo()/GpioInt() resources and GPIO connection IDs need to be provided by
> device drivers.
>
> -For details refer to Documentation/acpi/gpio-properties.txt
> +For details refer to Documentation/firmware-guide/acpi/gpio-properties.rst
>
>
> Interacting With the Legacy GPIO Subsystem
> diff --git a/Documentation/firmware-guide/acpi/enumeration.rst
> b/Documentation/firmware-guide/acpi/enumeration.rst index
> 6b32b7be8c85..65f5bb5725ac 100644
> --- a/Documentation/firmware-guide/acpi/enumeration.rst
> +++ b/Documentation/firmware-guide/acpi/enumeration.rst
> @@ -339,7 +339,7 @@ a code like this::
> There are also devm_* versions of these functions which release the
> descriptors once the device is released.
>
> -See Documentation/acpi/gpio-properties.txt for more information about the
> +See Documentation/firmware-guide/acpi/gpio-properties.rst for more
> information about the _DSD binding related to GPIOs.
>
> MFD devices
> diff --git a/Documentation/firmware-guide/acpi/method-tracing.rst
> b/Documentation/firmware-guide/acpi/method-tracing.rst index
> d0b077b73f5f..0aa7e2c5d32a 100644
> --- a/Documentation/firmware-guide/acpi/method-tracing.rst
> +++ b/Documentation/firmware-guide/acpi/method-tracing.rst
> @@ -68,7 +68,7 @@ c. Filter out the debug layer/level matched logs when the
> specified
>
> Where:
> 0xXXXXXXXX/0xYYYYYYYY
> - Refer to Documentation/acpi/debug.txt for possible debug layer/level
> + Refer to Documentation/firmware-guide/acpi/debug.rst for possible
> debug layer/level masking values.
> \PPPP.AAAA.TTTT.HHHH
> Full path of a control method that can be found in the ACPI namespace.
> diff --git a/Documentation/i2c/instantiating-devices
> b/Documentation/i2c/instantiating-devices index 0d85ac1935b7..5a3e2f331e8c
> 100644
> --- a/Documentation/i2c/instantiating-devices
> +++ b/Documentation/i2c/instantiating-devices
> @@ -85,7 +85,7 @@ Method 1c: Declare the I2C devices via ACPI
> -------------------------------------------
>
> ACPI can also describe I2C devices. There is special documentation for this
> -which is currently located at Documentation/acpi/enumeration.txt. +which
> is currently located at Documentation/firmware-guide/acpi/enumeration.rst.
>
>
> Method 2: Instantiate the devices explicitly
> diff --git a/Documentation/sysctl/kernel.txt
> b/Documentation/sysctl/kernel.txt index f0c86fbb3b48..92f7f34b021a 100644
> --- a/Documentation/sysctl/kernel.txt
> +++ b/Documentation/sysctl/kernel.txt
> @@ -155,7 +155,7 @@ is 0x15 and the full version number is 0x234, this file
> will contain the value 340 = 0x154.
>
> See the type_of_loader and ext_loader_type fields in
> -Documentation/x86/boot.txt for additional information.
> +Documentation/x86/boot.rst for additional information.
>
> ==============================================================
>
> @@ -167,7 +167,7 @@ The complete bootloader version number. In the example
> above, this file will contain the value 564 = 0x234.
>
> See the type_of_loader and ext_loader_ver fields in
> -Documentation/x86/boot.txt for additional information.
> +Documentation/x86/boot.rst for additional information.
>
> ==============================================================
>
> diff --git a/Documentation/translations/it_IT/process/4.Coding.rst
> b/Documentation/translations/it_IT/process/4.Coding.rst index
> c05b89e616dd..1d23e951491f 100644
> --- a/Documentation/translations/it_IT/process/4.Coding.rst
> +++ b/Documentation/translations/it_IT/process/4.Coding.rst
> @@ -370,7 +370,7 @@ con cosa stanno lavorando. Consultate:
> Documentation/ABI/README per avere una descrizione di come questi documenti
> devono essere impostati e quali informazioni devono essere fornite.
>
> -Il file
> :ref:`Documentation/translations/it_IT/admin-guide/kernel-parameters.rst
> <kernelparameters>` +Il file
> :ref:`Documentation/admin-guide/kernel-parameters.rst <kernelparameters>`
> descrive tutti i parametri di avvio del kernel. Ogni patch che aggiunga
> nuovi parametri dovrebbe aggiungere nuove voci a questo file.
ACK
I will provide later a patch that adds that translation (just the .rst file)
> diff --git a/Documentation/translations/it_IT/process/howto.rst
> b/Documentation/translations/it_IT/process/howto.rst index
> 9903ac7c566b..44e6077730e8 100644
> --- a/Documentation/translations/it_IT/process/howto.rst
> +++ b/Documentation/translations/it_IT/process/howto.rst
> @@ -131,7 +131,7 @@ Di seguito una lista di file che sono presenti nei
> sorgente del kernel e che "Linux kernel patch submission format"
> http://linux.yyz.us/patch-format.html
>
> - :ref:`Documentation/process/translations/it_IT/stable-api-nonsense.rst
> <it_stable_api_nonsense>` +
> :ref:`Documentation/translations/it_IT/process/stable-api-nonsense.rst
> <it_stable_api_nonsense>`
ACK
> Questo file descrive la motivazioni sottostanti la conscia decisione di
> non avere un API stabile all'interno del kernel, incluso cose come: diff
> --git a/Documentation/translations/it_IT/process/stable-kernel-rules.rst
> b/Documentation/translations/it_IT/process/stable-kernel-rules.rst index
> 48e88e5ad2c5..4f206cee31a7 100644
> --- a/Documentation/translations/it_IT/process/stable-kernel-rules.rst
> +++ b/Documentation/translations/it_IT/process/stable-kernel-rules.rst
> @@ -33,7 +33,7 @@ Regole sul tipo di patch che vengono o non vengono
> accettate nei sorgenti - Non deve includere alcuna correzione "banale"
> (correzioni grammaticali, pulizia dagli spazi bianchi, eccetera).
> - Deve rispettare le regole scritte in
> - :ref:`Documentation/translation/it_IT/process/submitting-patches.rst
> <it_submittingpatches>` +
> :ref:`Documentation/translations/it_IT/process/submitting-patches.rst
> <it_submittingpatches>` - Questa patch o una equivalente deve esistere già
> nei sorgenti principali di Linux
ACK
>
> @@ -43,7 +43,7 @@ Procedura per sottomettere patch per i sorgenti -stable
>
> - Se la patch contiene modifiche a dei file nelle cartelle net/ o
> drivers/net, allora seguite le linee guida descritte in
> - :ref:`Documentation/translation/it_IT/networking/netdev-FAQ.rst
> <it_netdev-FAQ>`; +
> :ref:`Documentation/translations/it_IT/networking/netdev-FAQ.rst
> <it_netdev-FAQ>`; ma solo dopo aver verificato al seguente indirizzo che la
> patch non sia già in coda:
>
ACK
Thanks for the fixes, out of curiosity. How did you spot those mistakes?
> https://patchwork.ozlabs.org/bundle/davem/stable/?series=&submitter=&state=
> *&q=&archive= diff --git
> a/Documentation/translations/zh_CN/process/4.Coding.rst
> b/Documentation/translations/zh_CN/process/4.Coding.rst index
> 5301e9d55255..8bb777941394 100644
> --- a/Documentation/translations/zh_CN/process/4.Coding.rst
> +++ b/Documentation/translations/zh_CN/process/4.Coding.rst
> @@ -241,7 +241,7 @@ scripts/coccinelle目录下已经打包了相当多的内核“语义补丁”
>
> 任何添加新用户空间界面的代码(包括新的sysfs或/proc文件)都应该包含该界面的
> 文档,该文档使用户空间开发人员能够知道他们在使用什么。请参阅
> -Documentation/abi/readme,了解如何格式化此文档以及需要提供哪些信息。
> +Documentation/ABI/README,了解如何格式化此文档以及需要提供哪些信息。
>
> 文件 :ref:`Documentation/admin-guide/kernel-parameters.rst
> <kernelparameters>` 描述了内核的所有引导时间参数。任何添加新参数的补丁都应该向该文件添加适当的
> diff --git a/Documentation/x86/x86_64/5level-paging.rst
> b/Documentation/x86/x86_64/5level-paging.rst index
> ab88a4514163..44856417e6a5 100644
> --- a/Documentation/x86/x86_64/5level-paging.rst
> +++ b/Documentation/x86/x86_64/5level-paging.rst
> @@ -20,7 +20,7 @@ physical address space. This "ought to be enough for
> anybody" ©. QEMU 2.9 and later support 5-level paging.
>
> Virtual memory layout for 5-level paging is described in
> -Documentation/x86/x86_64/mm.txt
> +Documentation/x86/x86_64/mm.rst
>
>
> Enabling 5-level paging
> diff --git a/Documentation/x86/x86_64/boot-options.rst
> b/Documentation/x86/x86_64/boot-options.rst index
> 2f69836b8445..6a4285a3c7a4 100644
> --- a/Documentation/x86/x86_64/boot-options.rst
> +++ b/Documentation/x86/x86_64/boot-options.rst
> @@ -9,7 +9,7 @@ only the AMD64 specific ones are listed here.
>
> Machine check
> =============
> -Please see Documentation/x86/x86_64/machinecheck for sysfs runtime
> tunables. +Please see Documentation/x86/x86_64/machinecheck.rst for sysfs
> runtime tunables.
>
> mce=off
> Disable machine check
> @@ -89,7 +89,7 @@ APICs
> Don't use the local APIC (alias for i386 compatibility)
>
> pirq=...
> - See Documentation/x86/i386/IO-APIC.txt
> + See Documentation/x86/i386/IO-APIC.rst
>
> noapictimer
> Don't set up the APIC timer
> diff --git a/Documentation/x86/x86_64/fake-numa-for-cpusets.rst
> b/Documentation/x86/x86_64/fake-numa-for-cpusets.rst index
> 74fbb78b3c67..04df57b9aa3f 100644
> --- a/Documentation/x86/x86_64/fake-numa-for-cpusets.rst
> +++ b/Documentation/x86/x86_64/fake-numa-for-cpusets.rst
> @@ -18,7 +18,7 @@ For more information on the features of cpusets, see
> Documentation/cgroup-v1/cpusets.txt.
> There are a number of different configurations you can use for your needs.
> For more information on the numa=fake command line option and its various
> ways of -configuring fake nodes, see
> Documentation/x86/x86_64/boot-options.txt. +configuring fake nodes, see
> Documentation/x86/x86_64/boot-options.rst.
>
> For the purposes of this introduction, we'll assume a very primitive NUMA
> emulation setup of "numa=fake=4*512,". This will split our system memory
> into diff --git a/MAINTAINERS b/MAINTAINERS
> index 0c84bf76d165..47aa4f6defb9 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -3874,7 +3874,7 @@
> F: Documentation/devicetree/bindings/hwmon/cirrus,lochnagar.txt
> F: Documentation/devicetree/bindings/pinctrl/cirrus,lochnagar.txt
> F: Documentation/devicetree/bindings/regulator/cirrus,lochnagar.txt
> F: Documentation/devicetree/bindings/sound/cirrus,lochnagar.txt
> -F: Documentation/hwmon/lochnagar
> +F: Documentation/hwmon/lochnagar.rst
>
> CISCO FCOE HBA DRIVER
> M: Satish Kharat <satishkh@cisco.com>
> @@ -11272,7 +11272,7 @@ NXP FXAS21002C DRIVER
> M: Rui Miguel Silva <rmfrfs@gmail.com>
> L: linux-iio@vger.kernel.org
> S: Maintained
> -F: Documentation/devicetree/bindings/iio/gyroscope/fxas21002c.txt
> +F: Documentation/devicetree/bindings/iio/gyroscope/nxp,fxas21002c.txt
> F: drivers/iio/gyro/fxas21002c_core.c
> F: drivers/iio/gyro/fxas21002c.h
> F: drivers/iio/gyro/fxas21002c_i2c.c
> @@ -13043,7 +13043,7 @@ M: Niklas Cassel <niklas.cassel@linaro.org>
> L: netdev@vger.kernel.org
> S: Maintained
> F: drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c
> -F: Documentation/devicetree/bindings/net/qcom,dwmac.txt
> +F: Documentation/devicetree/bindings/net/qcom,ethqos.txt
>
> QUALCOMM GENERIC INTERFACE I2C DRIVER
> M: Alok Chauhan <alokc@codeaurora.org>
> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
> index 8869742a85df..0f220264cc23 100644
> --- a/arch/arm/Kconfig
> +++ b/arch/arm/Kconfig
> @@ -1263,7 +1263,7 @@ config SMP
> uniprocessor machines. On a uniprocessor machine, the kernel
> will run faster if you say N here.
>
> - See also <file:Documentation/x86/i386/IO-APIC.txt>,
> + See also <file:Documentation/x86/i386/IO-APIC.rst>,
> <file:Documentation/lockup-watchdogs.txt> and the SMP-HOWTO
available at
> <http://tldp.org/HOWTO/SMP-HOWTO.html>.
>
> diff --git a/arch/arm64/kernel/kexec_image.c
> b/arch/arm64/kernel/kexec_image.c index 07bf740bea91..31cc2f423aa8 100644
> --- a/arch/arm64/kernel/kexec_image.c
> +++ b/arch/arm64/kernel/kexec_image.c
> @@ -53,7 +53,7 @@ static void *image_load(struct kimage *image,
>
> /*
> * We require a kernel with an unambiguous Image header. Per
> - * Documentation/booting.txt, this is the case when image_size
> + * Documentation/arm64/booting.txt, this is the case when
image_size
> * is non-zero (practically speaking, since v3.17).
> */
> h = (struct arm64_image_header *)kernel;
> diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
> index 8c1c636308c8..e868d2bd48b8 100644
> --- a/arch/powerpc/Kconfig
> +++ b/arch/powerpc/Kconfig
> @@ -898,7 +898,7 @@ config PPC_MEM_KEYS
> page-based protections, but without requiring modification of
the
> page tables when an application changes protection domains.
>
> - For details, see Documentation/vm/protection-keys.rst
> + For details, see Documentation/x86/protection-keys.rst
>
> If unsure, say y.
>
> diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
> index 2bbbd4d1ba31..78fdf2dd71d1 100644
> --- a/arch/x86/Kconfig
> +++ b/arch/x86/Kconfig
> @@ -395,7 +395,7 @@ config SMP
> Y to "Enhanced Real Time Clock Support", below. The "Advanced
Power
> Management" code will be disabled if you say Y here.
>
> - See also <file:Documentation/x86/i386/IO-APIC.txt>,
> + See also <file:Documentation/x86/i386/IO-APIC.rst>,
> <file:Documentation/lockup-watchdogs.txt> and the SMP-HOWTO
available at
> <http://www.tldp.org/docs.html#howto>.
>
> @@ -1290,7 +1290,7 @@ config MICROCODE
> the Linux kernel.
>
> The preferred method to load microcode from a detached initrd is
> described - in Documentation/x86/microcode.txt. For that you
need to
> enable + in Documentation/x86/microcode.rst. For that you need to enable
> CONFIG_BLK_DEV_INITRD in order for the loader to be able to scan the initrd
> for microcode blobs.
>
> @@ -1329,7 +1329,7 @@ config MICROCODE_OLD_INTERFACE
> It is inadequate because it runs too late to be able to properly
> load microcode on a machine and it needs special tools. Instead,
you
> should've switched to the early loading method with the initrd
or
> - builtin microcode by now: Documentation/x86/microcode.txt
> + builtin microcode by now: Documentation/x86/microcode.rst
>
> config X86_MSR
> tristate "/dev/cpu/*/msr - Model-specific register support"
> @@ -1478,7 +1478,7 @@ config X86_5LEVEL
> A kernel with the option enabled can be booted on machines that
> support 4- or 5-level paging.
>
> - See Documentation/x86/x86_64/5level-paging.txt for more
> + See Documentation/x86/x86_64/5level-paging.rst for more
> information.
>
> Say N if unsure.
> @@ -1626,7 +1626,7 @@ config ARCH_MEMORY_PROBE
> depends on X86_64 && MEMORY_HOTPLUG
> help
> This option enables a sysfs memory/probe interface for testing.
> - See Documentation/memory-hotplug.txt for more information.
> + See Documentation/admin-guide/mm/memory-hotplug.rst for more
> information. If you are unsure how to answer this question, answer N.
>
> config ARCH_PROC_KCORE_TEXT
> @@ -1783,7 +1783,7 @@ config MTRR
> You can safely say Y even if your machine doesn't have MTRRs,
you'll
> just add about 9 KB to your kernel.
>
> - See <file:Documentation/x86/mtrr.txt> for more information.
> + See <file:Documentation/x86/mtrr.rst> for more information.
>
> config MTRR_SANITIZER
> def_bool y
> @@ -1895,7 +1895,7 @@ config X86_INTEL_MPX
> process and adds some branches to paths used during
> exec() and munmap().
>
> - For details, see Documentation/x86/intel_mpx.txt
> + For details, see Documentation/x86/intel_mpx.rst
>
> If unsure, say N.
>
> @@ -1911,7 +1911,7 @@ config X86_INTEL_MEMORY_PROTECTION_KEYS
> page-based protections, but without requiring modification of
the
> page tables when an application changes protection domains.
>
> - For details, see Documentation/x86/protection-keys.txt
> + For details, see Documentation/x86/protection-keys.rst
>
> If unsure, say y.
>
> diff --git a/arch/x86/Kconfig.debug b/arch/x86/Kconfig.debug
> index f730680dc818..59f598543203 100644
> --- a/arch/x86/Kconfig.debug
> +++ b/arch/x86/Kconfig.debug
> @@ -156,7 +156,7 @@ config IOMMU_DEBUG
> code. When you use it make sure you have a big enough
> IOMMU/AGP aperture. Most of the options enabled by this can
> be set more finegrained using the iommu= command line
> - options. See Documentation/x86/x86_64/boot-options.txt for more
> + options. See Documentation/x86/x86_64/boot-options.rst for more
> details.
>
> config IOMMU_LEAK
> diff --git a/arch/x86/boot/header.S b/arch/x86/boot/header.S
> index 850b8762e889..90d791ca1a95 100644
> --- a/arch/x86/boot/header.S
> +++ b/arch/x86/boot/header.S
> @@ -313,7 +313,7 @@ start_sys_seg: .word SYSSEG
# obsolete and meaningless,
> but just
>
> type_of_loader: .byte 0 # 0 means ancient
bootloader, newer
> # bootloaders know
to change this.
> - # See
Documentation/x86/boot.txt for
> + # See
Documentation/x86/boot.rst for
> # assigned ids
>
> # flags, unused bits must be zero (RFU) bit within loadflags
> diff --git a/arch/x86/entry/entry_64.S b/arch/x86/entry/entry_64.S
> index 11aa3b2afa4d..33f9fc38d014 100644
> --- a/arch/x86/entry/entry_64.S
> +++ b/arch/x86/entry/entry_64.S
> @@ -8,7 +8,7 @@
> *
> * entry.S contains the system-call and fault low-level handling routines.
> *
> - * Some of this is documented in Documentation/x86/entry_64.txt
> + * Some of this is documented in Documentation/x86/entry_64.rst
> *
> * A note on terminology:
> * - iret frame: Architecture defined interrupt frame from SS to RIP
> diff --git a/arch/x86/include/asm/bootparam_utils.h
> b/arch/x86/include/asm/bootparam_utils.h index f6f6ef436599..101eb944f13c
> 100644
> --- a/arch/x86/include/asm/bootparam_utils.h
> +++ b/arch/x86/include/asm/bootparam_utils.h
> @@ -24,7 +24,7 @@ static void sanitize_boot_params(struct boot_params
> *boot_params) * IMPORTANT NOTE TO BOOTLOADER AUTHORS: do not simply clear
> * this field. The purpose of this field is to guarantee
> * compliance with the x86 boot spec located in
> - * Documentation/x86/boot.txt . That spec says that the
> + * Documentation/x86/boot.rst . That spec says that the
> * *whole* structure should be cleared, after which only the
> * portion defined by struct setup_header (boot_params->hdr)
> * should be copied in.
> diff --git a/arch/x86/include/asm/page_64_types.h
> b/arch/x86/include/asm/page_64_types.h index 793c14c372cb..288b065955b7
> 100644
> --- a/arch/x86/include/asm/page_64_types.h
> +++ b/arch/x86/include/asm/page_64_types.h
> @@ -48,7 +48,7 @@
>
> #define __START_KERNEL_map _AC(0xffffffff80000000, UL)
>
> -/* See Documentation/x86/x86_64/mm.txt for a description of the memory map.
> */ +/* See Documentation/x86/x86_64/mm.rst for a description of the memory
> map. */
>
> #define __PHYSICAL_MASK_SHIFT 52
>
> diff --git a/arch/x86/include/asm/pgtable_64_types.h
> b/arch/x86/include/asm/pgtable_64_types.h index 88bca456da99..52e5f5f2240d
> 100644
> --- a/arch/x86/include/asm/pgtable_64_types.h
> +++ b/arch/x86/include/asm/pgtable_64_types.h
> @@ -103,7 +103,7 @@ extern unsigned int ptrs_per_p4d;
> #define PGDIR_MASK (~(PGDIR_SIZE - 1))
>
> /*
> - * See Documentation/x86/x86_64/mm.txt for a description of the memory map.
> + * See Documentation/x86/x86_64/mm.rst for a description of the memory
> map. *
> * Be very careful vs. KASLR when changing anything here. The KASLR address
> * range must not overlap with anything except the KASAN shadow area, which
> diff --git a/arch/x86/kernel/cpu/microcode/amd.c
> b/arch/x86/kernel/cpu/microcode/amd.c index e1f3ba19ba54..06d4e67f31ab
> 100644
> --- a/arch/x86/kernel/cpu/microcode/amd.c
> +++ b/arch/x86/kernel/cpu/microcode/amd.c
> @@ -61,7 +61,7 @@ static u8 amd_ucode_patch[PATCH_MAX_SIZE];
>
> /*
> * Microcode patch container file is prepended to the initrd in cpio
> - * format. See Documentation/x86/microcode.txt
> + * format. See Documentation/x86/microcode.rst
> */
> static const char
> ucode_path[] __maybe_unused = "kernel/x86/microcode/AuthenticAMD.bin";
> diff --git a/arch/x86/kernel/kexec-bzimage64.c
> b/arch/x86/kernel/kexec-bzimage64.c index 22f60dd26460..b07e7069b09e 100644
> --- a/arch/x86/kernel/kexec-bzimage64.c
> +++ b/arch/x86/kernel/kexec-bzimage64.c
> @@ -416,7 +416,7 @@ static void *bzImage64_load(struct kimage *image, char
> *kernel, efi_map_offset = params_cmdline_sz;
> efi_setup_data_offset = efi_map_offset + ALIGN(efi_map_sz, 16);
>
> - /* Copy setup header onto bootparams. Documentation/x86/boot.txt
*/
> + /* Copy setup header onto bootparams. Documentation/x86/boot.rst */
> setup_header_size = 0x0202 + kernel[0x0201] - setup_hdr_offset;
>
> /* Is there a limit on setup header size? */
> diff --git a/arch/x86/kernel/pci-dma.c b/arch/x86/kernel/pci-dma.c
> index dcd272dbd0a9..f62b498b18fb 100644
> --- a/arch/x86/kernel/pci-dma.c
> +++ b/arch/x86/kernel/pci-dma.c
> @@ -70,7 +70,7 @@ void __init pci_iommu_alloc(void)
> }
>
> /*
> - * See <Documentation/x86/x86_64/boot-options.txt> for the iommu kernel
> + * See <Documentation/x86/x86_64/boot-options.rst> for the iommu kernel
> * parameter documentation.
> */
> static __init int iommu_setup(char *p)
> diff --git a/arch/x86/mm/tlb.c b/arch/x86/mm/tlb.c
> index 7f61431c75fb..400c1ba033aa 100644
> --- a/arch/x86/mm/tlb.c
> +++ b/arch/x86/mm/tlb.c
> @@ -711,7 +711,7 @@ void native_flush_tlb_others(const struct cpumask
> *cpumask, }
>
> /*
> - * See Documentation/x86/tlb.txt for details. We choose 33
> + * See Documentation/x86/tlb.rst for details. We choose 33
> * because it is large enough to cover the vast majority (at
> * least 95%) of allocations, and is small enough that we are
> * confident it will not cause too much overhead. Each single
> diff --git a/arch/x86/platform/pvh/enlighten.c
> b/arch/x86/platform/pvh/enlighten.c index 1861a2ba0f2b..c0a502f7e3a7 100644
> --- a/arch/x86/platform/pvh/enlighten.c
> +++ b/arch/x86/platform/pvh/enlighten.c
> @@ -86,7 +86,7 @@ static void __init init_pvh_bootparams(bool xen_guest)
> }
>
> /*
> - * See Documentation/x86/boot.txt.
> + * See Documentation/x86/boot.rst.
> *
> * Version 2.12 supports Xen entry point but we will use default
x86/PC
> * environment (i.e. hardware_subarch 0).
> diff --git a/drivers/acpi/Kconfig b/drivers/acpi/Kconfig
> index 283ee94224c6..2438f37f2ca1 100644
> --- a/drivers/acpi/Kconfig
> +++ b/drivers/acpi/Kconfig
> @@ -333,7 +333,7 @@ config ACPI_CUSTOM_DSDT_FILE
> depends on !STANDALONE
> help
> This option supports a custom DSDT by linking it into the
kernel.
> - See Documentation/acpi/dsdt-override.txt
> + See Documentation/admin-guide/acpi/dsdt-override.rst
>
> Enter the full path name to the file which includes the AmlCode
> or dsdt_aml_code declaration.
> @@ -355,7 +355,7 @@ config ACPI_TABLE_UPGRADE
> This option provides functionality to upgrade arbitrary ACPI
tables
> via initrd. No functional change if no ACPI tables are passed
via
> initrd, therefore it's safe to say Y.
> - See Documentation/acpi/initrd_table_override.txt for details
> + See Documentation/admin-guide/acpi/initrd_table_override.rst for
details
>
> config ACPI_TABLE_OVERRIDE_VIA_BUILTIN_INITRD
> bool "Override ACPI tables from built-in initrd"
> @@ -365,7 +365,7 @@ config ACPI_TABLE_OVERRIDE_VIA_BUILTIN_INITRD
> This option provides functionality to override arbitrary ACPI
tables
> from built-in uncompressed initrd.
>
> - See Documentation/acpi/initrd_table_override.txt for details
> + See Documentation/admin-guide/acpi/initrd_table_override.rst for
details
>
> config ACPI_DEBUG
> bool "Debug Statements"
> @@ -374,7 +374,7 @@ config ACPI_DEBUG
> output and increases the kernel size by around 50K.
>
> Use the acpi.debug_layer and acpi.debug_level kernel command-
line
> - parameters documented in Documentation/acpi/debug.txt and
> + parameters documented in Documentation/firmware-guide/acpi/
debug.rst and
> Documentation/admin-guide/kernel-parameters.rst to control the type and
> amount of debug output.
>
> @@ -445,7 +445,7 @@ config ACPI_CUSTOM_METHOD
> help
> This debug facility allows ACPI AML methods to be inserted and/
or
> replaced without rebooting the system. For details refer to:
> - Documentation/acpi/method-customizing.txt.
> + Documentation/firmware-guide/acpi/method-customizing.rst.
>
> NOTE: This option is security sensitive, because it allows
arbitrary
> kernel memory to be written to by root (uid=0) users, allowing
them
> diff --git a/drivers/net/ethernet/faraday/ftgmac100.c
> b/drivers/net/ethernet/faraday/ftgmac100.c index b17b79e612a3..ac6280ad43a1
> 100644
> --- a/drivers/net/ethernet/faraday/ftgmac100.c
> +++ b/drivers/net/ethernet/faraday/ftgmac100.c
> @@ -1075,7 +1075,7 @@ static int ftgmac100_mii_probe(struct ftgmac100 *priv,
> phy_interface_t intf) }
>
> /* Indicate that we support PAUSE frames (see comment in
> - * Documentation/networking/phy.txt)
> + * Documentation/networking/phy.rst)
> */
> phy_support_asym_pause(phydev);
>
> diff --git a/drivers/staging/fieldbus/Documentation/fieldbus_dev.txt
> b/drivers/staging/fieldbus/Documentation/fieldbus_dev.txt index
> 56af3f650fa3..89fb8e14676f 100644
> --- a/drivers/staging/fieldbus/Documentation/fieldbus_dev.txt
> +++ b/drivers/staging/fieldbus/Documentation/fieldbus_dev.txt
> @@ -54,8 +54,8 @@ a limited few common behaviours and properties. This
> allows us to define a simple interface consisting of a character device and
> a set of sysfs files:
>
> See:
> -Documentation/ABI/testing/sysfs-class-fieldbus-dev
> -Documentation/ABI/testing/fieldbus-dev-cdev
> +drivers/staging/fieldbus/Documentation/ABI/sysfs-class-fieldbus-dev
> +drivers/staging/fieldbus/Documentation/ABI/fieldbus-dev-cdev
>
> Note that this simple interface does not provide a way to modify adapter
> configuration settings. It is therefore useful only for adapters that get
> their diff --git a/drivers/vhost/vhost.c b/drivers/vhost/vhost.c
> index 1e3ed41ae1f3..69938dbae2d0 100644
> --- a/drivers/vhost/vhost.c
> +++ b/drivers/vhost/vhost.c
> @@ -1694,7 +1694,7 @@ EXPORT_SYMBOL_GPL(vhost_dev_ioctl);
>
> /* TODO: This is really inefficient. We need something like get_user()
> * (instruction directly accesses the data, with an exception table entry
> - * returning -EFAULT). See Documentation/x86/exception-tables.txt.
> + * returning -EFAULT). See Documentation/x86/exception-tables.rst.
> */
> static int set_bit_to_user(int nr, void __user *addr)
> {
> diff --git a/include/acpi/acpi_drivers.h b/include/acpi/acpi_drivers.h
> index de1804aeaf69..98e3db7a89cd 100644
> --- a/include/acpi/acpi_drivers.h
> +++ b/include/acpi/acpi_drivers.h
> @@ -25,7 +25,7 @@
> #define ACPI_MAX_STRING 80
>
> /*
> - * Please update drivers/acpi/debug.c and Documentation/acpi/debug.txt
> + * Please update drivers/acpi/debug.c and
> Documentation/firmware-guide/acpi/debug.rst * if you add to this list.
> */
> #define ACPI_BUS_COMPONENT 0x00010000
> diff --git a/include/linux/fs_context.h b/include/linux/fs_context.h
> index 1f966670c8dc..623eb58560b9 100644
> --- a/include/linux/fs_context.h
> +++ b/include/linux/fs_context.h
> @@ -85,7 +85,7 @@ struct fs_parameter {
> * Superblock creation fills in ->root whereas reconfiguration begins with
> this * already set.
> *
> - * See Documentation/filesystems/mounting.txt
> + * See Documentation/filesystems/mount_api.txt
> */
> struct fs_context {
> const struct fs_context_operations *ops;
> diff --git a/include/linux/lsm_hooks.h b/include/linux/lsm_hooks.h
> index 47f58cfb6a19..df1318d85f7d 100644
> --- a/include/linux/lsm_hooks.h
> +++ b/include/linux/lsm_hooks.h
> @@ -77,7 +77,7 @@
> * state. This is called immediately after commit_creds().
> *
> * Security hooks for mount using fs_context.
> - * [See also Documentation/filesystems/mounting.txt]
> + * [See also Documentation/filesystems/mount_api.txt]
> *
> * @fs_context_dup:
> * Allocate and attach a security structure to sc->security. This
pointer
> diff --git a/mm/Kconfig b/mm/Kconfig
> index ee8d1f311858..6e5fb81bde4b 100644
> --- a/mm/Kconfig
> +++ b/mm/Kconfig
> @@ -165,7 +165,7 @@ config MEMORY_HOTPLUG_DEFAULT_ONLINE
> onlining policy (/sys/devices/system/memory/auto_online_blocks)
which
> determines what happens to newly added memory regions. Policy
setting
> can always be changed at runtime.
> - See Documentation/memory-hotplug.txt for more information.
> + See Documentation/admin-guide/mm/memory-hotplug.rst for more
> information.
>
> Say Y here if you want all hot-plugged memory blocks to appear
in
> 'online' state by default.
> diff --git a/security/Kconfig b/security/Kconfig
> index aeac3676dd4d..6d75ed71970c 100644
> --- a/security/Kconfig
> +++ b/security/Kconfig
> @@ -62,7 +62,7 @@ config PAGE_TABLE_ISOLATION
> ensuring that the majority of kernel addresses are not mapped
> into userspace.
>
> - See Documentation/x86/pti.txt for more details.
> + See Documentation/x86/pti.rst for more details.
>
> config SECURITY_INFINIBAND
> bool "Infiniband Security Hooks"
> diff --git a/tools/include/linux/err.h b/tools/include/linux/err.h
> index 2f5a12b88a86..25f2bb3a991d 100644
> --- a/tools/include/linux/err.h
> +++ b/tools/include/linux/err.h
> @@ -20,7 +20,7 @@
> * Userspace note:
> * The same principle works for userspace, because 'error' pointers
> * fall down to the unused hole far from user space, as described
> - * in Documentation/x86/x86_64/mm.txt for x86_64 arch:
> + * in Documentation/x86/x86_64/mm.rst for x86_64 arch:
> *
> * 0000000000000000 - 00007fffffffffff (=47 bits) user space, different per
> mm hole caused by [48:63] sign extension * ffffffffffe00000 -
> ffffffffffffffff (=2 MB) unused hole
> diff --git a/tools/objtool/Documentation/stack-validation.txt
> b/tools/objtool/Documentation/stack-validation.txt index
> 4dd11a554b9b..de094670050b 100644
> --- a/tools/objtool/Documentation/stack-validation.txt
> +++ b/tools/objtool/Documentation/stack-validation.txt
> @@ -21,7 +21,7 @@ instructions). Similarly, it knows how to follow switch
> statements, for which gcc sometimes uses jump tables.
>
> (Objtool also has an 'orc generate' subcommand which generates debuginfo
> -for the ORC unwinder. See Documentation/x86/orc-unwinder.txt in the
> +for the ORC unwinder. See Documentation/x86/orc-unwinder.rst in the
> kernel tree for more details.)
>
>
> @@ -101,7 +101,7 @@ b) ORC (Oops Rewind Capability) unwind table generation
> band. So it doesn't affect runtime performance and it can be
> reliable even when interrupts or exceptions are involved.
>
> - For more details, see Documentation/x86/orc-unwinder.txt.
> + For more details, see Documentation/x86/orc-unwinder.rst.
>
> c) Higher live patching compatibility rate
>
> diff --git a/tools/testing/selftests/x86/protection_keys.c
> b/tools/testing/selftests/x86/protection_keys.c index
> 5d546dcdbc80..798a5ddeee55 100644
> --- a/tools/testing/selftests/x86/protection_keys.c
> +++ b/tools/testing/selftests/x86/protection_keys.c
> @@ -1,6 +1,6 @@
> // SPDX-License-Identifier: GPL-2.0
> /*
> - * Tests x86 Memory Protection Keys (see
> Documentation/x86/protection-keys.txt) + * Tests x86 Memory Protection Keys
> (see Documentation/x86/protection-keys.rst) *
> * There are examples in here of:
> * * how to set protection keys on memory
^ permalink raw reply
* Re: [PATCH] mm/nvdimm: Use correct #defines instead of opencoding
From: Aneesh Kumar K.V @ 2019-05-22 5:41 UTC (permalink / raw)
To: Dan Williams; +Cc: Linux MM, Oliver O'Halloran, linuxppc-dev, linux-nvdimm
In-Reply-To: <CAPcyv4j5Y+AFkbvYjDnfqTdmN_Sq=O0qfGUorgpjAE8Ww7vH=A@mail.gmail.com>
On 5/21/19 9:37 PM, Dan Williams wrote:
> On Tue, May 21, 2019 at 2:51 AM Aneesh Kumar K.V
> <aneesh.kumar@linux.ibm.com> wrote:
....
>>
>> Something like the below (Not tested). I am not sure what we will init the page_size
>> for minor version < 3. This will mark the namespace disabled if the
>> PAGE_SIZE and sizeof(struct page) doesn't match with the values used
>> during namespace create.
>
> Yes, this is on the right track.
>
> I would special-case page_size == 0 as 4096 and page_struct_size == 0
> as 64. If either of those is non-zero then the info-block version
> needs to be revved and it needs to be crafted to make older kernels
> fail to parse it.
>
page_size = SZ_4K implies we fail to enable namesepaces created on ppc64
till now. We do work fine with page_size = PAGE_SIZE. It is a few error
check and pfn_sb->npfns that got wrong values. We do reserve the correct
space for the required pfns even when we recorded wrong pfn_sb->npfs.
> There was an earlier attempt to implement minimum info-block versions here:
>
> https://lore.kernel.org/lkml/155000670159.348031.17631616775326330606.stgit@dwillia2-desk3.amr.corp.intel.com/
>
> ...but that was dropped in favor of the the "sub-section" patches.
>
Ok i will pick that too.
-aneesh
^ permalink raw reply
* Re: [BISECTED] kexec regression on PowerBook G4
From: Christophe Leroy @ 2019-05-22 6:14 UTC (permalink / raw)
To: Aaro Koskinen; +Cc: linuxppc-dev
In-Reply-To: <20190521221859.GC3621@darkstar.musicnaut.iki.fi>
Hi Aero,
Le 22/05/2019 à 00:18, Aaro Koskinen a écrit :
> Hi,
>
> I was trying to upgrade from v5.0 -> v5.1 on PowerBook G4, but when trying
> to kexec a kernel the system gets stuck (no errors seen on the console).
Do you mean you are trying to kexec a v5.1 kernel from a v5.0 kernel, or
do you have a working v5.1 kernel, but kexec doesn't work with it ?
>
> Bisected to: 93c4a162b014 ("powerpc/6xx: Store PGDIR physical address
> in a SPRG"). This commit doesn't revert cleanly anymore but I tested
> that the one before works OK.
Not sure that's the problem. There was a problem with that commit, but
it was fixed by 4622a2d43101 ("powerpc/6xx: fix setup and use of
SPRN_SPRG_PGDIR for hash32").
You probably hit some commit between those two during bisect, that's
likely the reason why you ended here.
Can you restart your bisect from 4622a2d43101 ?
If you have CONFIG_SMP, maybe you should also consider taking
397d2300b08c ("powerpc/32s: fix flush_hash_pages() on SMP"). Stable
5.1.4 includes it.
>
> With current Linus HEAD (9c7db5004280), it gets a bit further but still
> doesn't work: now I get an error on the console after kexec "Starting
> new kernel! ... Bye!":
>
> kernel tried to execute exec-protected page (...) - exploit attempt?
Interesting.
Do you have CONFIG_STRICT_KERNEL_RWX=y in your .config ? If so, can you
retry without it ?
Thanks
Christophe
>
> A.
>
^ permalink raw reply
* [RFC PATCH 1/3] mm/nvdimm: Add PFN_MIN_VERSION support
From: Aneesh Kumar K.V @ 2019-05-22 6:20 UTC (permalink / raw)
To: dan.j.williams; +Cc: linux-mm, linuxppc-dev, Aneesh Kumar K.V, linux-nvdimm
This allows us to make changes in a backward incompatible way. I have
kept the PFN_MIN_VERSION in this patch '0' because we are not introducing
any incompatible changes in this patch. We also may want to backport this
to older kernels.
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
---
drivers/nvdimm/pfn.h | 9 ++++++++-
drivers/nvdimm/pfn_devs.c | 4 ++++
drivers/nvdimm/pmem.c | 26 ++++++++++++++++++++++----
3 files changed, 34 insertions(+), 5 deletions(-)
diff --git a/drivers/nvdimm/pfn.h b/drivers/nvdimm/pfn.h
index dde9853453d3..1b10ae5773b6 100644
--- a/drivers/nvdimm/pfn.h
+++ b/drivers/nvdimm/pfn.h
@@ -20,6 +20,12 @@
#define PFN_SIG_LEN 16
#define PFN_SIG "NVDIMM_PFN_INFO\0"
#define DAX_SIG "NVDIMM_DAX_INFO\0"
+/*
+ * increment this when we are making changes such that older
+ * kernel should fail to initialize that namespace.
+ */
+
+#define PFN_MIN_VERSION 0
struct nd_pfn_sb {
u8 signature[PFN_SIG_LEN];
@@ -36,7 +42,8 @@ struct nd_pfn_sb {
__le32 end_trunc;
/* minor-version-2 record the base alignment of the mapping */
__le32 align;
- u8 padding[4000];
+ __le16 min_verison;
+ u8 padding[3998];
__le64 checksum;
};
diff --git a/drivers/nvdimm/pfn_devs.c b/drivers/nvdimm/pfn_devs.c
index 01f40672507f..3250de70a7b3 100644
--- a/drivers/nvdimm/pfn_devs.c
+++ b/drivers/nvdimm/pfn_devs.c
@@ -439,6 +439,9 @@ int nd_pfn_validate(struct nd_pfn *nd_pfn, const char *sig)
if (nvdimm_read_bytes(ndns, SZ_4K, pfn_sb, sizeof(*pfn_sb), 0))
return -ENXIO;
+ if (le16_to_cpu(pfn_sb->min_version > PFN_MIN_VERSION))
+ return -EOPNOTSUPP;
+
if (memcmp(pfn_sb->signature, sig, PFN_SIG_LEN) != 0)
return -ENODEV;
@@ -769,6 +772,7 @@ static int nd_pfn_init(struct nd_pfn *nd_pfn)
memcpy(pfn_sb->parent_uuid, nd_dev_to_uuid(&ndns->dev), 16);
pfn_sb->version_major = cpu_to_le16(1);
pfn_sb->version_minor = cpu_to_le16(2);
+ pfn_sb->min_version = cpu_to_le16(PFN_MIN_VERSION);
pfn_sb->start_pad = cpu_to_le32(start_pad);
pfn_sb->end_trunc = cpu_to_le32(end_trunc);
pfn_sb->align = cpu_to_le32(nd_pfn->align);
diff --git a/drivers/nvdimm/pmem.c b/drivers/nvdimm/pmem.c
index 845c5b430cdd..406427c064d9 100644
--- a/drivers/nvdimm/pmem.c
+++ b/drivers/nvdimm/pmem.c
@@ -490,6 +490,7 @@ static int pmem_attach_disk(struct device *dev,
static int nd_pmem_probe(struct device *dev)
{
+ int ret;
struct nd_namespace_common *ndns;
ndns = nvdimm_namespace_common_probe(dev);
@@ -505,12 +506,29 @@ static int nd_pmem_probe(struct device *dev)
if (is_nd_pfn(dev))
return pmem_attach_disk(dev, ndns);
- /* if we find a valid info-block we'll come back as that personality */
- if (nd_btt_probe(dev, ndns) == 0 || nd_pfn_probe(dev, ndns) == 0
- || nd_dax_probe(dev, ndns) == 0)
+ ret = nd_btt_probe(dev, ndns);
+ if (ret == 0)
return -ENXIO;
+ else if (ret == -EOPNOTSUPP)
+ return ret;
- /* ...otherwise we're just a raw pmem device */
+ ret = nd_pfn_probe(dev, ndns);
+ if (ret == 0)
+ return -ENXIO;
+ else if (ret == -EOPNOTSUPP)
+ return ret;
+
+ ret = nd_dax_probe(dev, ndns);
+ if (ret == 0)
+ return -ENXIO;
+ else if (ret == -EOPNOTSUPP)
+ return ret;
+ /*
+ * We have two failure conditions here, there is no
+ * info reserver block or we found a valid info reserve block
+ * but failed to initialize the pfn superblock.
+ * Don't create a raw pmem disk for the second case.
+ */
return pmem_attach_disk(dev, ndns);
}
--
2.21.0
^ permalink raw reply related
* [RFC PATCH 2/3] mm/nvdimm: Add page size and struct page size to pfn superblock
From: Aneesh Kumar K.V @ 2019-05-22 6:20 UTC (permalink / raw)
To: dan.j.williams; +Cc: linux-mm, linuxppc-dev, Aneesh Kumar K.V, linux-nvdimm
In-Reply-To: <20190522062057.26581-1-aneesh.kumar@linux.ibm.com>
This is needed so that we don't wrongly initialize a namespace
which doesn't have enough space reserved for holding struct pages
with the current kernel.
We also increment PFN_MIN_VERSION to make sure that older kernel
won't initialize namespace created with newer kernel.
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
---
drivers/nvdimm/pfn.h | 9 ++++++---
drivers/nvdimm/pfn_devs.c | 19 ++++++++++++++++++-
2 files changed, 24 insertions(+), 4 deletions(-)
diff --git a/drivers/nvdimm/pfn.h b/drivers/nvdimm/pfn.h
index 1b10ae5773b6..ba11738ca8a2 100644
--- a/drivers/nvdimm/pfn.h
+++ b/drivers/nvdimm/pfn.h
@@ -25,7 +25,7 @@
* kernel should fail to initialize that namespace.
*/
-#define PFN_MIN_VERSION 0
+#define PFN_MIN_VERSION 1
struct nd_pfn_sb {
u8 signature[PFN_SIG_LEN];
@@ -42,8 +42,11 @@ struct nd_pfn_sb {
__le32 end_trunc;
/* minor-version-2 record the base alignment of the mapping */
__le32 align;
- __le16 min_verison;
- u8 padding[3998];
+ __le16 min_version;
+ /* minor-version-3 record the page size and struct page size */
+ __le16 page_struct_size;
+ __le32 page_size;
+ u8 padding[3992];
__le64 checksum;
};
diff --git a/drivers/nvdimm/pfn_devs.c b/drivers/nvdimm/pfn_devs.c
index 3250de70a7b3..94918a4e6e73 100644
--- a/drivers/nvdimm/pfn_devs.c
+++ b/drivers/nvdimm/pfn_devs.c
@@ -462,6 +462,15 @@ int nd_pfn_validate(struct nd_pfn *nd_pfn, const char *sig)
if (__le16_to_cpu(pfn_sb->version_minor) < 2)
pfn_sb->align = 0;
+ if (__le16_to_cpu(pfn_sb->version_minor) < 3) {
+ /*
+ * For a large part we use PAGE_SIZE. But we
+ * do have some accounting code using SZ_4K.
+ */
+ pfn_sb->page_struct_size = cpu_to_le16(64);
+ pfn_sb->page_size = cpu_to_le32(SZ_4K);
+ }
+
switch (le32_to_cpu(pfn_sb->mode)) {
case PFN_MODE_RAM:
case PFN_MODE_PMEM:
@@ -477,6 +486,12 @@ int nd_pfn_validate(struct nd_pfn *nd_pfn, const char *sig)
align = 1UL << ilog2(offset);
mode = le32_to_cpu(pfn_sb->mode);
+ if (le32_to_cpu(pfn_sb->page_size) != PAGE_SIZE)
+ return -EOPNOTSUPP;
+
+ if (le16_to_cpu(pfn_sb->page_struct_size) != sizeof(struct page))
+ return -EOPNOTSUPP;
+
if (!nd_pfn->uuid) {
/*
* When probing a namepace via nd_pfn_probe() the uuid
@@ -771,11 +786,13 @@ static int nd_pfn_init(struct nd_pfn *nd_pfn)
memcpy(pfn_sb->uuid, nd_pfn->uuid, 16);
memcpy(pfn_sb->parent_uuid, nd_dev_to_uuid(&ndns->dev), 16);
pfn_sb->version_major = cpu_to_le16(1);
- pfn_sb->version_minor = cpu_to_le16(2);
+ pfn_sb->version_minor = cpu_to_le16(3);
pfn_sb->min_version = cpu_to_le16(PFN_MIN_VERSION);
pfn_sb->start_pad = cpu_to_le32(start_pad);
pfn_sb->end_trunc = cpu_to_le32(end_trunc);
pfn_sb->align = cpu_to_le32(nd_pfn->align);
+ pfn_sb->page_struct_size = cpu_to_le16(sizeof(struct page));
+ pfn_sb->page_size = cpu_to_le32(PAGE_SIZE);
checksum = nd_sb_checksum((struct nd_gen_sb *) pfn_sb);
pfn_sb->checksum = cpu_to_le64(checksum);
--
2.21.0
^ permalink raw reply related
* [RFC PATCH 3/3] mm/nvdimm: Use correct #defines instead of opencoding
From: Aneesh Kumar K.V @ 2019-05-22 6:20 UTC (permalink / raw)
To: dan.j.williams; +Cc: linux-mm, linuxppc-dev, Aneesh Kumar K.V, linux-nvdimm
In-Reply-To: <20190522062057.26581-1-aneesh.kumar@linux.ibm.com>
The nfpn related change is needed to fix the kernel message
"number of pfns truncated from 2617344 to 163584"
The change makes sure the nfpns stored in the superblock is right value.
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
---
drivers/nvdimm/label.c | 2 +-
drivers/nvdimm/pfn_devs.c | 6 +++---
drivers/nvdimm/region_devs.c | 8 ++++----
3 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/drivers/nvdimm/label.c b/drivers/nvdimm/label.c
index f3d753d3169c..bc6de8fb0153 100644
--- a/drivers/nvdimm/label.c
+++ b/drivers/nvdimm/label.c
@@ -361,7 +361,7 @@ static bool slot_valid(struct nvdimm_drvdata *ndd,
/* check that DPA allocations are page aligned */
if ((__le64_to_cpu(nd_label->dpa)
- | __le64_to_cpu(nd_label->rawsize)) % SZ_4K)
+ | __le64_to_cpu(nd_label->rawsize)) % PAGE_SIZE)
return false;
/* check checksum */
diff --git a/drivers/nvdimm/pfn_devs.c b/drivers/nvdimm/pfn_devs.c
index 94918a4e6e73..f549bddc680c 100644
--- a/drivers/nvdimm/pfn_devs.c
+++ b/drivers/nvdimm/pfn_devs.c
@@ -765,8 +765,8 @@ static int nd_pfn_init(struct nd_pfn *nd_pfn)
* when populating the vmemmap. This *should* be equal to
* PMD_SIZE for most architectures.
*/
- offset = ALIGN(start + reserve + 64 * npfns,
- max(nd_pfn->align, PMD_SIZE)) - start;
+ offset = ALIGN(start + reserve + sizeof(struct page) * npfns,
+ max(nd_pfn->align, PMD_SIZE)) - start;
} else if (nd_pfn->mode == PFN_MODE_RAM)
offset = ALIGN(start + reserve, nd_pfn->align) - start;
else
@@ -778,7 +778,7 @@ static int nd_pfn_init(struct nd_pfn *nd_pfn)
return -ENXIO;
}
- npfns = (size - offset - start_pad - end_trunc) / SZ_4K;
+ npfns = (size - offset - start_pad - end_trunc) / PAGE_SIZE;
pfn_sb->mode = cpu_to_le32(nd_pfn->mode);
pfn_sb->dataoff = cpu_to_le64(offset);
pfn_sb->npfns = cpu_to_le64(npfns);
diff --git a/drivers/nvdimm/region_devs.c b/drivers/nvdimm/region_devs.c
index b4ef7d9ff22e..2d8facea5a03 100644
--- a/drivers/nvdimm/region_devs.c
+++ b/drivers/nvdimm/region_devs.c
@@ -994,10 +994,10 @@ static struct nd_region *nd_region_create(struct nvdimm_bus *nvdimm_bus,
struct nd_mapping_desc *mapping = &ndr_desc->mapping[i];
struct nvdimm *nvdimm = mapping->nvdimm;
- if ((mapping->start | mapping->size) % SZ_4K) {
- dev_err(&nvdimm_bus->dev, "%s: %s mapping%d is not 4K aligned\n",
- caller, dev_name(&nvdimm->dev), i);
-
+ if ((mapping->start | mapping->size) % PAGE_SIZE) {
+ dev_err(&nvdimm_bus->dev,
+ "%s: %s mapping%d is not 4K aligned\n",
+ caller, dev_name(&nvdimm->dev), i);
return NULL;
}
--
2.21.0
^ permalink raw reply related
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox