==> Synchronizing chroot copy [/home/alhp/workspace/chroot/root] -> [build_8aa9fdd7-01a6-45e5-8210-5b43e625e418]...done
==> Making package: smolvm 1.22.1-1.1 (Fri Oct  2 01:57:25 2026)
==> Retrieving sources...
  -> Cloning smolvm git repo...
Cloning into bare repository '/home/alhp/workspace/build/x86-64-v4/smolvm-1.22.1-1/smolvm'...
  -> Cloning libkrun git repo...
Cloning into bare repository '/home/alhp/workspace/build/x86-64-v4/smolvm-1.22.1-1/libkrun'...
  -> Cloning libkrunfw git repo...
Cloning into bare repository '/home/alhp/workspace/build/x86-64-v4/smolvm-1.22.1-1/libkrunfw'...
  -> Cloning smolvm-sdk git repo...
Cloning into bare repository '/home/alhp/workspace/build/x86-64-v4/smolvm-1.22.1-1/smolvm-sdk'...
  -> Found smolvm-build-fixes.patch
==> Validating source files with sha256sums...
    smolvm ... Passed
    libkrun ... Skipped
    libkrunfw ... Skipped
    smolvm-sdk ... Skipped
    smolvm-build-fixes.patch ... Passed
Note: in a future version of systemd-nspawn the default set of permitted socket address families will be restricted to AF_INET, AF_INET6 and AF_UNIX. Use --restrict-address-families= to configure the set of permitted socket address families, or set RestrictAddressFamilies= in a .nspawn file.
==> Making package: smolvm 1.22.1-1.1 (Thu Oct  1 23:57:52 2026)
==> Checking runtime dependencies...
==> Installing missing dependencies...
resolving dependencies...
looking for conflicting packages...

Package (23)           New Version   Net Change

extra/abseil-cpp       20260817.0-2    7.15 MiB
extra/criu             4.2.1-1         2.92 MiB
extra/gtest            1.18.0-1        1.67 MiB
extra/hwloc            2.14.0-1        1.71 MiB
extra/libblake3        1.8.7-1         0.11 MiB
core/libbpf            1.7.0-1         0.82 MiB
extra/libbsd           0.12.2-2        0.33 MiB
extra/libdrm           2.4.134-1       1.28 MiB
extra/libmd            1.2.0-1         0.13 MiB
core/libmnl            1.0.5-2         0.03 MiB
extra/libnet           2:1.3-2         1.47 MiB
core/libnftnl          1.3.2-1         0.26 MiB
core/libnl             3.12.0-1        2.12 MiB
extra/libpciaccess     0.19-1          0.06 MiB
extra/nftables         1:1.1.7-3       1.15 MiB
extra/onetbb           2023.1.0-1      2.01 MiB
extra/protobuf         36.1-1         18.89 MiB
extra/protobuf-c       1.5.2-15        0.41 MiB
extra/python-protobuf  36.1-1          3.77 MiB
extra/crun             1.30.1-1        0.81 MiB
extra/jq               1.8.2-1         0.47 MiB
extra/oniguruma        6.9.10-1        0.88 MiB
extra/seatd            0.9.3-1         0.11 MiB

Total Installed Size:  48.55 MiB

:: Proceed with installation? [Y/n] 
checking keyring...
checking package integrity...
loading package files...
checking for file conflicts...
:: Processing package changes...
installing seatd...
installing libbpf...
installing libmd...
installing libbsd...
installing libpciaccess...
installing libdrm...
Optional dependencies for libdrm
    cairo: needed for modetest tool
installing libnet...
installing libnl...
installing libmnl...
installing libnftnl...
installing nftables...
Optional dependencies for nftables
    python: Python bindings [installed]
    python-jsonschema: Python bindings
installing gtest...
Optional dependencies for gtest
    python: gmock generator [installed]
installing abseil-cpp...
installing protobuf...
installing protobuf-c...
installing python-protobuf...
installing criu...
installing hwloc...
Optional dependencies for hwloc
    cairo: PDF, Postscript, and PNG export support
    libxml2: full XML import/export support [installed]
installing onetbb...
Optional dependencies for onetbb
    python: for Python module [installed]
installing libblake3...
installing crun...
installing oniguruma...
installing jq...
:: Running post-transaction hooks...
(1/3) Creating system user accounts...
Creating group 'seat' with GID 969.
(2/3) Reloading system manager configuration...
  Skipped: Current root is not booted.
(3/3) Arming ConditionNeedsUpdate...
==> Checking buildtime dependencies...
==> Installing missing dependencies...
resolving dependencies...
looking for conflicting packages...

Package (37)             New Version     Net Change

extra/compiler-rt        23.1.1-1         56.75 MiB
extra/default-cursors    3-1               0.00 MiB
core/libedit             20260512_3.1-1    0.27 MiB
extra/libgit2            1:1.9.7-1         3.16 MiB
extra/libglvnd           1.7.0-3           3.34 MiB
extra/libva              2.24.1-1          1.00 MiB
extra/libx11             1.8.13-1          9.78 MiB
extra/libxau             1.0.12-1          0.02 MiB
extra/libxcb             1.17.0-1          3.87 MiB
extra/libxdmcp           1.1.5-2           0.13 MiB
extra/libxext            1.3.7-1           0.30 MiB
extra/libxfixes          6.0.2-1           0.04 MiB
extra/libxshmfence       1.3.3-1           0.02 MiB
extra/libxxf86vm         1.1.7-1           0.03 MiB
extra/llhttp             9.3.1-1           0.11 MiB
extra/llvm-libs          23.1.1-1        164.81 MiB
extra/lm_sensors         1:3.6.2-1         0.48 MiB
extra/mesa               1:26.2.3-2       53.85 MiB
extra/perl-error         0.17030-3         0.04 MiB
extra/perl-mailtools     2.22-3            0.10 MiB
extra/perl-timedate      2.35-1            0.15 MiB
extra/spirv-tools        1:1.4.357.0-1     8.08 MiB
extra/wayland            1.26.0-1          0.86 MiB
extra/xcb-proto          1.17.0-4          1.03 MiB
extra/xorgproto          2025.1-1          1.47 MiB
extra/zlib-ng            2.3.3-1           0.28 MiB
extra/bc                 1.08.2-1          0.17 MiB
extra/cargo-make         0.37.24-2        16.40 MiB
extra/clang              23.1.1-1        268.68 MiB
extra/git                2.56.0-1         33.54 MiB
extra/libepoxy           1.5.10-3          2.64 MiB
extra/lld                23.1.1-1          7.27 MiB
extra/musl               1.2.6-2           4.31 MiB
extra/python-pyelftools  0.33-1            2.57 MiB
extra/rust               1:1.98.1-2      302.59 MiB
extra/rust-musl          1:1.98.1-2      139.88 MiB
extra/virglrenderer      1.3.0-2           1.45 MiB

Total Installed Size:  1089.45 MiB

:: Proceed with installation? [Y/n] 
checking keyring...
checking package integrity...
loading package files...
checking for file conflicts...
:: Processing package changes...
installing perl-error...
installing perl-timedate...
installing perl-mailtools...
installing zlib-ng...
installing git...
Optional dependencies for git
    git-zsh-completion: upstream zsh completion
    tk: gitk and git gui
    openssh: ssh transport and crypto
    man: show help with `git command --help`
    perl-libwww: git svn
    perl-term-readkey: git svn and interactive.singlekey setting
    perl-io-socket-ssl: git send-email TLS support
    perl-authen-sasl: git send-email TLS support
    perl-cgi: gitweb (web interface) support
    python: git svn & git p4 [installed]
    subversion: git svn
    org.freedesktop.secrets: keyring credential helper
    libsecret: libsecret credential helper [installed]
    less: the default pager for git
installing compiler-rt...
installing libedit...
installing llvm-libs...
installing lld...
installing llhttp...
installing libgit2...
installing rust...
Optional dependencies for rust
    gdb: rust-gdb script [installed]
    lldb: rust-lldb script
installing musl...
installing rust-musl...
installing cargo-make...
installing bc...
installing python-pyelftools...
installing xcb-proto...
installing xorgproto...
installing libxdmcp...
installing libxau...
installing libxcb...
installing libx11...
installing libxext...
installing libxshmfence...
installing libxxf86vm...
installing lm_sensors...
Optional dependencies for lm_sensors
    rrdtool: for logging with sensord
    perl: for sensor detection and configuration convert [installed]
installing spirv-tools...
installing default-cursors...
Optional dependencies for default-cursors
    adwaita-cursors: default cursor theme
installing wayland...
installing mesa...
Optional dependencies for mesa
    opengl-man-pages: for the OpenGL API man pages
installing libglvnd...
installing libepoxy...
installing libxfixes...
installing libva...
Optional dependencies for libva
    intel-media-driver: backend for Intel GPUs (>= Broadwell)
    libva-intel-driver: backend for Intel GPUs (<= Haswell)
    libva-mesa-driver: backend for AMD and NVIDIA GPUs [installed]
installing virglrenderer...
installing clang...
Optional dependencies for clang
    openmp: OpenMP support in clang with -fopenmp
    python: for scan-view and git-clang-format [installed]
    llvm: referenced by some clang headers
:: Running post-transaction hooks...
(1/4) Creating system user accounts...
Creating group 'git' with GID 968.
Creating user 'git' (git daemon user) with UID 968 and GID 968.
(2/4) Reloading system manager configuration...
  Skipped: Current root is not booted.
(3/4) Arming ConditionNeedsUpdate...
(4/4) Updating the info directory file...
==> Retrieving sources...
  -> Found smolvm-build-fixes.patch
==> WARNING: Skipping all source file integrity checks.
==> Extracting sources...
  -> Creating working copy of smolvm git repo...
Cloning into 'smolvm'...
done.
Switched to a new branch 'makepkg'
  -> Creating working copy of libkrun git repo...
Cloning into 'libkrun'...
done.
  -> Creating working copy of libkrunfw git repo...
Cloning into 'libkrunfw'...
done.
  -> Creating working copy of smolvm-sdk git repo...
Cloning into 'smolvm-sdk'...
done.
==> Starting prepare()...
Submodule 'libkrun' (git@github.com:smol-machines/libkrun.git) registered for path 'libkrun'
Submodule 'libkrunfw' (git@github.com:smol-machines/libkrunfw.git) registered for path 'libkrunfw'
Submodule 'smolvm-sdk' (git@github.com:smol-machines/smolvm-sdk.git) registered for path 'smolvm-sdk'
Cloning into '/startdir/src/smolvm/libkrun'...
done.
Cloning into '/startdir/src/smolvm/libkrunfw'...
done.
Cloning into '/startdir/src/smolvm/smolvm-sdk'...
done.
Submodule path 'libkrun': checked out '3285db7404144ed61faf0848bb424c0f82743f41'
Submodule path 'libkrunfw': checked out 'bfb229911374698399dcedcc92019287870759ab'
Submodule path 'smolvm-sdk': checked out '7eaafa4e4b6640864ef51a71fea7bb57901b4dd6'
patching file Makefile.toml
    Updating crates.io index
 Downloading crates ...
  Downloaded adler2 v2.0.1
  Downloaded crypto-common v0.1.7
  Downloaded unicase v2.9.0
  Downloaded axum-core v0.5.6
  Downloaded form_urlencoded v1.2.2
  Downloaded rust-embed-utils v8.11.0
  Downloaded version_check v0.9.5
  Downloaded cpufeatures v0.2.17
  Downloaded mime v0.3.17
  Downloaded potential_utf v0.1.5
  Downloaded httpdate v1.0.3
  Downloaded http-body v1.0.1
  Downloaded block-buffer v0.10.4
  Downloaded same-file v1.0.6
  Downloaded tower-layer v0.3.3
  Downloaded tower-service v0.3.3
  Downloaded try-lock v0.2.5
  Downloaded want v0.3.1
  Downloaded fnv v1.0.7
  Downloaded futures-core v0.3.32
  Downloaded futures-io v0.3.32
  Downloaded atomic-waker v1.1.2
  Downloaded sync_wrapper v1.0.2
  Downloaded defmt-parser v1.0.0
  Downloaded rust-embed-impl v8.11.0
  Downloaded serde_spanned v0.6.9
  Downloaded serde_urlencoded v0.7.1
  Downloaded matchers v0.2.0
  Downloaded futures-sink v0.3.32
  Downloaded futures-task v0.3.32
  Downloaded num_cpus v1.17.0
  Downloaded tracing-serde v0.2.0
  Downloaded equivalent v1.0.2
  Downloaded rustc-hash v2.1.2
  Downloaded deadpool-runtime v0.1.4
  Downloaded fallible-streaming-iterator v0.1.9
  Downloaded toml_write v0.1.2
  Downloaded assert-json-diff v2.0.2
  Downloaded proc-macro-error-attr2 v2.0.0
  Downloaded cfg_aliases v0.2.1
  Downloaded sketches-ddsketch v0.3.1
  Downloaded xattr v1.6.1
  Downloaded untrusted v0.9.0
  Downloaded option-ext v0.2.0
  Downloaded inotify-sys v0.1.7
  Downloaded dirs v5.0.1
  Downloaded dunce v1.0.5
  Downloaded hash32 v0.3.1
  Downloaded unty v0.0.4
  Downloaded managed v0.8.0
  Downloaded page_size v0.6.0
  Downloaded heck v0.5.0
  Downloaded bincode_derive v2.0.1
  Downloaded utoipa-axum v0.2.0
  Downloaded lru-slab v0.1.2
  Downloaded hex v0.4.3
  Downloaded rustc_version v0.4.1
  Downloaded enumflags2_derive v0.7.12
  Downloaded defmt v0.3.100
  Downloaded ipnet v2.12.0
  Downloaded tinyvec_macros v0.1.1
  Downloaded sha1 v0.10.6
  Downloaded litemap v0.8.2
  Downloaded subtle v2.6.1
  Downloaded num-conv v0.2.2
  Downloaded strsim v0.11.1
  Downloaded toml_datetime v0.6.11
  Downloaded rusticata-macros v4.1.0
  Downloaded futures-macro v0.3.32
  Downloaded slab v0.4.12
  Downloaded http-body-util v0.1.3
  Downloaded futures-executor v0.3.32
  Downloaded fallible-iterator v0.3.0
  Downloaded tokio-macros v2.7.0
  Downloaded rand_xoshiro v0.7.0
  Downloaded simd-adler32 v0.3.9
  Downloaded enumflags2 v0.7.12
  Downloaded errno v0.3.14
  Downloaded inotify v0.9.6
  Downloaded hashlink v0.9.1
  Downloaded yoke-derive v0.8.2
  Downloaded lazy_static v1.5.0
  Downloaded maybe-async v0.2.11
  Downloaded serde_path_to_error v0.1.20
  Downloaded paste v1.0.15
  Downloaded walkdir v2.5.0
  Downloaded rand_core v0.9.5
  Downloaded rand_chacha v0.9.0
  Downloaded async-trait v0.1.89
  Downloaded ppv-lite86 v0.2.21
  Downloaded home v0.5.12
  Downloaded digest v0.10.7
  Downloaded cmake v0.1.58
  Downloaded defmt-macros v1.1.0
  Downloaded thread_local v1.1.9
  Downloaded proc-macro-error2 v2.0.1
  Downloaded fs_extra v1.3.0
  Downloaded nu-ansi-term v0.50.3
  Downloaded dirs-sys v0.4.1
  Downloaded rustls-pemfile v2.2.0
  Downloaded futures-channel v0.3.32
  Downloaded memoffset v0.7.1
  Downloaded hyper-rustls v0.27.9
  Downloaded fastrand v2.4.1
  Downloaded pkg-config v0.3.33
  Downloaded icu_collections v2.2.0
  Downloaded clap_lex v1.1.0
  Downloaded anstyle-parse v1.0.0
  Downloaded thiserror-impl v2.0.18
  Downloaded displaydoc v0.2.6
  Downloaded data-encoding v2.11.0
  Downloaded async-stream v0.3.6
  Downloaded parking v2.2.1
  Downloaded event-listener-strategy v0.5.4
  Downloaded strum v0.27.2
  Downloaded ahash v0.8.12
  Downloaded crossbeam-epoch v0.9.20
  Downloaded vsock v0.5.4
  Downloaded generic-array v0.14.7
  Downloaded tracing-log v0.2.0
  Downloaded filetime v0.2.29
  Downloaded semver v1.0.28
  Downloaded byteorder v1.5.0
  Downloaded notify v6.1.1
  Downloaded tokio-tungstenite v0.29.0
  Downloaded quanta v0.12.6
  Downloaded sha2 v0.10.9
  Downloaded crc32fast v1.5.0
  Downloaded foldhash v0.1.5
  Downloaded virtue v0.0.18
  Downloaded clap_derive v4.6.1
  Downloaded prost-types v0.8.0
  Downloaded async-executor v1.14.0
  Downloaded humantime v2.3.0
  Downloaded twox-hash v1.6.3
  Downloaded httparse v1.10.1
  Downloaded metrics-exporter-prometheus v0.16.2
  Downloaded scopeguard v1.2.0
  Downloaded futures v0.3.32
  Downloaded powerfmt v0.2.0
  Downloaded percent-encoding v2.3.2
  Downloaded mime_guess v2.0.5
  Downloaded asn1-rs-impl v0.2.0
  Downloaded utf8parse v0.2.2
  Downloaded derive-new v0.5.9
  Downloaded axum-macros v0.5.1
  Downloaded thiserror v1.0.69
  Downloaded pem v3.0.6
  Downloaded rustls-pki-types v1.14.1
  Downloaded anyhow v1.0.102
  Downloaded metrics v0.24.6
  Downloaded tokio-rustls v0.26.4
  Downloaded deadpool v0.12.3
  Downloaded serde_yaml v0.9.34+deprecated
  Downloaded rustversion v1.0.22
  Downloaded utoipa-swagger-ui v9.0.2
  Downloaded zopfli v0.8.3
  Downloaded rapidhash v4.4.1
  Downloaded landlock v0.4.5
  Downloaded thiserror-impl v1.0.69
  Downloaded zeroize_derive v1.4.3
  Downloaded icu_normalizer v2.2.0
  Downloaded icu_normalizer_data v2.2.0
  Downloaded which v8.0.4
  Downloaded const_format_proc_macros v0.2.34
  Downloaded prost-derive v0.8.0
  Downloaded stable_deref_trait v1.2.1
  Downloaded metrics-util v0.19.1
  Downloaded clap v4.6.1
  Downloaded derive_builder_macro v0.20.2
  Downloaded getset v0.1.7
  Downloaded getrandom v0.2.17
  Downloaded defmt v1.1.0
  Downloaded toml_parser v1.1.2+spec-1.1.0
  Downloaded bitflags v1.3.2
  Downloaded futures-lite v2.6.1
  Downloaded parking_lot v0.12.5
  Downloaded shlex v2.0.1
  Downloaded autocfg v1.5.1
  Downloaded matchit v0.8.4
  Downloaded writeable v0.6.3
  Downloaded zerofrom-derive v0.1.7
  Downloaded which v4.4.2
  Downloaded miniz_oxide v0.8.9
  Downloaded zmij v1.0.21
  Downloaded containerd-shim-protos v0.11.0
  Downloaded webpki-roots v0.26.11
  Downloaded zbus_names v4.3.3
  Downloaded crossbeam-queue v0.3.12
  Downloaded async-stream-impl v0.3.6
  Downloaded smallvec v1.15.1
  Downloaded bit-vec v0.6.3
  Downloaded yoke v0.8.3
  Downloaded bincode v2.0.1
  Downloaded toml v0.8.23
  Downloaded tokio-stream v0.1.18
  Downloaded tinyvec v1.11.0
  Downloaded find-msvc-tools v0.1.9
  Downloaded quinn-udp v0.5.14
  Downloaded pin-project-lite v0.2.17
  Downloaded oid-registry v0.8.1
  Downloaded jobserver v0.1.34
  Downloaded itoa v1.0.18
  Downloaded axum-server v0.7.3
  Downloaded either v1.16.0
  Downloaded konst_macro_rules v0.2.19
  Downloaded anstyle-query v1.1.5
  Downloaded protobuf-support v3.7.2
  Downloaded unsafe-libyaml v0.2.11
  Downloaded flate2 v1.1.9
  Downloaded crossbeam-channel v0.5.15
  Downloaded libloading v0.8.9
  Downloaded tokio-vsock v0.7.2
  Downloaded crossbeam v0.8.4
  Downloaded endi v1.1.1
  Downloaded async-process v2.5.0
  Downloaded unicode-xid v0.2.6
  Downloaded async-signal v0.2.14
  Downloaded zvariant_derive v5.13.0
  Downloaded concurrent-queue v2.5.0
  Downloaded sharded-slab v0.1.7
  Downloaded asn1-rs-derive v0.6.0
  Downloaded proc-macro2 v1.0.106
  Downloaded indexmap v2.14.0
  Downloaded serde_derive v1.0.228
  Downloaded once_cell v1.21.4
  Downloaded deranged v0.5.8
  Downloaded derive_builder_core v0.20.2
  Downloaded colorchoice v1.0.5
  Downloaded heck v0.3.3
  Downloaded is_terminal_polyfill v1.70.2
  Downloaded zbus_macros v5.17.0
  Downloaded signal-hook-registry v1.4.8
  Downloaded static_assertions v1.1.0
  Downloaded darling_core v0.20.11
  Downloaded protobuf-codegen v3.7.2
  Downloaded anstyle v1.0.14
  Downloaded serde_core v1.0.228
  Downloaded proc-macro-crate v3.5.0
  Downloaded darling_macro v0.20.11
  Downloaded ryu v1.0.23
  Downloaded utoipa v5.5.0
  Downloaded zip v3.0.0
  Downloaded bumpalo v3.20.3
  Downloaded tungstenite v0.29.0
  Downloaded tar v0.4.46
  Downloaded tracing-core v0.1.36
  Downloaded time-core v0.1.8
  Downloaded utf8_iter v1.0.4
  Downloaded base64 v0.22.1
  Downloaded thiserror v2.0.18
  Downloaded hyper-util v0.1.20
  Downloaded http v1.4.2
  Downloaded piper v0.2.5
  Downloaded getrandom v0.4.2
  Downloaded tracing-attributes v0.1.31
  Downloaded icu_provider v2.2.0
  Downloaded fs-err v3.3.0
  Downloaded derive_builder v0.20.2
  Downloaded ordered-stream v0.2.0
  Downloaded ttrpc-codegen v0.6.0
  Downloaded serde_repr v0.1.20
  Downloaded getrandom v0.3.4
  Downloaded event-listener v5.4.1
  Downloaded quote v1.0.45
  Downloaded synstructure v0.13.2
  Downloaded ttrpc v0.9.0
  Downloaded toml_edit v0.22.27
  Downloaded crossbeam-utils v0.8.21
  Downloaded zeroize v1.8.2
  Downloaded zerovec-derive v0.11.3
  Downloaded ttrpc-compiler v0.8.0
  Downloaded fixedbitset v0.2.0
  Downloaded blocking v1.6.2
  Downloaded mio v1.2.1
  Downloaded url v2.5.8
  Downloaded yasna v0.5.2
  Downloaded async-io v2.6.0
  Downloaded zerofrom v0.1.8
  Downloaded x509-parser v0.18.1
  Downloaded idna_adapter v1.2.2
  Downloaded async-broadcast v0.7.2
  Downloaded seccompiler v0.4.0
  Downloaded pin-utils v0.1.0
  Downloaded mio v0.8.11
  Downloaded cfg-if v0.1.10
  Downloaded uuid v1.23.4
  Downloaded socket2 v0.6.4
  Downloaded bitflags v2.13.0
  Downloaded time-macros v0.2.27
  Downloaded zvariant_utils v3.5.0
  Downloaded ident_case v1.0.1
  Downloaded async-channel v2.5.0
  Downloaded num-traits v0.2.19
  Downloaded darling v0.20.11
  Downloaded multimap v0.8.3
  Downloaded asn1-rs v0.7.2
  Downloaded bytes v1.11.1
  Downloaded go-flag v0.1.0
  Downloaded async-recursion v1.1.1
  Downloaded raw-cpuid v11.6.0
  Downloaded hashbrown v0.14.5
  Downloaded protobuf-parse v3.7.2
  Downloaded indexmap v1.9.3
  Downloaded hashbrown v0.12.3
  Downloaded polling v3.11.0
  Downloaded value-bag v1.12.0
  Downloaded memoffset v0.9.1
  Downloaded containerd-shim v0.11.0
  Downloaded regex v1.12.4
  Downloaded zstd v0.13.3
  Downloaded prost v0.8.0
  Downloaded zvariant v5.13.0
  Downloaded tokio-util v0.7.18
  Downloaded zstd-safe v7.2.4
  Downloaded tinystr v0.8.3
  Downloaded anstream v1.0.0
  Downloaded serde v1.0.228
  Downloaded minimal-lexical v0.2.1
  Downloaded imago v0.2.4
  Downloaded quinn v0.11.9
  Downloaded zerotrie v0.2.4
  Downloaded toml_edit v0.25.12+spec-1.1.0
  Downloaded log v0.4.32
  Downloaded hashbrown v0.17.1
  Downloaded strum_macros v0.27.2
  Downloaded parking_lot_core v0.9.12
  Downloaded hashbrown v0.15.5
  Downloaded async-task v4.7.1
  Downloaded lock_api v0.4.14
  Downloaded toml_datetime v1.1.1+spec-1.1.0
  Downloaded cfg-if v1.0.4
  Downloaded num-integer v0.1.47
  Downloaded h2 v0.4.16
  Downloaded hyper v1.10.1
  Downloaded icu_properties_data v2.2.0
  Downloaded futures-util v0.3.32
  Downloaded rusqlite v0.32.1
  Downloaded signal-hook v0.3.18
  Downloaded clap_builder v4.6.0
  Downloaded rcgen v0.13.2
  Downloaded crossbeam-deque v0.8.7
  Downloaded der-parser v10.0.0
  Downloaded memchr v2.8.1
  Downloaded unicode-ident v1.0.24
  Downloaded hmac v0.12.1
  Downloaded nom v7.1.3
  Downloaded typenum v1.20.1
  Downloaded aho-corasick v1.1.4
  Downloaded ruzstd v0.7.3
  Downloaded tempfile v3.27.0
  Downloaded wiremock v0.6.5
  Downloaded rand v0.9.4
  Downloaded zlib-rs v0.6.3
  Downloaded rustls-webpki v0.103.15
  Downloaded cgroups-rs v0.5.0
  Downloaded vcpkg v0.2.15
  Downloaded konst v0.2.20
  Downloaded icu_properties v2.2.0
  Downloaded async-lock v3.4.2
  Downloaded protobuf v3.7.2
  Downloaded winnow v1.0.3
  Downloaded serde_json v1.0.150
  Downloaded const_format v0.2.36
  Downloaded heapless v0.9.3
  Downloaded icu_locale_core v2.2.0
  Downloaded ureq v2.12.1
  Downloaded unicode-segmentation v1.13.3
  Downloaded itertools v0.10.5
  Downloaded tower v0.5.3
  Downloaded arc-swap v1.9.1
  Downloaded regex-syntax v0.8.11
  Downloaded oci-spec v0.9.0
  Downloaded nix v0.30.1
  Downloaded zerovec v0.11.6
  Downloaded cc v1.2.63
  Downloaded utoipa-gen v5.5.0
  Downloaded tower-http v0.6.11
  Downloaded reqwest v0.12.28
  Downloaded rustix v0.38.44
  Downloaded rustix v1.1.4
  Downloaded axum v0.8.9
  Downloaded idna v1.1.0
  Downloaded winnow v0.7.15
  Downloaded num-bigint v0.4.8
  Downloaded tracing v0.1.44
  Downloaded regex-automata v0.4.14
  Downloaded zbus v5.17.0
  Downloaded webpki-roots v1.0.7
  Downloaded petgraph v0.5.1
  Downloaded tracing-subscriber v0.3.23
  Downloaded zstd-sys v2.0.16+zstd.1.5.7
  Downloaded quinn-proto v0.11.15
  Downloaded aws-lc-rs v1.18.1
  Downloaded time v0.3.47
  Downloaded syn v1.0.109
  Downloaded zerocopy v0.8.52
  Downloaded nix v0.27.1
  Downloaded nix v0.26.4
  Downloaded nix v0.25.1
  Downloaded syn v2.0.117
  Downloaded nix v0.31.3
  Downloaded rustls v0.23.45
  Downloaded smoltcp v0.13.1
  Downloaded linux-raw-sys v0.4.15
  Downloaded libc v0.2.186
  Downloaded tokio v1.52.3
  Downloaded rust-embed v8.11.0
  Downloaded linux-raw-sys v0.12.1
  Downloaded ring v0.17.14
  Downloaded libsqlite3-sys v0.30.1
  Downloaded prost-build v0.8.0
  Downloaded utoipa-swagger-ui-vendored v0.1.2
  Downloaded aws-lc-sys v0.45.0
==> Starting build()...
[cargo-make] INFO - cargo make 0.37.24
[cargo-make] INFO - 
[cargo-make] INFO - Project: smolvm
[cargo-make] INFO - Build File: Makefile.toml
[cargo-make] INFO - Task: build-libkrunfw
[cargo-make] INFO - Profile: development
[cargo-make] INFO - Running Task: build-libkrunfw
make: Entering directory '/startdir/src/smolvm/libkrunfw'
curl -fL --retry 5 --retry-delay 5 --retry-all-errors https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/snapshot/linux-6.12.95.tar.gz -o tarballs/linux-6.12.95.tar.xz
  % Total    % Received % Xferd  Average Speed  Time    Time    Time   Current
                                 Dload  Upload  Total   Spent   Left   Speed
  0      0   0      0   0      0      0      0                              0  0      0   0      0   0      0      0      0           00:01              0  0      0   0      0   0      0      0      0           00:02              0  0      0   0      0   0      0      0      0           00:03              0  0      0   0      0   0      0      0      0           00:04              0  0      0   0      0   0      0      0      0           00:05              0  0      0   0      0   0      0      0      0           00:06              0  0      0   0      0   0      0      0      0           00:07              0  0      0   0      0   0      0      0      0           00:08              0  0      0   0      0   0      0      0      0           00:09              0  0      0   0      0   0      0      0      0           00:10              0  0      0   0      0   0      0      0      0           00:11              0  0      0   0      0   0      0      0      0           00:12              0  0      0   0      0   0      0      0      0           00:13              0  0      0   0      0   0      0      0      0           00:14              0  0      0   0      0   0      0      0      0           00:15              0  0      0   0      0   0      0      0      0           00:16              0  0      0   0      0   0      0      0      0           00:17              0  0      0   0      0   0      0      0      0           00:18              0  0      0   0      0   0      0      0      0           00:19              0  0      0   0      0   0      0      0      0           00:20              0  0      0   0      0   0      0      0      0           00:21              0  0      0   0      0   0      0      0      0           00:22              0  0      0   0      0   0      0      0      0           00:23              0  0      0   0      0   0      0      0      0           00:24              0  0      0   0      0   0      0      0      0           00:25              0  0      0   0      0   0      0      0      0           00:26              0  0      0   0      0   0      0      0      0           00:27              0  0      0   0      0   0      0      0      0           00:28              0  0      0   0      0   0      0      0      0           00:29              0  0      0   0      0   0      0      0      0           00:30              0  0      0   0      0   0      0      0      0           00:31              0  0      0   0      0   0      0      0      0           00:32              0  0      0   0      0   0      0      0      0           00:33              0  0      0   0      0   0      0      0      0           00:34              0  0      0   0      0   0      0      0      0           00:35              0  0      0   0      0   0      0      0      0           00:36              0  0      0   0      0   0      0      0      0           00:37              0  0      0   0      0   0      0      0      0           00:38              0  0      0   0      0   0      0      0      0           00:39              0  0      0   0      0   0      0      0      0           00:40              0  0      0   0      0   0      0      0      0           00:41              0  0      0   0      0   0      0      0      0           00:42              0  0      0   0      0   0      0      0      0           00:43              0  0      0   0      0   0      0      0      0           00:44              0  0      0   0      0   0      0      0      0           00:45              0  0      0   0      0   0      0      0      0           00:46              0100  7.53M   0  7.53M   0      0 163.2k      0           00:47          1.50M100 66.01M   0 66.01M   0      0  1.36M      0           00:48         13.16M100 119.6M   0 119.6M   0      0  2.41M      0           00:49         23.19M100 185.7M   0 185.7M   0      0  3.68M      0           00:50         36.02M100 228.3M   0 228.3M   0      0  4.43M      0           00:51         44.33M100 234.1M   0 234.1M   0      0  4.53M      0           00:51         44.33M100 234.1M   0 234.1M   0      0  4.53M      0           00:51         44.33M100 234.1M   0 234.1M   0      0  4.53M      0           00:51         44.33M
tar xf tarballs/linux-6.12.95.tar.xz
for patch in patches/0001-krunfw-Don-t-panic-when-init-dies.patch patches/0002-krunfw-Ignore-run_cmd-on-orderly-reboot.patch patches/0003-vsock-dgram-generalize-recvmsg-and-drop-transport-dg.patch patches/0004-vsock-refactor-transport-lookup-code.patch patches/0005-vsock-support-multi-transport-datagrams.patch patches/0006-vsock-make-vsock-bind-reusable.patch patches/0007-virtio-vsock-add-VIRTIO_VSOCK_F_DGRAM-feature-bit.patch patches/0008-virtio-vsock-support-dgrams.patch patches/0009-vsock-Add-support-for-SIOCINQ-ioctl.patch patches/0010-virtio-vsock-implement-has_data-for-DGRAM.patch patches/0011-Transparent-Socket-Impersonation-implementation.patch patches/0012-tsi-allow-hijacking-sockets-tsi_hijack.patch patches/0013-arm64-cpufeature-Unify-SCOPE_LOCAL_CPU-early-late-be.patch patches/0013-tsi-do-not-hold-the-listener-lock-across-blocking-ac.patch patches/0014-prctl-Introduce-PR_-SET-GET-_MEM_MODEL.patch patches/0015-arm64-Implement-PR_-GET-SET-_MEM_MODEL-for-always-TS.patch patches/0016-arm64-Introduce-scaffolding-to-add-ACTLR_EL1-to-thre.patch patches/0017-arm64-Implement-Apple-IMPDEF-TSO-memory-model-contro.patch patches/0018-drm-virtio-Support-fence-passing-feature.patch patches/0019-Enable-64-bit-processes-to-use-compat-input-syscalls.patch patches/0020-dax-Allow-block-size-PAGE_SIZE.patch patches/0021-mm-Fix-__wp_page_copy_user-fallback-path-for-remote-.patch patches/0022-virtgpu-gem-partial-map.patch patches/0023-smolvm-fsnotify-inject.patch patches/0023-virtgpu-mixed-page-size.patch patches/0024-fuse-mark-DAX-inode-releases-as-blocking.patch patches/0025-can-virtio-Add-virtio-CAN-driver.patch patches/0026-virtio_rtc-Add-module-and-driver-core.patch patches/0027-virtio_rtc-Add-PTP-clocks.patch patches/0028-virtio_rtc-Add-Arm-Generic-Timer-cross-timestamping.patch patches/0029-virtio_rtc-Add-RTC-class-driver.patch patches/0030-virtio_rtc-Fix-compatibility-for-kernel-6.12.patch patches/0033-overlayfs-Handle-EOPNOTSUPP-in-fileattr-copy-up.patch; do patch -p1 -d linux-6.12.95 < "$patch"; done
can't find file to patch at input line 22
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|From 10ae66b1024db238899ccce1f790620ab5c92aa9 Mon Sep 17 00:00:00 2001
|From: Sergio Lopez <slp@redhat.com>
|Date: Thu, 2 Mar 2023 07:34:49 +0100
|Subject: [PATCH 01/30] krunfw: Don't panic when init dies
|
|In libkrun, the isolated process runs as PID 1. When it exits,
|trigger an orderly reboot instead of panic'ing.
|
|Also, silence reboot messages for the moment. Eventually we should
|play with the printk levels instead.
|
|Signed-off-by: Sergio Lopez <slp@redhat.com>
|---
| kernel/exit.c   | 6 ++++++
| kernel/reboot.c | 2 ++
| 2 files changed, 8 insertions(+)
|
|diff --git a/kernel/exit.c b/kernel/exit.c
|index b91124b2d334..b78ea85c953a 100644
|--- a/kernel/exit.c
|+++ b/kernel/exit.c
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
2 out of 2 hunks ignored
can't find file to patch at input line 48
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/kernel/reboot.c b/kernel/reboot.c
|index d6ee090eda94..f6947c5bd671 100644
|--- a/kernel/reboot.c
|+++ b/kernel/reboot.c
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
1 out of 1 hunk ignored
can't find file to patch at input line 18
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|From 41ad056fb2d1e2ff14b5cc4384f17f7f45e72eb3 Mon Sep 17 00:00:00 2001
|From: Sergio Lopez <slp@redhat.com>
|Date: Mon, 16 May 2022 16:04:27 +0200
|Subject: [PATCH 02/30] krunfw: Ignore run_cmd on orderly reboot
|
|We don't really support restarting the conventional way, so ignore
|"run_cmd" so we can fall back to an emergency sync and reboot.
|
|Signed-off-by: Sergio Lopez <slp@redhat.com>
|---
| kernel/reboot.c | 4 ++++
| 1 file changed, 4 insertions(+)
|
|diff --git a/kernel/reboot.c b/kernel/reboot.c
|index f6947c5bd671..5925d8fcfbfa 100644
|--- a/kernel/reboot.c
|+++ b/kernel/reboot.c
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
1 out of 1 hunk ignored
can't find file to patch at input line 29
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|From 72bd47b54d947e297cf4298b8da2cdfc59215135 Mon Sep 17 00:00:00 2001
|From: Bobby Eshleman <bobby.eshleman () bytedance ! com>
|Date: Sat, 10 Jun 2023 00:58:28 +0000
|Subject: [PATCH 03/30] vsock/dgram: generalize recvmsg and drop
| transport->dgram_dequeue
|
|This commit drops the transport->dgram_dequeue callback and makes
|vsock_dgram_recvmsg() generic. It also adds additional transport
|callbacks for use by the generic vsock_dgram_recvmsg(), such as for
|parsing skbs for CID/port which vary in format per transport.
|
|Signed-off-by: Bobby Eshleman <bobby.eshleman@bytedance.com>
|---
| drivers/vhost/vsock.c                   |  4 +-
| include/linux/virtio_vsock.h            |  3 ++
| include/net/af_vsock.h                  | 13 ++++-
| net/vmw_vsock/af_vsock.c                | 58 +++++++++++++++++++--
| net/vmw_vsock/hyperv_transport.c        | 17 +++++--
| net/vmw_vsock/virtio_transport.c        |  4 +-
| net/vmw_vsock/virtio_transport_common.c | 18 +++++++
| net/vmw_vsock/vmci_transport.c          | 68 ++++++++++---------------
| net/vmw_vsock/vsock_loopback.c          |  4 +-
| 9 files changed, 137 insertions(+), 52 deletions(-)
|
|diff --git a/drivers/vhost/vsock.c b/drivers/vhost/vsock.c
|index 78cc66fbb3dd..fee8d1380e95 100644
|--- a/drivers/vhost/vsock.c
|+++ b/drivers/vhost/vsock.c
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
1 out of 1 hunk ignored
can't find file to patch at input line 46
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/include/linux/virtio_vsock.h b/include/linux/virtio_vsock.h
|index 0c67543a45c8..06d5b15642ae 100644
|--- a/include/linux/virtio_vsock.h
|+++ b/include/linux/virtio_vsock.h
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
1 out of 1 hunk ignored
can't find file to patch at input line 60
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/include/net/af_vsock.h b/include/net/af_vsock.h
|index 70302c92d329..9ba6e2bcef94 100644
|--- a/include/net/af_vsock.h
|+++ b/include/net/af_vsock.h
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
1 out of 1 hunk ignored
can't find file to patch at input line 87
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/net/vmw_vsock/af_vsock.c b/net/vmw_vsock/af_vsock.c
|index 1db7a1f8e55f..460c9893e112 100644
|--- a/net/vmw_vsock/af_vsock.c
|+++ b/net/vmw_vsock/af_vsock.c
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
1 out of 1 hunk ignored
can't find file to patch at input line 157
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/net/vmw_vsock/hyperv_transport.c b/net/vmw_vsock/hyperv_transport.c
|index 34871ed1a099..0746f7fb2809 100644
|--- a/net/vmw_vsock/hyperv_transport.c
|+++ b/net/vmw_vsock/hyperv_transport.c
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
2 out of 2 hunks ignored
can't find file to patch at input line 192
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/net/vmw_vsock/virtio_transport.c b/net/vmw_vsock/virtio_transport.c
|index b6569b0ca2bb..d1107b65445e 100644
|--- a/net/vmw_vsock/virtio_transport.c
|+++ b/net/vmw_vsock/virtio_transport.c
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
1 out of 1 hunk ignored
can't find file to patch at input line 209
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/net/vmw_vsock/virtio_transport_common.c b/net/vmw_vsock/virtio_transport_common.c
|index 9550773fe1e1..f5f61f87da83 100644
|--- a/net/vmw_vsock/virtio_transport_common.c
|+++ b/net/vmw_vsock/virtio_transport_common.c
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
1 out of 1 hunk ignored
can't find file to patch at input line 238
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/net/vmw_vsock/vmci_transport.c b/net/vmw_vsock/vmci_transport.c
|index aca3132689cf..956109393596 100644
|--- a/net/vmw_vsock/vmci_transport.c
|+++ b/net/vmw_vsock/vmci_transport.c
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
2 out of 2 hunks ignored
can't find file to patch at input line 337
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/net/vmw_vsock/vsock_loopback.c b/net/vmw_vsock/vsock_loopback.c
|index 6e78927a598e..3d5e05d8950f 100644
|--- a/net/vmw_vsock/vsock_loopback.c
|+++ b/net/vmw_vsock/vsock_loopback.c
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
1 out of 1 hunk ignored
can't find file to patch at input line 20
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|From 72e122bd7c78f5ea881fc1be7b81ce6e89bb6a03 Mon Sep 17 00:00:00 2001
|From: Bobby Eshleman <bobby.eshleman () bytedance ! com>
|Date: Sat, 10 Jun 2023 00:58:29 +0000
|Subject: [PATCH 04/30] vsock: refactor transport lookup code
|
|Introduce new reusable function vsock_connectible_lookup_transport()
|that performs the transport lookup logic.
|
|No functional change intended.
|
|Signed-off-by: Bobby Eshleman <bobby.eshleman@bytedance.com>
|---
| net/vmw_vsock/af_vsock.c | 25 ++++++++++++++++++-------
| 1 file changed, 18 insertions(+), 7 deletions(-)
|
|diff --git a/net/vmw_vsock/af_vsock.c b/net/vmw_vsock/af_vsock.c
|index 460c9893e112..8049e3b4f377 100644
|--- a/net/vmw_vsock/af_vsock.c
|+++ b/net/vmw_vsock/af_vsock.c
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
2 out of 2 hunks ignored
can't find file to patch at input line 63
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|From 6f8f8b27658ac6345af71dea9ef97850faf704cd Mon Sep 17 00:00:00 2001
|From: Bobby Eshleman <bobby.eshleman () bytedance ! com>
|Date: Sat, 10 Jun 2023 00:58:30 +0000
|Subject: [PATCH 05/30] vsock: support multi-transport datagrams
|
|This patch adds support for multi-transport datagrams.
|
|This includes:
|- Per-packet lookup of transports when using sendto(sockaddr_vm)
|- Selecting H2G or G2H transport using VMADDR_FLAG_TO_HOST and CID in
|  sockaddr_vm
|
|To preserve backwards compatibility with VMCI, some important changes
|were made. The "transport_dgram" / VSOCK_TRANSPORT_F_DGRAM is changed to
|be used for dgrams iff there is not yet a g2h or h2g transport that has
|been registered that can transmit the packet. If there is a g2h/h2g
|transport for that remote address, then that transport will be used and
|not "transport_dgram". This essentially makes "transport_dgram" a
|fallback transport for when h2g/g2h has not yet gone online, which
|appears to be the exact use case for VMCI.
|
|This design makes sense, because there is no reason that the
|transport_{g2h,h2g} cannot also service datagrams, which makes the role
|of transport_dgram difficult to understand outside of the VMCI context.
|
|The logic around "transport_dgram" had to be retained to prevent
|breaking VMCI:
|
|1) VMCI datagrams appear to function outside of the h2g/g2h
|   paradigm. When the vmci transport becomes online, it registers itself
|   with the DGRAM feature, but not H2G/G2H. Only later when the
|   transport has more information about its environment does it register
|   H2G or G2H. In the case that a datagram socket becomes active
|   after DGRAM registration but before G2H/H2G registration, the
|   "transport_dgram" transport needs to be used.
|
|2) VMCI seems to require special message be sent by the transport when a
|   datagram socket calls bind(). Under the h2g/g2h model, the transport
|   is selected using the remote_addr which is set by connect(). At
|   bind time there is no remote_addr because often no connect() has been
|   called yet: the transport is null. Therefore, with a null transport
|   there doesn't seem to be any good way for a datagram socket a tell the
|   VMCI transport that it has just had bind() called upon it.
|
|Only transports with a special datagram fallback use-case such as VMCI
|need to register VSOCK_TRANSPORT_F_DGRAM.
|
|Signed-off-by: Bobby Eshleman <bobby.eshleman@bytedance.com>
|---
| drivers/vhost/vsock.c                   |  1 -
| include/linux/virtio_vsock.h            |  2 -
| net/vmw_vsock/af_vsock.c                | 78 +++++++++++++++++++------
| net/vmw_vsock/hyperv_transport.c        |  6 --
| net/vmw_vsock/virtio_transport.c        |  1 -
| net/vmw_vsock/virtio_transport_common.c |  7 ---
| net/vmw_vsock/vsock_loopback.c          |  1 -
| 7 files changed, 60 insertions(+), 36 deletions(-)
|
|diff --git a/drivers/vhost/vsock.c b/drivers/vhost/vsock.c
|index fee8d1380e95..03b0e789d161 100644
|--- a/drivers/vhost/vsock.c
|+++ b/drivers/vhost/vsock.c
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
1 out of 1 hunk ignored
can't find file to patch at input line 75
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/include/linux/virtio_vsock.h b/include/linux/virtio_vsock.h
|index 06d5b15642ae..6c8791d3bc70 100644
|--- a/include/linux/virtio_vsock.h
|+++ b/include/linux/virtio_vsock.h
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
1 out of 1 hunk ignored
can't find file to patch at input line 88
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/net/vmw_vsock/af_vsock.c b/net/vmw_vsock/af_vsock.c
|index 8049e3b4f377..9046ea82a37b 100644
|--- a/net/vmw_vsock/af_vsock.c
|+++ b/net/vmw_vsock/af_vsock.c
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
7 out of 7 hunks ignored
can't find file to patch at input line 244
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/net/vmw_vsock/hyperv_transport.c b/net/vmw_vsock/hyperv_transport.c
|index 0746f7fb2809..b5822a5ed92f 100644
|--- a/net/vmw_vsock/hyperv_transport.c
|+++ b/net/vmw_vsock/hyperv_transport.c
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
2 out of 2 hunks ignored
can't find file to patch at input line 268
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/net/vmw_vsock/virtio_transport.c b/net/vmw_vsock/virtio_transport.c
|index d1107b65445e..e9828815e741 100644
|--- a/net/vmw_vsock/virtio_transport.c
|+++ b/net/vmw_vsock/virtio_transport.c
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
1 out of 1 hunk ignored
can't find file to patch at input line 280
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/net/vmw_vsock/virtio_transport_common.c b/net/vmw_vsock/virtio_transport_common.c
|index f5f61f87da83..3a996272764b 100644
|--- a/net/vmw_vsock/virtio_transport_common.c
|+++ b/net/vmw_vsock/virtio_transport_common.c
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
1 out of 1 hunk ignored
can't find file to patch at input line 298
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/net/vmw_vsock/vsock_loopback.c b/net/vmw_vsock/vsock_loopback.c
|index 3d5e05d8950f..9e9e124f8d2b 100644
|--- a/net/vmw_vsock/vsock_loopback.c
|+++ b/net/vmw_vsock/vsock_loopback.c
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
1 out of 1 hunk ignored
can't find file to patch at input line 18
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|From 20265fb6e3a0cb720723450b5fa7e8017616b514 Mon Sep 17 00:00:00 2001
|From: Bobby Eshleman <bobby.eshleman () bytedance ! com>
|Date: Sat, 10 Jun 2023 00:58:31 +0000
|Subject: [PATCH 06/30] vsock: make vsock bind reusable
|
|This commit makes the bind table management functions in vsock usable
|for different bind tables. For use by datagrams in a future patch.
|
|Signed-off-by: Bobby Eshleman <bobby.eshleman@bytedance.com>
|---
| net/vmw_vsock/af_vsock.c | 33 ++++++++++++++++++++++++++-------
| 1 file changed, 26 insertions(+), 7 deletions(-)
|
|diff --git a/net/vmw_vsock/af_vsock.c b/net/vmw_vsock/af_vsock.c
|index 9046ea82a37b..6d3e95d94f76 100644
|--- a/net/vmw_vsock/af_vsock.c
|+++ b/net/vmw_vsock/af_vsock.c
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
6 out of 6 hunks ignored
can't find file to patch at input line 18
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|From afc5971d193d97700ad23b13287fcbcf3c0d2e4a Mon Sep 17 00:00:00 2001
|From: Bobby Eshleman <bobby.eshleman () bytedance ! com>
|Date: Sat, 10 Jun 2023 00:58:32 +0000
|Subject: [PATCH 07/30] virtio/vsock: add VIRTIO_VSOCK_F_DGRAM feature bit
|
|This commit adds a feature bit for virtio vsock to support datagrams.
|
|Signed-off-by: Jiang Wang <jiang.wang@bytedance.com>
|Signed-off-by: Bobby Eshleman <bobby.eshleman@bytedance.com>
|---
| include/uapi/linux/virtio_vsock.h | 1 +
| 1 file changed, 1 insertion(+)
|
|diff --git a/include/uapi/linux/virtio_vsock.h b/include/uapi/linux/virtio_vsock.h
|index 64738838bee5..9c25f267bbc0 100644
|--- a/include/uapi/linux/virtio_vsock.h
|+++ b/include/uapi/linux/virtio_vsock.h
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
1 out of 1 hunk ignored
can't find file to patch at input line 42
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|From c9a2af154eb0cc87fd31eea4c536e349dae2f346 Mon Sep 17 00:00:00 2001
|From: Bobby Eshleman <bobby.eshleman () bytedance ! com>
|Date: Sat, 10 Jun 2023 00:58:33 +0000
|Subject: [PATCH 08/30] virtio/vsock: support dgrams
|
|This commit adds support for datagrams over virtio/vsock.
|
|Message boundaries are preserved on a per-skb and per-vq entry basis.
|Messages are copied in whole from the user to an SKB, which in turn is
|added to the scatterlist for the virtqueue in whole for the device.
|Messages do not straddle skbs and they do not straddle packets.
|Messages may be truncated by the receiving user if their buffer is
|shorter than the message.
|
|Other properties of vsock datagrams:
|- Datagrams self-throttle at the per-socket sk_sndbuf threshold.
|- The same virtqueue is used as is used for streams and seqpacket flows
|- Credits are not used for datagrams
|- Packets are dropped silently by the device, which means the virtqueue
|  will still get kicked even during high packet loss, so long as the
|  socket does not exceed sk_sndbuf.
|
|Future work might include finding a way to reduce the virtqueue kick
|rate for datagram flows with high packet loss.
|
|Signed-off-by: Bobby Eshleman <bobby.eshleman@bytedance.com>
|---
| drivers/vhost/vsock.c                   |  27 ++++-
| include/linux/virtio_vsock.h            |   5 +-
| include/net/af_vsock.h                  |   1 +
| include/uapi/linux/virtio_vsock.h       |   1 +
| net/vmw_vsock/af_vsock.c                |  48 ++++++--
| net/vmw_vsock/virtio_transport.c        |  23 +++-
| net/vmw_vsock/virtio_transport_common.c | 144 ++++++++++++++++--------
| net/vmw_vsock/vsock_loopback.c          |   8 +-
| 8 files changed, 198 insertions(+), 59 deletions(-)
|
|diff --git a/drivers/vhost/vsock.c b/drivers/vhost/vsock.c
|index 03b0e789d161..deaadc2503a2 100644
|--- a/drivers/vhost/vsock.c
|+++ b/drivers/vhost/vsock.c
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
6 out of 6 hunks ignored
can't find file to patch at input line 118
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/include/linux/virtio_vsock.h b/include/linux/virtio_vsock.h
|index 6c8791d3bc70..e3d7afa29894 100644
|--- a/include/linux/virtio_vsock.h
|+++ b/include/linux/virtio_vsock.h
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
2 out of 2 hunks ignored
can't find file to patch at input line 139
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/include/net/af_vsock.h b/include/net/af_vsock.h
|index 9ba6e2bcef94..5f93bb290a83 100644
|--- a/include/net/af_vsock.h
|+++ b/include/net/af_vsock.h
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
1 out of 1 hunk ignored
can't find file to patch at input line 151
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/include/uapi/linux/virtio_vsock.h b/include/uapi/linux/virtio_vsock.h
|index 9c25f267bbc0..27b4b2b8bf13 100644
|--- a/include/uapi/linux/virtio_vsock.h
|+++ b/include/uapi/linux/virtio_vsock.h
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
1 out of 1 hunk ignored
can't find file to patch at input line 163
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/net/vmw_vsock/af_vsock.c b/net/vmw_vsock/af_vsock.c
|index 6d3e95d94f76..7c9c8696a07a 100644
|--- a/net/vmw_vsock/af_vsock.c
|+++ b/net/vmw_vsock/af_vsock.c
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
8 out of 8 hunks ignored
can't find file to patch at input line 273
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/net/vmw_vsock/virtio_transport.c b/net/vmw_vsock/virtio_transport.c
|index e9828815e741..58d15edd296e 100644
|--- a/net/vmw_vsock/virtio_transport.c
|+++ b/net/vmw_vsock/virtio_transport.c
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
5 out of 5 hunks ignored
can't find file to patch at input line 335
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/net/vmw_vsock/virtio_transport_common.c b/net/vmw_vsock/virtio_transport_common.c
|index 3a996272764b..a7e9bcc49a8e 100644
|--- a/net/vmw_vsock/virtio_transport_common.c
|+++ b/net/vmw_vsock/virtio_transport_common.c
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
10 out of 10 hunks ignored
can't find file to patch at input line 584
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/net/vmw_vsock/vsock_loopback.c b/net/vmw_vsock/vsock_loopback.c
|index 9e9e124f8d2b..b3066c854bb9 100644
|--- a/net/vmw_vsock/vsock_loopback.c
|+++ b/net/vmw_vsock/vsock_loopback.c
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
3 out of 3 hunks ignored
can't find file to patch at input line 24
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|From 52e07de426f743550a3954c9d5168ecfe051ef28 Mon Sep 17 00:00:00 2001
|From: Xuewei Niu <niuxuewei.nxw@antgroup.com>
|Date: Tue, 8 Jul 2025 14:36:12 +0800
|Subject: [PATCH 09/30] vsock: Add support for SIOCINQ ioctl
|
|Add support for SIOCINQ ioctl, indicating the length of bytes unread in the
|socket. The value is obtained from `vsock_stream_has_data()`.
|
|Signed-off-by: Xuewei Niu <niuxuewei.nxw@antgroup.com>
|Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>
|Reviewed-by: Luigi Leonardi <leonardi@redhat.com>
|Link: https://patch.msgid.link/20250708-siocinq-v6-2-3775f9a9e359@antgroup.com
|Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|(cherry picked from commit f7c72265927540fb24c99fee8a54da7db537656c)
|Signed-off-by: Sergio Lopez <slp@redhat.com>
|---
| net/vmw_vsock/af_vsock.c | 22 ++++++++++++++++++++++
| 1 file changed, 22 insertions(+)
|
|diff --git a/net/vmw_vsock/af_vsock.c b/net/vmw_vsock/af_vsock.c
|index 7c9c8696a07a..3b420d8f0c84 100644
|--- a/net/vmw_vsock/af_vsock.c
|+++ b/net/vmw_vsock/af_vsock.c
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
1 out of 1 hunk ignored
can't find file to patch at input line 20
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|From adc7bebfd1e4dff1a2160fb587fc534f38463cba Mon Sep 17 00:00:00 2001
|From: Sergio Lopez <slp@redhat.com>
|Date: Thu, 28 May 2026 11:43:46 +0200
|Subject: [PATCH 10/30] virtio/vsock: implement has_data for DGRAM
|
|Signed-off-by: Sergio Lopez <slp@redhat.com>
|---
| include/linux/virtio_vsock.h            |  1 +
| include/net/af_vsock.h                  |  2 ++
| net/vmw_vsock/af_vsock.c                | 15 ++++++++++++++-
| net/vmw_vsock/virtio_transport.c        |  1 +
| net/vmw_vsock/virtio_transport_common.c | 15 +++++++++++++++
| net/vmw_vsock/vsock_loopback.c          |  1 +
| 6 files changed, 34 insertions(+), 1 deletion(-)
|
|diff --git a/include/linux/virtio_vsock.h b/include/linux/virtio_vsock.h
|index e3d7afa29894..34220effc4b0 100644
|--- a/include/linux/virtio_vsock.h
|+++ b/include/linux/virtio_vsock.h
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
1 out of 1 hunk ignored
can't find file to patch at input line 32
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/include/net/af_vsock.h b/include/net/af_vsock.h
|index 5f93bb290a83..45469aa8cf60 100644
|--- a/include/net/af_vsock.h
|+++ b/include/net/af_vsock.h
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
2 out of 2 hunks ignored
can't find file to patch at input line 52
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/net/vmw_vsock/af_vsock.c b/net/vmw_vsock/af_vsock.c
|index 3b420d8f0c84..73e2eac4c3af 100644
|--- a/net/vmw_vsock/af_vsock.c
|+++ b/net/vmw_vsock/af_vsock.c
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
2 out of 2 hunks ignored
can't find file to patch at input line 85
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/net/vmw_vsock/virtio_transport.c b/net/vmw_vsock/virtio_transport.c
|index 58d15edd296e..43eeeb32a318 100644
|--- a/net/vmw_vsock/virtio_transport.c
|+++ b/net/vmw_vsock/virtio_transport.c
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
1 out of 1 hunk ignored
can't find file to patch at input line 97
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/net/vmw_vsock/virtio_transport_common.c b/net/vmw_vsock/virtio_transport_common.c
|index a7e9bcc49a8e..6498ab12ce31 100644
|--- a/net/vmw_vsock/virtio_transport_common.c
|+++ b/net/vmw_vsock/virtio_transport_common.c
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
1 out of 1 hunk ignored
can't find file to patch at input line 123
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/net/vmw_vsock/vsock_loopback.c b/net/vmw_vsock/vsock_loopback.c
|index b3066c854bb9..09e6162030b0 100644
|--- a/net/vmw_vsock/vsock_loopback.c
|+++ b/net/vmw_vsock/vsock_loopback.c
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
1 out of 1 hunk ignored
can't find file to patch at input line 48
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|From 6ec974c7d185814ca12661e8081dcd4cb4ae179b Mon Sep 17 00:00:00 2001
|From: Sergio Lopez <slp@redhat.com>
|Date: Thu, 19 May 2022 22:38:26 +0200
|Subject: [PATCH 11/30] Transparent Socket Impersonation implementation
|
|Transparent Socket Impersonation (AF_TSI) is an address family that
|provides sockets presenting two simultaneous personalities, one of
|AF_INET, AF_INET6 or AF_UNIX, and AF_VSOCK.
|
|By using this an AF_TSI socket, the kernel can impersonate an
|AF_INET, AF_INET6 or AF_UNIX socket (only SOCK_STREAM and SOCK_DGRAM
|are supported at the moment) with an AF_VSOCK one, allowing all
|communications to happen through a vsock device.
|
|This strategy is specially useful for microVMs, as it allows the
|VMM (Virtual Machine Monitor) to provide network connectivity to the
|guest acting as a proxy, without the need to use bridged tap devices
|nor virtual network interfaces, achieving a good performance with a
|low overall footprint.
|
|TODO - implement remote [get|set]sockopt
|
|Co-authored-by: Matej Hrica <mhrica@redhat.com>
|
|Signed-off-by: Sergio Lopez <slp@redhat.com>
|Signed-off-by: Matej Hrica <mhrica@redhat.com>
|---
| include/linux/socket.h              |    8 +-
| net/Kconfig                         |    1 +
| net/Makefile                        |    1 +
| net/socket.c                        |    3 +
| net/tsi/Kconfig                     |    7 +
| net/tsi/Makefile                    |    4 +
| net/tsi/af_tsi.c                    | 1656 +++++++++++++++++++++++++++
| net/tsi/af_tsi.h                    |  107 ++
| security/selinux/hooks.c            |    8 +-
| security/selinux/include/classmap.h |    3 +-
| 10 files changed, 1795 insertions(+), 3 deletions(-)
| create mode 100644 net/tsi/Kconfig
| create mode 100644 net/tsi/Makefile
| create mode 100644 net/tsi/af_tsi.c
| create mode 100644 net/tsi/af_tsi.h
|
|diff --git a/include/linux/socket.h b/include/linux/socket.h
|index c3322eb3d686..5ae7f94b3abc 100644
|--- a/include/linux/socket.h
|+++ b/include/linux/socket.h
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
2 out of 2 hunks ignored
can't find file to patch at input line 75
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/net/Kconfig b/net/Kconfig
|index a629f92dc86b..91dfb9152b5b 100644
|--- a/net/Kconfig
|+++ b/net/Kconfig
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
1 out of 1 hunk ignored
can't find file to patch at input line 87
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/net/Makefile b/net/Makefile
|index 65bb8c72a35e..c1db937f3212 100644
|--- a/net/Makefile
|+++ b/net/Makefile
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
1 out of 1 hunk ignored
can't find file to patch at input line 96
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/net/socket.c b/net/socket.c
|index 878155076bc0..a55927134851 100644
|--- a/net/socket.c
|+++ b/net/socket.c
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
1 out of 1 hunk ignored
patching file net/tsi/Kconfig
patching file net/tsi/Makefile
patching file net/tsi/af_tsi.c
patching file net/tsi/af_tsi.h
can't find file to patch at input line 1977
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c
|index 8e31d3b60fc6..aae3267fa9ee 100644
|--- a/security/selinux/hooks.c
|+++ b/security/selinux/hooks.c
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
1 out of 1 hunk ignored
can't find file to patch at input line 1996
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/security/selinux/include/classmap.h b/security/selinux/include/classmap.h
|index 7229c9bf6c27..f08d24321603 100644
|--- a/security/selinux/include/classmap.h
|+++ b/security/selinux/include/classmap.h
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
2 out of 2 hunks ignored
can't find file to patch at input line 21
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|From 74fbbeb0dcc7e3eb2281b2f10f5ddb3aaa658287 Mon Sep 17 00:00:00 2001
|From: Sergio Lopez <slp@redhat.com>
|Date: Thu, 19 May 2022 22:42:01 +0200
|Subject: [PATCH 12/30] tsi: allow hijacking sockets (tsi_hijack)
|
|Add a kernel command line option (tsi_hijack) enabling users to
|request the kernel to hijack AF_INET(SOCK_STREAM || SOCK_DGRAM)
|sockets to turn them into TSI sockets, and another one
|(tsi_hijack_unix) to do the same thing for AF_UNIX sockets.
|
|Signed-off-by: Sergio Lopez <slp@redhat.com>
|---
| net/socket.c     | 28 ++++++++++++++++++++++++++++
| net/tsi/af_tsi.c |  2 +-
| 2 files changed, 29 insertions(+), 1 deletion(-)
|
|diff --git a/net/socket.c b/net/socket.c
|index a55927134851..a355cbd6ba1e 100644
|--- a/net/socket.c
|+++ b/net/socket.c
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
3 out of 3 hunks ignored
patching file net/tsi/af_tsi.c
Hunk #1 succeeded at 585 (offset 38 lines).
can't find file to patch at input line 41
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|From f01cba8b91ebd60437f1e4a15e03737fc4fa12f0 Mon Sep 17 00:00:00 2001
|From: Asahi Lina <lina@asahilina.net>
|Date: Wed, 25 Sep 2024 16:35:34 +0200
|Subject: [PATCH 13/30] arm64: cpufeature: Unify SCOPE_LOCAL_CPU early & late
| behavior
|
|SCOPE_LOCAL_CPU is mostly used for CPU errata. The early feature logic
|prior to this patch will enable a feature if any secondary matches it,
|but will not do anything once the feature is already enabled.
|
|However, the late CPU verification logic is more flexible, with flags:
|
|- ARM64_CPUCAP_OPTIONAL_FOR_LATE_CPU means "any cpu" logic applies
|- ARM64_CPUCAP_PERMITTED_FOR_LATE_CPU means "all cpus" logic applies
|
|This means the early secondary feature code right now behaves as if
|OPTIONAL && !PERMITTED was specified (it ignores secondaries missing the
|feature and forces the system state to active if any secondary has the
|feature).
|
|Change this so that the early feature detection code inspects the flags
|too and applies the logic to make feature state consistent:
|
|- If a feature is NOT OPTIONAL and missing on a secondary, remove it
|  from the system set (we can do this before finalization)
|- If a feature is PERMITTED and missing on the boot CPU, don't enable it
|  but rather leave it off.
|
|This allows SCOPE_LOCAL_CPU to be used for feature detection as well as
|CPU errata.
|
|Signed-off-by: Asahi Lina <lina@asahilina.net>
|---
| arch/arm64/kernel/cpufeature.c | 34 +++++++++++++++++++++++++++++++---
| 1 file changed, 31 insertions(+), 3 deletions(-)
|
|diff --git a/arch/arm64/kernel/cpufeature.c b/arch/arm64/kernel/cpufeature.c
|index 8246015fd2d7..b5bdb19c131f 100644
|--- a/arch/arm64/kernel/cpufeature.c
|+++ b/arch/arm64/kernel/cpufeature.c
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
1 out of 1 hunk ignored
patching file net/tsi/af_tsi.h
patching file net/tsi/af_tsi.c
Hunk #1 succeeded at 536 (offset 38 lines).
Hunk #2 succeeded at 596 (offset 38 lines).
Hunk #3 succeeded at 620 (offset 38 lines).
Hunk #4 succeeded at 631 (offset 38 lines).
Hunk #5 succeeded at 675 (offset 38 lines).
Hunk #6 succeeded at 1578 (offset 63 lines).
patching file include/linux/memory_ordering_model.h
can't find file to patch at input line 65
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/include/uapi/linux/prctl.h b/include/uapi/linux/prctl.h
|index 35791791a879..36c278683cd6 100644
|--- a/include/uapi/linux/prctl.h
|+++ b/include/uapi/linux/prctl.h
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
1 out of 1 hunk ignored
can't find file to patch at input line 79
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/kernel/sys.c b/kernel/sys.c
|index 8283e35c9eeb..b14846a80169 100644
|--- a/kernel/sys.c
|+++ b/kernel/sys.c
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
3 out of 3 hunks ignored
can't find file to patch at input line 33
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|From 3e558b0b5aff5580bb9ed17828728c590d4d286f Mon Sep 17 00:00:00 2001
|From: Hector Martin <marcan@marcan.st>
|Date: Thu, 11 Apr 2024 09:51:21 +0900
|Subject: [PATCH 15/30] arm64: Implement PR_{GET,SET}_MEM_MODEL for always-TSO
| CPUs
|
|Some ARM64 implementations are known to always use the TSO memory model.
|Add trivial support for the PR_{GET,SET}_MEM_MODEL prctl, which allows
|userspace to learn this fact.
|
|Known TSO implementations:
|- Nvidia Denver
|- Nvidia Carmel
|- Fujitsu A64FX
|
|Signed-off-by: Hector Martin <marcan@marcan.st>
|Reviewed-by: Neal Gompa <neal@gompa.dev>
|---
| arch/arm64/Kconfig                    |  9 +++++++
| arch/arm64/include/asm/cpufeature.h   |  4 +++
| arch/arm64/kernel/Makefile            |  3 ++-
| arch/arm64/kernel/cpufeature.c        | 11 ++++----
| arch/arm64/kernel/cpufeature_impdef.c | 38 +++++++++++++++++++++++++++
| arch/arm64/kernel/process.c           | 24 +++++++++++++++++
| arch/arm64/tools/cpucaps              |  1 +
| 7 files changed, 84 insertions(+), 6 deletions(-)
| create mode 100644 arch/arm64/kernel/cpufeature_impdef.c
|
|diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
|index f487c5e21e2f..8f97145095e0 100644
|--- a/arch/arm64/Kconfig
|+++ b/arch/arm64/Kconfig
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
1 out of 1 hunk ignored
can't find file to patch at input line 53
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/arch/arm64/include/asm/cpufeature.h b/arch/arm64/include/asm/cpufeature.h
|index 3d261cc123c1..c4379bde9a26 100644
|--- a/arch/arm64/include/asm/cpufeature.h
|+++ b/arch/arm64/include/asm/cpufeature.h
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
1 out of 1 hunk ignored
can't find file to patch at input line 68
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/arch/arm64/kernel/Makefile b/arch/arm64/kernel/Makefile
|index 2b112f3b7510..2a11cdefbe04 100644
|--- a/arch/arm64/kernel/Makefile
|+++ b/arch/arm64/kernel/Makefile
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
1 out of 1 hunk ignored
can't find file to patch at input line 82
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/arch/arm64/kernel/cpufeature.c b/arch/arm64/kernel/cpufeature.c
|index b5bdb19c131f..4782d643ebed 100644
|--- a/arch/arm64/kernel/cpufeature.c
|+++ b/arch/arm64/kernel/cpufeature.c
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
4 out of 4 hunks ignored
patching file arch/arm64/kernel/cpufeature_impdef.c
can't find file to patch at input line 175
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/arch/arm64/kernel/process.c b/arch/arm64/kernel/process.c
|index 2edf88c1c695..c753a0f6183b 100644
|--- a/arch/arm64/kernel/process.c
|+++ b/arch/arm64/kernel/process.c
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
3 out of 3 hunks ignored
can't find file to patch at input line 224
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/arch/arm64/tools/cpucaps b/arch/arm64/tools/cpucaps
|index eedb5acc21ed..bca63481e0cf 100644
|--- a/arch/arm64/tools/cpucaps
|+++ b/arch/arm64/tools/cpucaps
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
1 out of 1 hunk ignored
can't find file to patch at input line 30
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|From 47d48798b891f67b109323a65894a00b4bf90f84 Mon Sep 17 00:00:00 2001
|From: Hector Martin <marcan@marcan.st>
|Date: Thu, 11 Apr 2024 09:51:22 +0900
|Subject: [PATCH 16/30] arm64: Introduce scaffolding to add ACTLR_EL1 to thread
| state
|
|Some CPUs expose IMPDEF features in ACTLR_EL1 that can be meaningfully
|controlled per-thread (like TSO control on Apple cores). Add the basic
|scaffolding to save/restore this register as part of context switching.
|
|This mechanism is disabled by default both by config symbol and via a
|runtime check, which ensures it is never triggered unless the system is
|known to need it for some feature (which also implies that the layout of
|ACTLR_EL1 is uniform between all CPU core types).
|
|Signed-off-by: Hector Martin <marcan@marcan.st>
|Reviewed-by: Neal Gompa <neal@gompa.dev>
|---
| arch/arm64/Kconfig                  |  3 +++
| arch/arm64/include/asm/cpufeature.h |  5 +++++
| arch/arm64/include/asm/processor.h  |  3 +++
| arch/arm64/kernel/process.c         | 25 +++++++++++++++++++++++++
| arch/arm64/kernel/setup.c           |  8 ++++++++
| 5 files changed, 44 insertions(+)
|
|diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
|index 8f97145095e0..8d587e0b21ef 100644
|--- a/arch/arm64/Kconfig
|+++ b/arch/arm64/Kconfig
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
1 out of 1 hunk ignored
can't find file to patch at input line 44
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/arch/arm64/include/asm/cpufeature.h b/arch/arm64/include/asm/cpufeature.h
|index c4379bde9a26..1775e210f04f 100644
|--- a/arch/arm64/include/asm/cpufeature.h
|+++ b/arch/arm64/include/asm/cpufeature.h
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
1 out of 1 hunk ignored
can't find file to patch at input line 60
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/arch/arm64/include/asm/processor.h b/arch/arm64/include/asm/processor.h
|index 1438424f0064..ea4e32467068 100644
|--- a/arch/arm64/include/asm/processor.h
|+++ b/arch/arm64/include/asm/processor.h
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
1 out of 1 hunk ignored
can't find file to patch at input line 74
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/arch/arm64/kernel/process.c b/arch/arm64/kernel/process.c
|index c753a0f6183b..f2bf5f7d6dbb 100644
|--- a/arch/arm64/kernel/process.c
|+++ b/arch/arm64/kernel/process.c
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
3 out of 3 hunks ignored
can't find file to patch at input line 124
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/arch/arm64/kernel/setup.c b/arch/arm64/kernel/setup.c
|index 8185979f0f11..4fcaaf9c7d2b 100644
|--- a/arch/arm64/kernel/setup.c
|+++ b/arch/arm64/kernel/setup.c
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
1 out of 1 hunk ignored
can't find file to patch at input line 33
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|From 216f355fcd34b92266691cff5ce806d8f6b42fd3 Mon Sep 17 00:00:00 2001
|From: Hector Martin <marcan@marcan.st>
|Date: Thu, 11 Apr 2024 09:51:23 +0900
|Subject: [PATCH 17/30] arm64: Implement Apple IMPDEF TSO memory model control
|
|Apple CPUs may implement the TSO memory model as an optional
|configurable mode. This allows x86 emulators to simplify their
|load/store handling, greatly increasing performance.
|
|Expose this via the prctl PR_SET_MEM_MODEL_TSO mechanism. We use the
|Apple IMPDEF AIDR_EL1 register to check for the availability of TSO
|mode, and enable this codepath on all CPUs with an Apple implementer.
|
|This relies on the ACTLR_EL1 thread state scaffolding introduced
|earlier.
|
|Signed-off-by: Hector Martin <marcan@marcan.st>
|Reviewed-by: Neal Gompa <neal@gompa.dev>
|---
| arch/arm64/Kconfig                        |  2 +
| arch/arm64/include/asm/apple_cpufeature.h | 15 +++++++
| arch/arm64/include/asm/cpufeature.h       |  3 +-
| arch/arm64/kernel/cpufeature_impdef.c     | 53 +++++++++++++++++++++++
| arch/arm64/kernel/process.c               | 22 ++++++++++
| arch/arm64/tools/cpucaps                  |  1 +
| 6 files changed, 95 insertions(+), 1 deletion(-)
| create mode 100644 arch/arm64/include/asm/apple_cpufeature.h
|
|diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
|index 8d587e0b21ef..befa467fd555 100644
|--- a/arch/arm64/Kconfig
|+++ b/arch/arm64/Kconfig
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
1 out of 1 hunk ignored
patching file arch/arm64/include/asm/apple_cpufeature.h
can't find file to patch at input line 67
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/arch/arm64/include/asm/cpufeature.h b/arch/arm64/include/asm/cpufeature.h
|index 1775e210f04f..6343a192aba1 100644
|--- a/arch/arm64/include/asm/cpufeature.h
|+++ b/arch/arm64/include/asm/cpufeature.h
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
1 out of 1 hunk ignored
patching file arch/arm64/kernel/cpufeature_impdef.c
can't find file to patch at input line 155
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/arch/arm64/kernel/process.c b/arch/arm64/kernel/process.c
|index f2bf5f7d6dbb..46f01d4e9fb7 100644
|--- a/arch/arm64/kernel/process.c
|+++ b/arch/arm64/kernel/process.c
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
3 out of 3 hunks ignored
can't find file to patch at input line 202
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/arch/arm64/tools/cpucaps b/arch/arm64/tools/cpucaps
|index bca63481e0cf..8b809992a9ee 100644
|--- a/arch/arm64/tools/cpucaps
|+++ b/arch/arm64/tools/cpucaps
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
1 out of 1 hunk ignored
can't find file to patch at input line 42
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|From c3b36d4d123ef1e99b504ebb4eac2f46bf3e9da3 Mon Sep 17 00:00:00 2001
|From: Dmitry Osipenko <dmitry.osipenko@collabora.com>
|Date: Sat, 7 Oct 2023 22:47:47 +0300
|Subject: [PATCH 18/30] drm/virtio: Support fence-passing feature
|
|Support extended version of VIRTIO_GPU_CMD_SUBMIT_3D command that allows
|passing in-fence IDs to host for waiting, removing need to do expensive
|host-guest roundtrips in a case of waiting for fences on a guest side.
|
|Guest userspace must enable new VIRTGPU_CONTEXT_PARAM_FENCE_PASSING flag
|and host must support new VIRTIO_GPU_F_FENCE_PASSING feature in order to
|activate the fence passing for a given virtio-gpu context. Array of
|in-fence IDs is then prepended to the VIRTIO_GPU_CMD_SUBMIT_3D's data,
|the previously unused padding field of the command is reused for the
|number of in-fences.
|
|A new VIRTGPU_EXECBUF_SHARED_FENCE flag is added to the job submission
|UAPI and must be set by userspace if it wants to make fence shareable
|with/on host. Certain jobs won't want to share fence, in particular Venus
|will benefit from this flag.
|
|Link: https://gitlab.freedesktop.org/virgl/virglrenderer/-/merge_requests/1138
|Link: https://gitlab.freedesktop.org/digetx/qemu/-/commits/native-context-iris
|Link: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4679609
|Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com>
|---
| drivers/gpu/drm/virtio/virtgpu_drv.c    |  1 +
| drivers/gpu/drm/virtio/virtgpu_drv.h    | 11 ++-
| drivers/gpu/drm/virtio/virtgpu_fence.c  | 15 +++-
| drivers/gpu/drm/virtio/virtgpu_ioctl.c  | 11 ++-
| drivers/gpu/drm/virtio/virtgpu_kms.c    |  8 +-
| drivers/gpu/drm/virtio/virtgpu_submit.c | 99 ++++++++++++++++++++++++-
| drivers/gpu/drm/virtio/virtgpu_vq.c     |  7 +-
| include/uapi/drm/virtgpu_drm.h          |  3 +
| include/uapi/linux/virtio_gpu.h         | 11 ++-
| 9 files changed, 152 insertions(+), 14 deletions(-)
|
|diff --git a/drivers/gpu/drm/virtio/virtgpu_drv.c b/drivers/gpu/drm/virtio/virtgpu_drv.c
|index e5a2665e50ea..33b471dfe098 100644
|--- a/drivers/gpu/drm/virtio/virtgpu_drv.c
|+++ b/drivers/gpu/drm/virtio/virtgpu_drv.c
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
1 out of 1 hunk ignored
can't find file to patch at input line 54
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/drivers/gpu/drm/virtio/virtgpu_drv.h b/drivers/gpu/drm/virtio/virtgpu_drv.h
|index 5dc8eeaf7123..50d8bbd01bc4 100644
|--- a/drivers/gpu/drm/virtio/virtgpu_drv.h
|+++ b/drivers/gpu/drm/virtio/virtgpu_drv.h
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
6 out of 6 hunks ignored
can't find file to patch at input line 111
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/drivers/gpu/drm/virtio/virtgpu_fence.c b/drivers/gpu/drm/virtio/virtgpu_fence.c
|index f28357dbde35..1fd3cfeca2f5 100644
|--- a/drivers/gpu/drm/virtio/virtgpu_fence.c
|+++ b/drivers/gpu/drm/virtio/virtgpu_fence.c
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
3 out of 3 hunks ignored
can't find file to patch at input line 151
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/drivers/gpu/drm/virtio/virtgpu_ioctl.c b/drivers/gpu/drm/virtio/virtgpu_ioctl.c
|index e4f76f315550..894f3fd14c51 100644
|--- a/drivers/gpu/drm/virtio/virtgpu_ioctl.c
|+++ b/drivers/gpu/drm/virtio/virtgpu_ioctl.c
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
2 out of 2 hunks ignored
can't find file to patch at input line 180
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/drivers/gpu/drm/virtio/virtgpu_kms.c b/drivers/gpu/drm/virtio/virtgpu_kms.c
|index 7dfb2006c561..fa4e5542fe5b 100644
|--- a/drivers/gpu/drm/virtio/virtgpu_kms.c
|+++ b/drivers/gpu/drm/virtio/virtgpu_kms.c
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
1 out of 1 hunk ignored
can't find file to patch at input line 203
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/drivers/gpu/drm/virtio/virtgpu_submit.c b/drivers/gpu/drm/virtio/virtgpu_submit.c
|index 7d34cf83f5f2..136ca6238ab0 100644
|--- a/drivers/gpu/drm/virtio/virtgpu_submit.c
|+++ b/drivers/gpu/drm/virtio/virtgpu_submit.c
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
8 out of 8 hunks ignored
can't find file to patch at input line 370
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/drivers/gpu/drm/virtio/virtgpu_vq.c b/drivers/gpu/drm/virtio/virtgpu_vq.c
|index 0d3d0d09f39b..96f0a42d313c 100644
|--- a/drivers/gpu/drm/virtio/virtgpu_vq.c
|+++ b/drivers/gpu/drm/virtio/virtgpu_vq.c
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
2 out of 2 hunks ignored
can't find file to patch at input line 395
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/include/uapi/drm/virtgpu_drm.h b/include/uapi/drm/virtgpu_drm.h
|index c2ce71987e9b..2bb2d3a0c7bd 100644
|--- a/include/uapi/drm/virtgpu_drm.h
|+++ b/include/uapi/drm/virtgpu_drm.h
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
2 out of 2 hunks ignored
can't find file to patch at input line 420
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/include/uapi/linux/virtio_gpu.h b/include/uapi/linux/virtio_gpu.h
|index bf2c9cabd207..ceb656264aa0 100644
|--- a/include/uapi/linux/virtio_gpu.h
|+++ b/include/uapi/linux/virtio_gpu.h
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
3 out of 3 hunks ignored
can't find file to patch at input line 26
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|From d3920429863c6170d65b717cab9365af3decedb1 Mon Sep 17 00:00:00 2001
|From: Sergio Lopez <slp@redhat.com>
|Date: Tue, 8 Oct 2024 11:24:25 +0200
|Subject: [PATCH 19/30] Enable 64 bit processes to use compat input syscalls
|
|The compat variant of input syscalls is only enabled for 32 bit
|tasks, but in some cases, such as userspace emulation, it's useful to
|enable that variant for 64 bit processes.
|
|Here we introduce the PR_[GET|SET]_COMPAT_INPUT prctl to allow 64 bit
|tasks to opt-in for compat input syscalls.
|
|Signed-off-by: Sergio Lopez <slp@redhat.com>
|---
| drivers/input/input-compat.c |  6 +++---
| drivers/input/input-compat.h |  2 +-
| include/linux/sched.h        |  5 +++++
| include/uapi/linux/prctl.h   |  5 +++++
| kernel/sys.c                 | 15 +++++++++++++++
| 5 files changed, 29 insertions(+), 4 deletions(-)
|
|diff --git a/drivers/input/input-compat.c b/drivers/input/input-compat.c
|index 2ccd3eedbd67..abb8cfb99d6c 100644
|--- a/drivers/input/input-compat.c
|+++ b/drivers/input/input-compat.c
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
3 out of 3 hunks ignored
can't find file to patch at input line 57
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/drivers/input/input-compat.h b/drivers/input/input-compat.h
|index 3b7bb12b023b..e78c0492ce0d 100644
|--- a/drivers/input/input-compat.h
|+++ b/drivers/input/input-compat.h
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
1 out of 1 hunk ignored
can't find file to patch at input line 70
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/include/linux/sched.h b/include/linux/sched.h
|index 2e4c437c7c90..f5237065e9fa 100644
|--- a/include/linux/sched.h
|+++ b/include/linux/sched.h
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
1 out of 1 hunk ignored
can't find file to patch at input line 86
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/include/uapi/linux/prctl.h b/include/uapi/linux/prctl.h
|index 36c278683cd6..c2027aa99409 100644
|--- a/include/uapi/linux/prctl.h
|+++ b/include/uapi/linux/prctl.h
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
1 out of 1 hunk ignored
can't find file to patch at input line 100
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/kernel/sys.c b/kernel/sys.c
|index b14846a80169..f98671f25026 100644
|--- a/kernel/sys.c
|+++ b/kernel/sys.c
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
1 out of 1 hunk ignored
can't find file to patch at input line 28
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|From d72b2bc30adfd622d8e742088d5012fcb3dd2204 Mon Sep 17 00:00:00 2001
|From: Asahi Lina <lina@asahilina.net>
|Date: Sun, 20 Oct 2024 01:23:41 +0900
|Subject: [PATCH 20/30] dax: Allow block size > PAGE_SIZE
|
|For virtio-dax, the file/FS blocksize is irrelevant. FUSE always uses
|large DAX blocks (2MiB), which will work with all host page sizes. Since
|we are mapping files into the DAX window on the host, the underlying
|block size of the filesystem and its block device (if any) are
|meaningless.
|
|For real devices with DAX, the only requirement should be that the FS
|block size is *at least* as large as PAGE_SIZE, to ensure that at least
|whole pages can be mapped out of the device contiguously.
|
|Fixes warning when using virtio-dax on a 4K guest with a 16K host,
|backed by tmpfs (which sets blksz == PAGE_SIZE on the host).
|
|Signed-off-by: Asahi Lina <lina@asahilina.net>
|---
| fs/dax.c | 2 +-
| 1 file changed, 1 insertion(+), 1 deletion(-)
|
|diff --git a/fs/dax.c b/fs/dax.c
|index 756400f2a625..cb155ec940d5 100644
|--- a/fs/dax.c
|+++ b/fs/dax.c
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
1 out of 1 hunk ignored
can't find file to patch at input line 64
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|From 20ee624fc9fc4d7aca5e78cb412d1525d02d65c8 Mon Sep 17 00:00:00 2001
|From: Asahi Lina <lina@asahilina.net>
|Date: Mon, 21 Oct 2024 23:21:16 +0900
|Subject: [PATCH 21/30] mm: Fix __wp_page_copy_user fallback path for remote mm
|
|If the source page is a PFN mapping, we copy back from userspace.
|However, if this fault is a remote access, we cannot use
|__copy_from_user_inatomic. Instead, use access_remote_vm() in this case.
|
|Fixes WARN when writing to CoW mappings into a remote process, such as
|when using gdb on a binary present on a DAX filesystem.
|
|[  143.683782] ------------[ cut here ]------------
|[  143.683784] WARNING: CPU: 1 PID: 350 at mm/memory.c:2904 __wp_page_copy_user+0x120/0x2bc
|[  143.683793] CPU: 1 PID: 350 Comm: gdb Not tainted 6.6.52 #1
|[  143.683794] Hardware name: linux,dummy-virt (DT)
|[  143.683795] pstate: 61400005 (nZCv daif +PAN -UAO -TCO +DIT -SSBS BTYPE=--)
|[  143.683796] pc : __wp_page_copy_user+0x120/0x2bc
|[  143.683798] lr : __wp_page_copy_user+0x254/0x2bc
|[  143.683799] sp : ffff80008272b8b0
|[  143.683799] x29: ffff80008272b8b0 x28: 0000000000000000 x27: ffff000083bad580
|[  143.683801] x26: 0000000000000000 x25: 0000fffff7fd5000 x24: ffff000081db04c0
|[  143.683802] x23: ffff00014f24b000 x22: fffffc00053c92c0 x21: ffff000083502150
|[  143.683803] x20: 0000fffff7fd5000 x19: ffff80008272b9d0 x18: 0000000000000000
|[  143.683804] x17: ffff000081db0500 x16: ffff800080fe52a0 x15: 0000fffff7fd5000
|[  143.683804] x14: 0000000000bb1845 x13: 0000000000000080 x12: ffff80008272b880
|[  143.683805] x11: ffff000081d13600 x10: ffff000081d13608 x9 : ffff000081d1360c
|[  143.683806] x8 : ffff000083a16f00 x7 : 0000000000000010 x6 : ffff00014f24b000
|[  143.683807] x5 : ffff00014f24c000 x4 : 0000000000000000 x3 : ffff000083582000
|[  143.683807] x2 : 0000000000000f80 x1 : 0000fffff7fd5000 x0 : 0000000000001000
|[  143.683808] Call trace:
|[  143.683809]  __wp_page_copy_user+0x120/0x2bc
|[  143.683810]  wp_page_copy+0x98/0x5c0
|[  143.683813]  do_wp_page+0x250/0x530
|[  143.683814]  __handle_mm_fault+0x278/0x284
|[  143.683817]  handle_mm_fault+0x64/0x1e8
|[  143.683819]  faultin_page+0x5c/0x110
|[  143.683820]  __get_user_pages+0xc8/0x2f4
|[  143.683821]  get_user_pages_remote+0xac/0x30c
|[  143.683823]  __access_remote_vm+0xb4/0x368
|[  143.683824]  access_remote_vm+0x10/0x1c
|[  143.683826]  mem_rw.isra.0+0xc4/0x218
|[  143.683831]  mem_write+0x18/0x24
|[  143.683831]  vfs_write+0xa0/0x37c
|[  143.683834]  ksys_pwrite64+0x7c/0xc0
|[  143.683834]  __arm64_sys_pwrite64+0x20/0x2c
|[  143.683835]  invoke_syscall+0x48/0x10c
|[  143.683837]  el0_svc_common.constprop.0+0x40/0xe0
|[  143.683839]  do_el0_svc+0x1c/0x28
|[  143.683841]  el0_svc+0x3c/0xdc
|[  143.683846]  el0t_64_sync_handler+0x120/0x12c
|[  143.683848]  el0t_64_sync+0x194/0x198
|[  143.683849] ---[ end trace 0000000000000000 ]---
|
|Signed-off-by: Asahi Lina <lina@asahilina.net>
|---
| mm/memory.c | 7 ++++++-
| 1 file changed, 6 insertions(+), 1 deletion(-)
|
|diff --git a/mm/memory.c b/mm/memory.c
|index 49ee03c4392e..45170cc2cd56 100644
|--- a/mm/memory.c
|+++ b/mm/memory.c
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
1 out of 1 hunk ignored
can't find file to patch at input line 17
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|From 9bf460694c54290ee95eb4282ad4d2a5e44b2fe6 Mon Sep 17 00:00:00 2001
|From: Sasha Finkelstein <fnkl.kernel@gmail.com>
|Date: Fri, 17 Jan 2025 12:34:23 +0100
|Subject: [PATCH 22/30] virtgpu: gem partial map
|
|Those are useful to implement coherent cross-vm mmap.
|
|Signed-off-by: Sasha Finkelstein <fnkl.kernel@gmail.com>
|---
| drivers/gpu/drm/virtio/virtgpu_vram.c | 5 ++---
| 1 file changed, 2 insertions(+), 3 deletions(-)
|
|diff --git a/drivers/gpu/drm/virtio/virtgpu_vram.c b/drivers/gpu/drm/virtio/virtgpu_vram.c
|index 25df81c02783..64e2c6dbdd67 100644
|--- a/drivers/gpu/drm/virtio/virtgpu_vram.c
|+++ b/drivers/gpu/drm/virtio/virtgpu_vram.c
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
1 out of 1 hunk ignored
can't find file to patch at input line 15
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|smolvm: inject fsnotify events for host-originated file changes
|
|virtiofs does not deliver host-side file changes to the guest as
|fsnotify/inotify events, so inotify-based hot-reload never fires on host
|edits. Add /proc/smolvm-fsnotify: writing "<mask_hex> <path>" fires the
|matching fsnotify events on the guest inode, so guest watchers wake as if
|the change happened locally. Driven by the smolvm host FS watcher via the
|guest agent.
|
|Signed-off-by: smolvm <noreply@smolvm>
|---
|diff --git a/fs/notify/Makefile b/fs/notify/Makefile
|--- a/fs/notify/Makefile
|+++ b/fs/notify/Makefile
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
1 out of 1 hunk ignored
patching file fs/notify/smolvm_inject.c
can't find file to patch at input line 18
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|From a0b79cf260e7bceddbb93d4dc91157d2ceb67605 Mon Sep 17 00:00:00 2001
|From: Sasha Finkelstein <fnkl.kernel@gmail.com>
|Date: Fri, 17 Jan 2025 12:34:28 +0100
|Subject: [PATCH 23/30] virtgpu: mixed page size
|
|This allows running different page sizes between host and guest on
|platforms that support mixed page sizes.
|
|Signed-off-by: Sasha Finkelstein <fnkl.kernel@gmail.com>
|---
| drivers/gpu/drm/virtio/virtgpu_vram.c | 10 ++++++++--
| 1 file changed, 8 insertions(+), 2 deletions(-)
|
|diff --git a/drivers/gpu/drm/virtio/virtgpu_vram.c b/drivers/gpu/drm/virtio/virtgpu_vram.c
|index 64e2c6dbdd67..cbadcba2c773 100644
|--- a/drivers/gpu/drm/virtio/virtgpu_vram.c
|+++ b/drivers/gpu/drm/virtio/virtgpu_vram.c
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
2 out of 2 hunks ignored
can't find file to patch at input line 57
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|From 5d876db7ea5379b0cc6673a02ce8095b804a0e66 Mon Sep 17 00:00:00 2001
|From: Sergio Lopez <slp@redhat.com>
|Date: Sun, 18 Jan 2026 23:37:30 +0100
|Subject: [PATCH 24/30] fuse: mark DAX inode releases as blocking
|
|Commit 26e5c67deb2e ("fuse: fix livelock in synchronous file put from
|fuseblk workers") made fputs on closing files always asynchronous.
|
|As cleaning up DAX inodes may require issuing a number of synchronous
|request for releasing the mappings, completing the release request from
|the worker thread may lead to it hanging like this:
|
|[   21.386751] Workqueue: events virtio_fs_requests_done_work
|[   21.386769] Call trace:
|[   21.386770]  __switch_to+0xe4/0x140
|[   21.386780]  __schedule+0x294/0x72c
|[   21.386787]  schedule+0x24/0x90
|[   21.386794]  request_wait_answer+0x184/0x298
|[   21.386799]  __fuse_simple_request+0x1f4/0x320
|[   21.386805]  fuse_send_removemapping+0x80/0xa0
|[   21.386810]  dmap_removemapping_list+0xac/0xfc
|[   21.386814]  inode_reclaim_dmap_range.constprop.0+0xd0/0x204
|[   21.386820]  fuse_dax_inode_cleanup+0x28/0x5c
|[   21.386825]  fuse_evict_inode+0x120/0x190
|[   21.386834]  evict+0x188/0x320
|[   21.386847]  iput_final+0xb0/0x20c
|[   21.386854]  iput+0xa0/0xbc
|[   21.386862]  fuse_release_end+0x18/0x2c
|[   21.386868]  fuse_request_end+0x9c/0x2c0
|[   21.386872]  virtio_fs_request_complete+0x150/0x384
|[   21.386879]  virtio_fs_requests_done_work+0x18c/0x37c
|[   21.386885]  process_one_work+0x15c/0x2e8
|[   21.386891]  worker_thread+0x278/0x480
|[   21.386898]  kthread+0xd0/0xdc
|[   21.386902]  ret_from_fork+0x10/0x20
|
|Here, the virtio-fs worker_thread is waiting on request_wait_answer()
|for a reply from the virtio-fs server that is already in the virtqueue
|but will never be processed since it's that same worker thread the one
|in charge of consuming the elements from the virtqueue.
|
|To address this issue, when relesing a DAX inode mark the operation as
|potentially blocking. Doing this will ensure these release requests are
|processed on a different worker thread.
|
|Signed-off-by: Sergio Lopez <slp@redhat.com>
|(cherry picked from commit 1e0dbed3e2ff0ab76fa4e3cc8f95438f56da8fc5)
|Signed-off-by: Sergio Lopez <slp@redhat.com>
|---
| fs/fuse/file.c | 6 ++++++
| 1 file changed, 6 insertions(+)
|
|diff --git a/fs/fuse/file.c b/fs/fuse/file.c
|index 23afaadd5f3e..e59a08c71f12 100644
|--- a/fs/fuse/file.c
|+++ b/fs/fuse/file.c
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
1 out of 1 hunk ignored
can't find file to patch at input line 42
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|From 7931cf4e2ebc6bd096ae5d3a891e1afa47ec3e35 Mon Sep 17 00:00:00 2001
|From: Matias Ezequiel Vara Larsen <mvaralar@redhat.com>
|Date: Fri, 8 May 2026 14:23:37 +0200
|Subject: [PATCH 25/30] can: virtio: Add virtio CAN driver
|
|Add virtio CAN driver based on Virtio 1.4 specification (see
|https://github.com/oasis-tcs/virtio-spec/tree/virtio-1.4). The driver
|implements a complete CAN bus interface over Virtio transport,
|supporting both CAN Classic and CAN-FD Ids. In term of frames, it
|supports classic and CAN FD. RTR frames are only supported with classic
|CAN.
|
|Usage:
|- "ip link set up can0" - start controller
|- "ip link set down can0" - stop controller
|- "candump can0" - receive frames
|- "cansend can0 123#DEADBEEF" - send frames
|
|Signed-off-by: Harald Mommer <harald.mommer@oss.qualcomm.com>
|Co-developed-by: Harald Mommer <harald.mommer@oss.qualcomm.com>
|Signed-off-by: Mikhail Golubev-Ciuchea <mikhail.golubev-ciuchea@oss.qualcomm.com>
|Co-developed-by: Marc Kleine-Budde <mkl@pengutronix.de>
|Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
|Cc: Damir Shaikhutdinov <Damir.Shaikhutdinov@opensynergy.com>
|Reviewed-by: Francesco Valla <francesco@valla.it>
|Tested-by: Francesco Valla <francesco@valla.it>
|Signed-off-by: Matias Ezequiel Vara Larsen <mvaralar@redhat.com>
|---
| MAINTAINERS                     |   9 +
| drivers/net/can/Kconfig         |  12 +
| drivers/net/can/Makefile        |   1 +
| drivers/net/can/virtio_can.c    | 991 ++++++++++++++++++++++++++++++++
| include/uapi/linux/virtio_can.h |  78 +++
| 5 files changed, 1091 insertions(+)
| create mode 100644 drivers/net/can/virtio_can.c
| create mode 100644 include/uapi/linux/virtio_can.h
|
|diff --git a/MAINTAINERS b/MAINTAINERS
|index d765c62c80ea..9ecb818f7ddb 100644
|--- a/MAINTAINERS
|+++ b/MAINTAINERS
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
1 out of 1 hunk ignored
can't find file to patch at input line 62
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/drivers/net/can/Kconfig b/drivers/net/can/Kconfig
|index cf989bea9aa3..851749f76d7c 100644
|--- a/drivers/net/can/Kconfig
|+++ b/drivers/net/can/Kconfig
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
1 out of 1 hunk ignored
can't find file to patch at input line 85
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/drivers/net/can/Makefile b/drivers/net/can/Makefile
|index a71db2cfe990..ddfe0df9b10b 100644
|--- a/drivers/net/can/Makefile
|+++ b/drivers/net/can/Makefile
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
1 out of 1 hunk ignored
patching file drivers/net/can/virtio_can.c
patching file include/uapi/linux/virtio_can.h
can't find file to patch at input line 40
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|From ecb8b27ab26a3b2c186fe1b0f0b6297ad57421cd Mon Sep 17 00:00:00 2001
|From: Peter Hilber <quic_philber@quicinc.com>
|Date: Fri, 9 May 2025 18:07:22 +0200
|Subject: [PATCH 26/30] virtio_rtc: Add module and driver core
|
|Add the virtio_rtc module and driver core. The virtio_rtc module implements
|a driver compatible with the proposed Virtio RTC device specification.
|The Virtio RTC (Real Time Clock) device provides information about current
|time. The device can provide different clocks, e.g. for the UTC or TAI time
|standards, or for physical time elapsed since some past epoch. The driver
|can read the clocks with simple or more accurate methods.
|
|Implement the core, which interacts with the Virtio RTC device. Apart from
|this, the core does not expose functionality outside of the virtio_rtc
|module. Follow-up patches will expose PTP clocks and an RTC Class device.
|
|Provide synchronous messaging, which is enough for the expected time
|synchronization use cases through PTP clocks (similar to ptp_kvm) or RTC
|Class device.
|
|Signed-off-by: Peter Hilber <quic_philber@quicinc.com>
|Message-Id: <20250509160734.1772-2-quic_philber@quicinc.com>
|Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|---
| MAINTAINERS                          |   7 +
| drivers/virtio/Kconfig               |  13 +
| drivers/virtio/Makefile              |   2 +
| drivers/virtio/virtio_rtc_driver.c   | 786 +++++++++++++++++++++++++++
| drivers/virtio/virtio_rtc_internal.h |  24 +
| include/uapi/linux/virtio_rtc.h      | 151 +++++
| 6 files changed, 983 insertions(+)
| create mode 100644 drivers/virtio/virtio_rtc_driver.c
| create mode 100644 drivers/virtio/virtio_rtc_internal.h
| create mode 100644 include/uapi/linux/virtio_rtc.h
|
|diff --git a/MAINTAINERS b/MAINTAINERS
|index 9ecb818f7ddb..ebf1a598394c 100644
|--- a/MAINTAINERS
|+++ b/MAINTAINERS
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
1 out of 1 hunk ignored
can't find file to patch at input line 58
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/drivers/virtio/Kconfig b/drivers/virtio/Kconfig
|index 42a48ac763ee..fd6b826af19a 100644
|--- a/drivers/virtio/Kconfig
|+++ b/drivers/virtio/Kconfig
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
1 out of 1 hunk ignored
can't find file to patch at input line 80
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/drivers/virtio/Makefile b/drivers/virtio/Makefile
|index 58b2b0489fc9..c41c4c0f9264 100644
|--- a/drivers/virtio/Makefile
|+++ b/drivers/virtio/Makefile
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
1 out of 1 hunk ignored
patching file drivers/virtio/virtio_rtc_driver.c
patching file drivers/virtio/virtio_rtc_internal.h
patching file include/uapi/linux/virtio_rtc.h
can't find file to patch at input line 63
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|From 6288d84bd2be25daba854cff0d2d8fbedab76b5b Mon Sep 17 00:00:00 2001
|From: Peter Hilber <quic_philber@quicinc.com>
|Date: Fri, 9 May 2025 18:07:23 +0200
|Subject: [PATCH 27/30] virtio_rtc: Add PTP clocks
|
|Expose the virtio_rtc clocks as PTP clocks to userspace, similar to
|ptp_kvm. virtio_rtc can expose multiple clocks, e.g. a UTC clock and a
|monotonic clock.
|
|Userspace should distinguish different clocks through the name assigned by
|the driver. In particular, UTC-like clocks can also be distinguished by if
|and how leap seconds are smeared. udev rules such as the following can be
|used to get different symlinks for different clock types:
|
|	SUBSYSTEM=="ptp", ATTR{clock_name}=="Virtio PTP type 0/variant 0", SYMLINK += "ptp_virtio"
|	SUBSYSTEM=="ptp", ATTR{clock_name}=="Virtio PTP type 1/variant 0", SYMLINK += "ptp_virtio_tai"
|	SUBSYSTEM=="ptp", ATTR{clock_name}=="Virtio PTP type 2/variant 0", SYMLINK += "ptp_virtio_monotonic"
|	SUBSYSTEM=="ptp", ATTR{clock_name}=="Virtio PTP type 3/variant 0", SYMLINK += "ptp_virtio_smear_unspecified"
|	SUBSYSTEM=="ptp", ATTR{clock_name}=="Virtio PTP type 3/variant 1", SYMLINK += "ptp_virtio_smear_noon_linear"
|	SUBSYSTEM=="ptp", ATTR{clock_name}=="Virtio PTP type 3/variant 2", SYMLINK += "ptp_virtio_smear_sls"
|	SUBSYSTEM=="ptp", ATTR{clock_name}=="Virtio PTP type 4/variant 0", SYMLINK += "ptp_virtio_maybe_smeared"
|
|The preferred PTP clock reading method is ioctl PTP_SYS_OFFSET_PRECISE2,
|through the ptp_clock_info.getcrosststamp() op. For now,
|PTP_SYS_OFFSET_PRECISE2 will return -EOPNOTSUPP through a weak function.
|PTP_SYS_OFFSET_PRECISE2 requires cross-timestamping support for specific
|clocksources, which will be added in the following. If the clocksource
|specific code is enabled, check that the Virtio RTC device supports the
|respective HW counter before obtaining an actual cross-timestamp from the
|Virtio device.
|
|The Virtio RTC device response time may be higher than the timekeeper
|seqcount increment interval. Therefore, obtain the cross-timestamp before
|calling get_device_system_crosststamp().
|
|As a fallback, support the ioctl PTP_SYS_OFFSET_EXTENDED2 for all
|platforms.
|
|Assume that concurrency issues during PTP clock removal are avoided by the
|posix_clock framework.
|
|Kconfig recursive dependencies prevent virtio_rtc from implicitly enabling
|PTP_1588_CLOCK, therefore just warn the user if PTP_1588_CLOCK is not
|available. Since virtio_rtc should in the future also expose clocks as RTC
|class devices, do not depend VIRTIO_RTC on PTP_1588_CLOCK.
|
|Signed-off-by: Peter Hilber <quic_philber@quicinc.com>
|Message-Id: <20250509160734.1772-3-quic_philber@quicinc.com>
|Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|---
| drivers/virtio/Kconfig               |  24 +-
| drivers/virtio/Makefile              |   1 +
| drivers/virtio/virtio_rtc_driver.c   | 121 +++++++++-
| drivers/virtio/virtio_rtc_internal.h |  46 ++++
| drivers/virtio/virtio_rtc_ptp.c      | 347 +++++++++++++++++++++++++++
| 5 files changed, 535 insertions(+), 4 deletions(-)
| create mode 100644 drivers/virtio/virtio_rtc_ptp.c
|
|diff --git a/drivers/virtio/Kconfig b/drivers/virtio/Kconfig
|index fd6b826af19a..c98e43a1ee95 100644
|--- a/drivers/virtio/Kconfig
|+++ b/drivers/virtio/Kconfig
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
1 out of 1 hunk ignored
can't find file to patch at input line 102
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/drivers/virtio/Makefile b/drivers/virtio/Makefile
|index c41c4c0f9264..88d6fb8d4731 100644
|--- a/drivers/virtio/Makefile
|+++ b/drivers/virtio/Makefile
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
1 out of 1 hunk ignored
patching file drivers/virtio/virtio_rtc_driver.c
patching file drivers/virtio/virtio_rtc_internal.h
patching file drivers/virtio/virtio_rtc_ptp.c
can't find file to patch at input line 27
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|From 874ed6f7613d8b57ddeb5cc53a5e04e3d29cf25c Mon Sep 17 00:00:00 2001
|From: Peter Hilber <quic_philber@quicinc.com>
|Date: Fri, 9 May 2025 18:07:24 +0200
|Subject: [PATCH 28/30] virtio_rtc: Add Arm Generic Timer cross-timestamping
|
|For platforms using the Arm Generic Timer, add precise cross-timestamping
|support to virtio_rtc.
|
|Always report the CP15 virtual counter as the HW counter in use by
|arm_arch_timer, since the Linux kernel's usage of the Arm Generic Timer
|should always be compatible with this.
|
|Signed-off-by: Peter Hilber <quic_philber@quicinc.com>
|Message-Id: <20250509160734.1772-4-quic_philber@quicinc.com>
|Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|---
| drivers/virtio/Kconfig          | 13 +++++++++++++
| drivers/virtio/Makefile         |  1 +
| drivers/virtio/virtio_rtc_arm.c | 23 +++++++++++++++++++++++
| 3 files changed, 37 insertions(+)
| create mode 100644 drivers/virtio/virtio_rtc_arm.c
|
|diff --git a/drivers/virtio/Kconfig b/drivers/virtio/Kconfig
|index c98e43a1ee95..57beef80dcc5 100644
|--- a/drivers/virtio/Kconfig
|+++ b/drivers/virtio/Kconfig
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
1 out of 1 hunk ignored
can't find file to patch at input line 51
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/drivers/virtio/Makefile b/drivers/virtio/Makefile
|index 88d6fb8d4731..dbd77f124ba9 100644
|--- a/drivers/virtio/Makefile
|+++ b/drivers/virtio/Makefile
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
1 out of 1 hunk ignored
patching file drivers/virtio/virtio_rtc_arm.c
can't find file to patch at input line 61
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|From 12d2d822791bdd3a87e717221c488f5f38ccd102 Mon Sep 17 00:00:00 2001
|From: Peter Hilber <quic_philber@quicinc.com>
|Date: Fri, 9 May 2025 18:07:25 +0200
|Subject: [PATCH 29/30] virtio_rtc: Add RTC class driver
|
|Expose the virtio-rtc UTC-like clock as an RTC clock to userspace - if it
|is present, and if it does not step on leap seconds. The RTC class enables
|the virtio-rtc device to resume the system from sleep states on RTC alarm.
|
|Support RTC alarm if the virtio-rtc alarm feature is present. The
|virtio-rtc device signals an alarm by marking an alarmq buffer as used.
|
|Peculiarities
|-------------
|
|A virtio-rtc clock is a bit special for an RTC clock in that
|
|- the clock may step (also backwards) autonomously at any time and
|
|- the device, and its notification mechanism, will be reset during boot or
|  resume from sleep.
|
|The virtio-rtc device avoids that the driver might miss an alarm. The
|device signals an alarm whenever the clock has reached or passed the alarm
|time, and also when the device is reset (on boot or resume from sleep), if
|the alarm time is in the past.
|
|Open Issue
|----------
|
|The CLOCK_BOOTTIME_ALARM will use the RTC clock to wake up from sleep, and
|implicitly assumes that no RTC clock steps will occur during sleep. The RTC
|class driver does not know whether the current alarm is a real-time alarm
|or a boot-time alarm.
|
|Perhaps this might be handled by the driver also setting a virtio-rtc
|monotonic alarm (which uses a clock similar to CLOCK_BOOTTIME_ALARM). The
|virtio-rtc monotonic alarm would just be used to wake up in case it was a
|CLOCK_BOOTTIME_ALARM alarm.
|
|Otherwise, the behavior should not differ from other RTC class drivers.
|
|Signed-off-by: Peter Hilber <quic_philber@quicinc.com>
|Acked-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
|Message-Id: <20250509160734.1772-5-quic_philber@quicinc.com>
|Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|---
| drivers/virtio/Kconfig               |  22 +-
| drivers/virtio/Makefile              |   1 +
| drivers/virtio/virtio_rtc_class.c    | 262 ++++++++++++++
| drivers/virtio/virtio_rtc_driver.c   | 520 ++++++++++++++++++++++++++-
| drivers/virtio/virtio_rtc_internal.h |  52 +++
| include/uapi/linux/virtio_rtc.h      |  88 ++++-
| 6 files changed, 934 insertions(+), 11 deletions(-)
| create mode 100644 drivers/virtio/virtio_rtc_class.c
|
|diff --git a/drivers/virtio/Kconfig b/drivers/virtio/Kconfig
|index 57beef80dcc5..8279d6d5a1f1 100644
|--- a/drivers/virtio/Kconfig
|+++ b/drivers/virtio/Kconfig
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
3 out of 3 hunks ignored
can't find file to patch at input line 108
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/drivers/virtio/Makefile b/drivers/virtio/Makefile
|index dbd77f124ba9..eefcfe90d6b8 100644
|--- a/drivers/virtio/Makefile
|+++ b/drivers/virtio/Makefile
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
1 out of 1 hunk ignored
patching file drivers/virtio/virtio_rtc_class.c
patching file drivers/virtio/virtio_rtc_driver.c
patching file drivers/virtio/virtio_rtc_internal.h
patching file include/uapi/linux/virtio_rtc.h
patching file drivers/virtio/virtio_rtc_driver.c
can't find file to patch at input line 28
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|From: smolvm <smolvm@users.noreply.github.com>
|Date: Sun, 2 Mar 2026 00:00:00 +0000
|Subject: [PATCH] ovl: translate EOPNOTSUPP to ENOTTY in
| ovl_real_fileattr_get
|
|FUSE servers (including virtiofs) that do not implement
|FS_IOC_GETFLAGS / FS_IOC_FSGETXATTR return -EOPNOTSUPP from their
|ioctl handler.  vfs_fileattr_get() propagates this unchanged, but
|ovl_real_fileattr_get() only translates -ENOIOCTLCMD to -ENOTTY.
|The callers in copy_up.c treat -ENOTTY as "no fileattr support" and
|continue, while -EOPNOTSUPP falls through to pr_warn + error return,
|which makes every overlayfs copy-up over a virtiofs lower layer fail.
|
|Translate -EOPNOTSUPP alongside -ENOIOCTLCMD in the single
|chokepoint (ovl_real_fileattr_get) so all callers benefit.
|
|Fixes: 72db82115d2b ("ovl: copy up sync/noatime fileattr flags")
|Signed-off-by: smolvm <smolvm@users.noreply.github.com>
|---
| fs/overlayfs/inode.c | 2 +-
| 1 file changed, 1 insertion(+), 1 deletion(-)
|
|diff --git a/fs/overlayfs/inode.c b/fs/overlayfs/inode.c
|index abc1234..def5678 100644
|--- a/fs/overlayfs/inode.c
|+++ b/fs/overlayfs/inode.c
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
1 out of 1 hunk ignored
make: *** [Makefile:107: linux-6.12.95] Error 1
make: Leaving directory '/startdir/src/smolvm/libkrunfw'
Error while executing command, exit code: 2
==> ERROR: A failure occurred in build().
    Aborting...
==> ERROR: Build failed, check /home/alhp/workspace/chroot/build_8aa9fdd7-01a6-45e5-8210-5b43e625e418/build
