1
0
mirror of https://github.com/systemd/systemd synced 2026-03-15 09:34:47 +01:00

Compare commits

..

No commits in common. "b0b2a71d8114812177f27f3574fd0ed99b8b03e8" and "4afd7808feba81af8b9ba2b24d0dbb1c27d13e0d" have entirely different histories.

4 changed files with 4 additions and 8 deletions

View File

@ -36,7 +36,7 @@ _systemd_vmspawn() {
[BIND]='--bind --bind-ro' [BIND]='--bind --bind-ro'
[SSH_KEY]='--ssh-key' [SSH_KEY]='--ssh-key'
[CONSOLE]='--console' [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 _init_completion || return
@ -56,8 +56,6 @@ _systemd_vmspawn() {
comps='dsa ecdsa ecdsa-sk ed25519 ed25519-sk rsa' comps='dsa ecdsa ecdsa-sk ed25519 ed25519-sk rsa'
elif __contains_word "$prev" ${OPTS[CONSOLE]}; then elif __contains_word "$prev" ${OPTS[CONSOLE]}; then
comps='interactive native gui' comps='interactive native gui'
elif __contains_word "$prev" ${OPTS[IMAGE_FORMAT]}; then
comps='raw qcow2'
elif __contains_word "$prev" ${OPTS[ARG]}; then elif __contains_word "$prev" ${OPTS[ARG]}; then
comps='' comps=''
else else

View File

@ -38,7 +38,7 @@
/* The structure to pass to name_to_handle_at() on cgroupfs2 */ /* The structure to pass to name_to_handle_at() on cgroupfs2 */
typedef union { typedef union {
struct file_handle file_handle; struct file_handle file_handle;
uint8_t space[MAX_HANDLE_SZ]; uint8_t space[offsetof(struct file_handle, f_handle) + sizeof(uint64_t)];
} cg_file_handle; } cg_file_handle;
#define CG_FILE_HANDLE_INIT \ #define CG_FILE_HANDLE_INIT \

View File

@ -239,7 +239,7 @@ int pidfd_get_inode_id_impl(int fd, uint64_t *ret) {
if (file_handle_supported) { if (file_handle_supported) {
union { union {
struct file_handle file_handle; struct file_handle file_handle;
uint8_t space[MAX_HANDLE_SZ]; uint8_t space[offsetof(struct file_handle, f_handle) + sizeof(uint64_t)];
} fh = { } fh = {
.file_handle.handle_bytes = sizeof(uint64_t), .file_handle.handle_bytes = sizeof(uint64_t),
.file_handle.handle_type = FILEID_KERNFS, .file_handle.handle_type = FILEID_KERNFS,

View File

@ -739,15 +739,13 @@ int tar_x(int input_fd, int tree_fd, TarFlags flags) {
ar = sym_archive_read_next_header(a, &entry); ar = sym_archive_read_next_header(a, &entry);
if (ar == ARCHIVE_EOF) if (ar == ARCHIVE_EOF)
break; break;
if (!IN_SET(ar, ARCHIVE_OK, ARCHIVE_WARN)) if (ar != ARCHIVE_OK)
return log_error_errno(SYNTHETIC_ERRNO(EBADMSG), "Failed to parse archive: %s", sym_archive_error_string(a)); return log_error_errno(SYNTHETIC_ERRNO(EBADMSG), "Failed to parse archive: %s", sym_archive_error_string(a));
const char *p = NULL; const char *p = NULL;
r = archive_entry_pathname_safe(entry, &p); r = archive_entry_pathname_safe(entry, &p);
if (r < 0) if (r < 0)
return log_error_errno(r, "Invalid path name in entry, refusing."); 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) { if (!p) {
/* This is the root inode */ /* This is the root inode */