mirror of
https://github.com/systemd/systemd
synced 2026-03-15 01:24:51 +01:00
Compare commits
3 Commits
4afd7808fe
...
b0b2a71d81
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b0b2a71d81 | ||
|
|
eb2e91b981 | ||
|
|
2e14be9a84 |
@ -36,7 +36,7 @@ _systemd_vmspawn() {
|
||||
[BIND]='--bind --bind-ro'
|
||||
[SSH_KEY]='--ssh-key'
|
||||
[CONSOLE]='--console'
|
||||
[ARG]='--cpus --ram --vsock-cid -M --machine --uuid--private-users --background --set-credential --load-credential'
|
||||
[ARG]='--cpus --ram --vsock-cid -M --machine --uuid --private-users --background --set-credential --load-credential'
|
||||
)
|
||||
|
||||
_init_completion || return
|
||||
@ -56,6 +56,8 @@ _systemd_vmspawn() {
|
||||
comps='dsa ecdsa ecdsa-sk ed25519 ed25519-sk rsa'
|
||||
elif __contains_word "$prev" ${OPTS[CONSOLE]}; then
|
||||
comps='interactive native gui'
|
||||
elif __contains_word "$prev" ${OPTS[IMAGE_FORMAT]}; then
|
||||
comps='raw qcow2'
|
||||
elif __contains_word "$prev" ${OPTS[ARG]}; then
|
||||
comps=''
|
||||
else
|
||||
|
||||
@ -38,7 +38,7 @@
|
||||
/* The structure to pass to name_to_handle_at() on cgroupfs2 */
|
||||
typedef union {
|
||||
struct file_handle file_handle;
|
||||
uint8_t space[offsetof(struct file_handle, f_handle) + sizeof(uint64_t)];
|
||||
uint8_t space[MAX_HANDLE_SZ];
|
||||
} cg_file_handle;
|
||||
|
||||
#define CG_FILE_HANDLE_INIT \
|
||||
|
||||
@ -239,7 +239,7 @@ int pidfd_get_inode_id_impl(int fd, uint64_t *ret) {
|
||||
if (file_handle_supported) {
|
||||
union {
|
||||
struct file_handle file_handle;
|
||||
uint8_t space[offsetof(struct file_handle, f_handle) + sizeof(uint64_t)];
|
||||
uint8_t space[MAX_HANDLE_SZ];
|
||||
} fh = {
|
||||
.file_handle.handle_bytes = sizeof(uint64_t),
|
||||
.file_handle.handle_type = FILEID_KERNFS,
|
||||
|
||||
@ -739,13 +739,15 @@ int tar_x(int input_fd, int tree_fd, TarFlags flags) {
|
||||
ar = sym_archive_read_next_header(a, &entry);
|
||||
if (ar == ARCHIVE_EOF)
|
||||
break;
|
||||
if (ar != ARCHIVE_OK)
|
||||
if (!IN_SET(ar, ARCHIVE_OK, ARCHIVE_WARN))
|
||||
return log_error_errno(SYNTHETIC_ERRNO(EBADMSG), "Failed to parse archive: %s", sym_archive_error_string(a));
|
||||
|
||||
const char *p = NULL;
|
||||
r = archive_entry_pathname_safe(entry, &p);
|
||||
if (r < 0)
|
||||
return log_error_errno(r, "Invalid path name in entry, refusing.");
|
||||
if (ar == ARCHIVE_WARN)
|
||||
log_warning("Non-critical error found while parsing '%s' from the archive, ignoring: %s", p ?: ".", sym_archive_error_string(a));
|
||||
|
||||
if (!p) {
|
||||
/* This is the root inode */
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user