[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-commits] [qemu/qemu] f3a8bd: util/path: Do not cache all filenames
From: |
Peter Maydell |
Subject: |
[Qemu-commits] [qemu/qemu] f3a8bd: util/path: Do not cache all filenames at startup |
Date: |
Mon, 01 Jul 2019 08:58:56 -0700 |
Branch: refs/heads/master
Home: https://github.com/qemu/qemu
Commit: f3a8bdc1d5b260d31422edd46360ff849dfbcc93
https://github.com/qemu/qemu/commit/f3a8bdc1d5b260d31422edd46360ff849dfbcc93
Author: Richard Henderson <address@hidden>
Date: 2019-06-24 (Mon, 24 Jun 2019)
Changed paths:
M util/path.c
Log Message:
-----------
util/path: Do not cache all filenames at startup
If one uses -L $PATH to point to a full chroot, the startup time
is significant. In addition, the existing probing algorithm fails
to handle symlink loops.
Instead, probe individual paths on demand. Cache both positive
and negative results within $PATH, so that any one filename is
probed only once.
Use glib filename functions for clarity.
Signed-off-by: Richard Henderson <address@hidden>
Reviewed-by: Laurent Vivier <address@hidden>
Tested-by: Laurent Vivier <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Laurent Vivier <address@hidden>
Commit: 524fa3408ed745a2fed0642fb0d92c934d10ff64
https://github.com/qemu/qemu/commit/524fa3408ed745a2fed0642fb0d92c934d10ff64
Author: Laurent Vivier <address@hidden>
Date: 2019-06-24 (Mon, 24 Jun 2019)
Changed paths:
M linux-user/syscall.c
M linux-user/syscall_defs.h
Log Message:
-----------
linux-user: emulate msgsnd(), msgrcv() and semtimedop()
When we have updated kernel headers to 5.2-rc1 we have introduced
new syscall numbers that can be not supported by older kernels
and fail with ENOSYS while the guest emulation succeeded before
because the syscalls were emulated with ipc().
This patch fixes the problem by using ipc() if the new syscall
returns ENOSYS.
Fixes: 86e636951ddc ("linux-user: fix __NR_semtimedop undeclared error")
Signed-off-by: Laurent Vivier <address@hidden>
Reviewed-by: Cornelia Huck <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Laurent Vivier <address@hidden>
Commit: f31dddd2fc0a9cd40cdb9203662f75a785220268
https://github.com/qemu/qemu/commit/f31dddd2fc0a9cd40cdb9203662f75a785220268
Author: Yunqiang Su <address@hidden>
Date: 2019-06-24 (Mon, 24 Jun 2019)
Changed paths:
M linux-user/syscall.c
Log Message:
-----------
linux-user: Add support for setsockopt() option SOL_ALG
Add support for options SOL_ALG of the syscall setsockopt(). This
option is used in relation to Linux kernel Crypto API, and allows
a user to set additional information for the cipher operation via
syscall setsockopt(). The field "optname" must be one of the
following:
- ALG_SET_KEY – seting the key
- ALG_SET_AEAD_AUTHSIZE – set the authentication tag size
SOL_ALG is relatively newer setsockopt() option. Therefore, the
code that handles SOL_ALG is enclosed in "ifdef" so that the build
does not fail for older kernels that do not contain support for
SOL_ALG. "ifdef" also contains check if ALG_SET_KEY and
ALG_SET_AEAD_AUTHSIZE are defined.
Signed-off-by: Yunqiang Su <address@hidden>
Signed-off-by: Aleksandar Markovic <address@hidden>
Reviewed-by: Laurent Vivier <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Laurent Vivier <address@hidden>
Commit: 22bf4ee9039be1df0febdb1b27e14b72acc6321b
https://github.com/qemu/qemu/commit/22bf4ee9039be1df0febdb1b27e14b72acc6321b
Author: Neng Chen <address@hidden>
Date: 2019-06-24 (Mon, 24 Jun 2019)
Changed paths:
M linux-user/syscall.c
Log Message:
-----------
linux-user: Add support for setsockopt() options IPV6_<ADD|DROP>_MEMBERSHIP
Add support for the option IPV6_<ADD|DROP>_MEMBERSHIP of the syscall
setsockopt(). This option controls membership in multicast groups.
Argument is a pointer to a struct ipv6_mreq.
The glibc <netinet/in.h> header defines the ipv6_mreq structure,
which includes the following members:
struct in6_addr ipv6mr_multiaddr;
unsigned int ipv6mr_interface;
Whereas the kernel in its <linux/in6.h> header defines following
members of the same structure:
struct in6_addr ipv6mr_multiaddr;
int ipv6mr_ifindex;
POSIX defines ipv6mr_interface [1].
__UAPI_DEF_IVP6_MREQ appears in kernel headers with v3.12:
cfd280c91253 net: sync some IP headers with glibc
Without __UAPI_DEF_IVP6_MREQ, kernel defines ipv6mr_ifindex, and
this is explained in cfd280c91253:
"If you include the kernel headers first you get those,
and if you include the glibc headers first you get those,
and the following patch arranges a coordination and
synchronization between the two."
So before 3.12, a program can't include both <netinet/in.h> and
<linux/in6.h>.
In linux-user/syscall.c, we only include <netinet/in.h> (glibc) and
not <linux/in6.h> (kernel headers), so ipv6mr_interface is the one
to use.
[1] http://pubs.opengroup.org/onlinepubs/009695399/basedefs/netinet/in.h.html
Signed-off-by: Neng Chen <address@hidden>
Signed-off-by: Aleksandar Markovic <address@hidden>
Reviewed-by: Laurent Vivier <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Laurent Vivier <address@hidden>
Commit: 24c373ec59f79a1cc32fc260e71b5b37efc99dd7
https://github.com/qemu/qemu/commit/24c373ec59f79a1cc32fc260e71b5b37efc99dd7
Author: Laurent Vivier <address@hidden>
Date: 2019-06-24 (Mon, 24 Jun 2019)
Changed paths:
M linux-user/elfload.c
Log Message:
-----------
linux-user: update PPC64 HWCAP2 feature list
QEMU_PPC_FEATURE2_VEC_CRYPTO enables the use
of VSX instructions in libcrypto that are accelerated
by the TCG vector instructions now.
QEMU_PPC_FEATURE2_DARN allows to use the new builtin
qemu_guest_getrandom() function.
Signed-off-by: Laurent Vivier <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Laurent Vivier <address@hidden>
Commit: b50d1e42a4a7dc746ecd42c34c386d81a997759c
https://github.com/qemu/qemu/commit/b50d1e42a4a7dc746ecd42c34c386d81a997759c
Author: Laurent Vivier <address@hidden>
Date: 2019-06-24 (Mon, 24 Jun 2019)
Changed paths:
M linux-user/ppc/target_elf.h
Log Message:
-----------
linux-user: set default PPC64 CPU
The default CPU for pseries has been set to POWER9 by default.
We can use the same default for linux-user
Signed-off-by: Laurent Vivier <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Laurent Vivier <address@hidden>
Commit: ae9108f8f0746ce64d02afb1a216153a50926132
https://github.com/qemu/qemu/commit/ae9108f8f0746ce64d02afb1a216153a50926132
Author: Peter Maydell <address@hidden>
Date: 2019-07-01 (Mon, 01 Jul 2019)
Changed paths:
M linux-user/elfload.c
M linux-user/ppc/target_elf.h
M linux-user/syscall.c
M linux-user/syscall_defs.h
M util/path.c
Log Message:
-----------
Merge remote-tracking branch
'remotes/vivier2/tags/linux-user-for-4.1-pull-request' into staging
Update ppc64 feature and default CPU
next setsockops() options
Improve "-L" option
Another fix for 5.2-rc1 headers
# gpg: Signature made Wed 26 Jun 2019 13:11:04 BST
# gpg: using RSA key CD2F75DDC8E3A4DC2E4F5173F30C38BD3F2FBE3C
# gpg: issuer "address@hidden"
# gpg: Good signature from "Laurent Vivier <address@hidden>" [full]
# gpg: aka "Laurent Vivier <address@hidden>" [full]
# gpg: aka "Laurent Vivier (Red Hat) <address@hidden>" [full]
# Primary key fingerprint: CD2F 75DD C8E3 A4DC 2E4F 5173 F30C 38BD 3F2F BE3C
* remotes/vivier2/tags/linux-user-for-4.1-pull-request:
linux-user: set default PPC64 CPU
linux-user: update PPC64 HWCAP2 feature list
linux-user: Add support for setsockopt() options IPV6_<ADD|DROP>_MEMBERSHIP
linux-user: Add support for setsockopt() option SOL_ALG
linux-user: emulate msgsnd(), msgrcv() and semtimedop()
util/path: Do not cache all filenames at startup
Signed-off-by: Peter Maydell <address@hidden>
Compare: https://github.com/qemu/qemu/compare/8351ef7aa92d...ae9108f8f074
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemu-commits] [qemu/qemu] f3a8bd: util/path: Do not cache all filenames at startup,
Peter Maydell <=