Files
RedBear-OS/build-live.log
T
vasilito 0ec7bd46bb Phase 3: GPU 3D drivers + Phase 1-2 stability fixes — full rollup
ROLLUP of all Phase 1-3 work on branch 0.3.0, targeting a production-ready
console + full graphical desktop under Intel and Virgl/VirtIO-GPU.

=== Phase 1 — Stability ===
 - fbcond: Enter key handler (scancode 0x1C→\n), display map buffering,
   control-char filter in all 7 keymaps, write_event assert
 - build-redbear.sh: auto-rebuild-prefix when fork timestamps are newer
   than prefix/x86_64-unknown-redox/sysroot (was warning-only). Added
   configurable REDBEAR_SKIP_PREFIX_REBUILD guard.
 - build-redbear.sh: set explicit keymap '-K us' in console activation
 - config/redbear-device-services.toml: remove spurious init.d service
   files for redbear-acmd/ecmd/usbaudiod. These USB device daemons are
   spawned dynamically by pcid-spawner, not as boot-time init services.
   Starting them without args panicked the boot flow.
 - relibc: grantpt/unlockpt/ptsname (then deduplicated against stdlib)
 - userutils: cherry-pick upstream getty commit 2834434 (standard C
   ptsname/grantpt/unlockpt)
 - base fork: Russian (ЙЦУКЕН) keymap + inputd control-char filter
   (K_ESC/K_BKSP/K_ENTER → \0, commit 73e44d81 in submodule/base)

=== Phase 2 — Login & Console ===
 - login.rs: restored to 0.2.5-known-good liner-based prompt
 - redbear-upower: removed tokio full/signal features → protection fault fix
 - redbear-power: excluded temporarily (being fixed in other session)
 - tlc version: updated to 0.3.0

=== Phase 3 — GPU/3D Drivers (commit 0898332f7a) ===
Intel i915: FULLY implemented — real ring buffer + MMIO command
submission via GEM DMA → GGTT → i915 render ring, with hardware
head-pointer polling (2M iterations, 50µs backoff). Zero stubs.

VirtIO GPU/Virgl (VirtioTransport): 11 VIRTGPU ioctls (GETPARAM,
GET_CAPS, RESOURCE_CREATE, RESOURCE_INFO, CONTEXT_INIT, EXECBUFFER,
WAIT, TRANSFER_TO_HOST, TRANSFER_FROM_HOST, MAP, CREATE_BLOB) ported
from Linux 7.1 virtgpu_ioctl.c and virtgpu_vq.c.
 - driver.rs: 8 virgl_* trait methods (default Unsupported)
 - scheme.rs: 11 ioctl constants + 8 wire structures + dispatch
 - virtio/transport.rs: PCI capability discovery, feature negotiation,
   control+cursor virtqueue setup, vring descriptor building
 - virtio/mod.rs: real implementations for all 8 virgl_* methods
 - intel/mod.rs: explicit virgl Unsupported stubs

Other changes from active sessions: Cargo.toml version bumps, linux-kpi
headers, libpciaccess recipe, mesa/recipe.toml, kf6 patches, expat,
driver-manager, redbear-sessiond, redbear-compositor, cub, tlc, and
many other local recipes.
2026-07-09 20:29:28 +03:00

1275 lines
52 KiB
Plaintext

fusermount3 -u build/x86_64/redbear-full/filesystem/ || true
fusermount3: entry for /mnt/data/Builds/RedBear-OS/build/x86_64/redbear-full/filesystem not found in /etc/mtab
fusermount3 -u /tmp/redbear_installer/ || true
fusermount3: entry for /tmp/redbear_installer not found in /etc/mtab
rm -f build/x86_64/redbear-full.iso build/x86_64/redbear-full.img build/x86_64/redbear-full-bootloader-live.efi build/x86_64/redbear-full.ipxe
make build/x86_64/redbear-full.iso
make[1]: вход в каталог «/mnt/data/Builds/RedBear-OS»
bash -c 'export REDBEAR_TAG="$1"; exec bash local/scripts/integrate-redbear.sh' _ 'build/x86_64/redbear-full/redbear.tag'
========================================
Red Bear OS Pre-Build Integration
========================================
Root: RedBear-OS
Tag: build/x86_64/redbear-full/redbear.tag
==> Ensuring custom recipe symlinks...
⚠️ Refusing to replace directory recipes/archives/uutils-tar
⚠️ Refusing to replace directory recipes/libs/freetype2
⚠️ Refusing to replace directory recipes/libs/glib
⚠️ Refusing to replace directory recipes/libs/libxau
⚠️ Refusing to replace directory recipes/tools/file
✅ Custom recipe symlinks ready (188 linked, 5 skipped)
==> Validating local source forks...
✅ local/sources/base: 184 commits
✅ local/sources/bootloader: 9 commits
✅ local/sources/installer: 328 commits
✅ local/sources/relibc: 37 commits
✅ local/sources/kernel: 2783 commits
✅ Local source forks validated
==> Validating Red Bear configs...
✅ Found Red Bear target config(s): redbear-mini.toml redbear-full.toml redbear-grub.toml
==> Validating branding assets...
✅ Branding assets present
==> Checking AMD firmware blobs...
⚠️ No AMD firmware blobs found in local/firmware/amdgpu/
==> Staging branding assets into recipe source...
✅ branding icon already staged
✅ branding loading background already staged
==> Staging firmware blobs into firmware-loader recipe source...
⚠️ Skipping firmware staging because no AMD firmware blobs were found
==> Updating build tag...
✅ Updated tag file: build/x86_64/redbear-full/redbear.tag
✅ Red Bear integration complete
export PATH="/mnt/data/Builds/RedBear-OS/prefix/x86_64-unknown-redox/sysroot//bin:$PATH" && \
export COOKBOOK_HOST_SYSROOT="/mnt/data/Builds/RedBear-OS/prefix/x86_64-unknown-redox/sysroot/" && \
./target/release/repo cook "--filesystem=config/redbear-full.toml" --with-package-deps
WARN: binary store missing repo/x86_64-unknown-redox/base.pkgar — will rebuild
DEBUG: dependency blake3 hashes unchanged (content-based cache)
DEBUG: using cached sysroot
+ export PATH=/mnt/data/Builds/RedBear-OS/bin:/home/kellito/.redoxer/x86_64-unknown-redox/toolchain/bin:/mnt/data/Builds/RedBear-OS/prefix/x86_64-unknown-redox/sysroot//bin:/home/kellito/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/opt/android-sdk/cmdline-tools/latest/bin:/opt/android-sdk/platform-tools:/opt/android-sdk/tools:/opt/android-sdk/tools/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/usr/lib/rustup/bin
+ PATH=/mnt/data/Builds/RedBear-OS/bin:/home/kellito/.redoxer/x86_64-unknown-redox/toolchain/bin:/mnt/data/Builds/RedBear-OS/prefix/x86_64-unknown-redox/sysroot//bin:/home/kellito/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/opt/android-sdk/cmdline-tools/latest/bin:/opt/android-sdk/platform-tools:/opt/android-sdk/tools:/opt/android-sdk/tools/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/usr/lib/rustup/bin
+ '[' '!' -z '' ']'
+ REDOXER_TOOLCHAIN=/home/kellito/.redoxer/x86_64-unknown-redox/toolchain
+ '[' -d /home/kellito/.redoxer/x86_64-unknown-redox/toolchain/bin ']'
+ export PATH=/home/kellito/.redoxer/x86_64-unknown-redox/toolchain/bin:/mnt/data/Builds/RedBear-OS/bin:/home/kellito/.redoxer/x86_64-unknown-redox/toolchain/bin:/mnt/data/Builds/RedBear-OS/prefix/x86_64-unknown-redox/sysroot//bin:/home/kellito/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/opt/android-sdk/cmdline-tools/latest/bin:/opt/android-sdk/platform-tools:/opt/android-sdk/tools:/opt/android-sdk/tools/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/usr/lib/rustup/bin
+ PATH=/home/kellito/.redoxer/x86_64-unknown-redox/toolchain/bin:/mnt/data/Builds/RedBear-OS/bin:/home/kellito/.redoxer/x86_64-unknown-redox/toolchain/bin:/mnt/data/Builds/RedBear-OS/prefix/x86_64-unknown-redox/sysroot//bin:/home/kellito/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/opt/android-sdk/cmdline-tools/latest/bin:/opt/android-sdk/platform-tools:/opt/android-sdk/tools:/opt/android-sdk/tools/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/usr/lib/rustup/bin
+ export CARGO_TARGET_DIR=/mnt/data/Builds/RedBear-OS/recipes/core/base/target/x86_64-unknown-redox/build/target
+ CARGO_TARGET_DIR=/mnt/data/Builds/RedBear-OS/recipes/core/base/target/x86_64-unknown-redox/build/target
+ export CPPFLAGS=-I/mnt/data/Builds/RedBear-OS/recipes/core/base/target/x86_64-unknown-redox/sysroot/include
+ CPPFLAGS=-I/mnt/data/Builds/RedBear-OS/recipes/core/base/target/x86_64-unknown-redox/sysroot/include
+ USER_LDFLAGS=
+ export 'LDFLAGS=-L/mnt/data/Builds/RedBear-OS/recipes/core/base/target/x86_64-unknown-redox/sysroot/lib --static'
+ LDFLAGS='-L/mnt/data/Builds/RedBear-OS/recipes/core/base/target/x86_64-unknown-redox/sysroot/lib --static'
+ REDBEAR_PREFIX_SYSROOT=/mnt/data/Builds/RedBear-OS/prefix/x86_64-unknown-redox/sysroot
+ '[' -d /mnt/data/Builds/RedBear-OS/prefix/x86_64-unknown-redox/sysroot/x86_64-unknown-redox/lib ']'
+ export 'LDFLAGS=-L/mnt/data/Builds/RedBear-OS/recipes/core/base/target/x86_64-unknown-redox/sysroot/lib --static -L/mnt/data/Builds/RedBear-OS/prefix/x86_64-unknown-redox/sysroot/x86_64-unknown-redox/lib'
+ LDFLAGS='-L/mnt/data/Builds/RedBear-OS/recipes/core/base/target/x86_64-unknown-redox/sysroot/lib --static -L/mnt/data/Builds/RedBear-OS/prefix/x86_64-unknown-redox/sysroot/x86_64-unknown-redox/lib'
+ '[' x86_64-unknown-redox '!=' x86_64-unknown-linux-gnu ']'
+ export PKG_CONFIG_ALLOW_CROSS=1
+ PKG_CONFIG_ALLOW_CROSS=1
+ export PKG_CONFIG_PATH=
+ PKG_CONFIG_PATH=
+ export PKG_CONFIG_LIBDIR=/mnt/data/Builds/RedBear-OS/recipes/core/base/target/x86_64-unknown-redox/sysroot/lib/pkgconfig
+ PKG_CONFIG_LIBDIR=/mnt/data/Builds/RedBear-OS/recipes/core/base/target/x86_64-unknown-redox/sysroot/lib/pkgconfig
+ export PKG_CONFIG_SYSROOT_DIR=/mnt/data/Builds/RedBear-OS/recipes/core/base/target/x86_64-unknown-redox/sysroot
+ PKG_CONFIG_SYSROOT_DIR=/mnt/data/Builds/RedBear-OS/recipes/core/base/target/x86_64-unknown-redox/sysroot
+ build_type=release
+ install_flags=--no-track
+ build_flags=--release
+ '[' '!' -z '' ']'
+ '[' '!' -z '' ']'
+ reexport_flags
+ target=x86_64_unknown_redox
+ export CFLAGS_x86_64_unknown_redox=-I/mnt/data/Builds/RedBear-OS/recipes/core/base/target/x86_64-unknown-redox/sysroot/include
+ CFLAGS_x86_64_unknown_redox=-I/mnt/data/Builds/RedBear-OS/recipes/core/base/target/x86_64-unknown-redox/sysroot/include
+ export CXXFLAGS_x86_64_unknown_redox=-I/mnt/data/Builds/RedBear-OS/recipes/core/base/target/x86_64-unknown-redox/sysroot/include
+ CXXFLAGS_x86_64_unknown_redox=-I/mnt/data/Builds/RedBear-OS/recipes/core/base/target/x86_64-unknown-redox/sysroot/include
+ export 'LDFLAGS_x86_64_unknown_redox=-L/mnt/data/Builds/RedBear-OS/recipes/core/base/target/x86_64-unknown-redox/sysroot/lib --static -L/mnt/data/Builds/RedBear-OS/prefix/x86_64-unknown-redox/sysroot/x86_64-unknown-redox/lib'
+ LDFLAGS_x86_64_unknown_redox='-L/mnt/data/Builds/RedBear-OS/recipes/core/base/target/x86_64-unknown-redox/sysroot/lib --static -L/mnt/data/Builds/RedBear-OS/prefix/x86_64-unknown-redox/sysroot/x86_64-unknown-redox/lib'
+ COOKBOOK_CARGO=/mnt/data/Builds/RedBear-OS/target/release/cookbook_redbear_redoxer
+ COOKBOOK_CARGO_FLAGS=(--locked)
+ COOKBOOK_CONFIGURE=/mnt/data/Builds/RedBear-OS/local/sources/base/configure
+ COOKBOOK_CONFIGURE_FLAGS=(--host="${GNU_TARGET}" --prefix="/usr" --disable-shared --enable-static)
+ COOKBOOK_MAKE=make
+ COOKBOOK_CMAKE=cmake
+ COOKBOOK_NINJA=ninja
+ COOKBOOK_CMAKE_FLAGS=(-DBUILD_SHARED_LIBS=False -DENABLE_SHARED=False -DENABLE_STATIC=True)
+ COOKBOOK_MESON=meson
+ COOKBOOK_MESON_FLAGS=(--buildtype release --wrap-mode nofallback -Ddefault_library=static -Dprefix=/usr)
+ COOKBOOK_AUTORECONF=autoreconf
+ mkdir -pv /mnt/data/Builds/RedBear-OS/recipes/core/base/target/x86_64-unknown-redox/stage.tmp/usr/bin
mkdir: создан каталог '/mnt/data/Builds/RedBear-OS/recipes/core/base/target/x86_64-unknown-redox/stage.tmp/usr'
mkdir: создан каталог '/mnt/data/Builds/RedBear-OS/recipes/core/base/target/x86_64-unknown-redox/stage.tmp/usr/bin'
+ for package in audiod ipcd ptyd dhcpd
+ /mnt/data/Builds/RedBear-OS/target/release/cookbook_redbear_redoxer build --manifest-path /mnt/data/Builds/RedBear-OS/local/sources/base/audiod/Cargo.toml --target x86_64-unknown-redox --release
warning: /mnt/data/Builds/RedBear-OS/local/sources/base/drivers/hwd/Cargo.toml: `default-features` is ignored for libredox, since `default-features` was true for `workspace.dependencies.libredox`, this could become a hard error in the future
warning: /mnt/data/Builds/RedBear-OS/local/sources/base/netstack/Cargo.toml: `default-features` is ignored for log, since `default-features` was not specified for `workspace.dependencies.log`, this could become a hard error in the future
warning: `extern` block uses type `[u8]`, which is not FFI-safe
--> /mnt/data/Builds/RedBear-OS/local/sources/libredox/src/lib.rs:314:77
|
314 | fn redox_get_proc_credentials_v1(cap_fd: usize, target_pid: usize, buf: &mut [u8])
| ^^^^^^^^^ not FFI-safe
|
= help: consider using a raw pointer instead
= note: slices have no C equivalent
= note: `#[warn(improper_ctypes)]` on by default
warning: `libredox` (lib) generated 1 warning
warning: direct cast of function item into an integer
--> audiod/src/main.rs:44:83
|
44 | addr_of_mut!((*sigaction.as_mut_ptr()).sa_sigaction).write(sigusr_handler as usize);
| ^^^^^^^^
|
= note: `#[warn(function_casts_as_integer)]` on by default
help: first cast to a pointer `as *const ()`
|
44 | addr_of_mut!((*sigaction.as_mut_ptr()).sa_sigaction).write(sigusr_handler as *const () as usize);
| ++++++++++++
warning: `audiod` (bin "audiod") generated 1 warning (run `cargo fix --bin "audiod" -p audiod` to apply 1 suggestion)
Finished `release` profile [optimized] target(s) in 0.21s
+ cp -v target/x86_64-unknown-redox/release/audiod /mnt/data/Builds/RedBear-OS/recipes/core/base/target/x86_64-unknown-redox/stage.tmp/usr/bin/audiod
'target/x86_64-unknown-redox/release/audiod' -> '/mnt/data/Builds/RedBear-OS/recipes/core/base/target/x86_64-unknown-redox/stage.tmp/usr/bin/audiod'
+ for package in audiod ipcd ptyd dhcpd
+ /mnt/data/Builds/RedBear-OS/target/release/cookbook_redbear_redoxer build --manifest-path /mnt/data/Builds/RedBear-OS/local/sources/base/ipcd/Cargo.toml --target x86_64-unknown-redox --release
warning: /mnt/data/Builds/RedBear-OS/local/sources/base/drivers/hwd/Cargo.toml: `default-features` is ignored for libredox, since `default-features` was true for `workspace.dependencies.libredox`, this could become a hard error in the future
warning: /mnt/data/Builds/RedBear-OS/local/sources/base/netstack/Cargo.toml: `default-features` is ignored for log, since `default-features` was not specified for `workspace.dependencies.log`, this could become a hard error in the future
warning: `extern` block uses type `[u8]`, which is not FFI-safe
--> /mnt/data/Builds/RedBear-OS/local/sources/libredox/src/lib.rs:314:77
|
314 | fn redox_get_proc_credentials_v1(cap_fd: usize, target_pid: usize, buf: &mut [u8])
| ^^^^^^^^^ not FFI-safe
|
= help: consider using a raw pointer instead
= note: slices have no C equivalent
= note: `#[warn(improper_ctypes)]` on by default
warning: `libredox` (lib) generated 1 warning
Finished `release` profile [optimized] target(s) in 0.10s
+ cp -v target/x86_64-unknown-redox/release/ipcd /mnt/data/Builds/RedBear-OS/recipes/core/base/target/x86_64-unknown-redox/stage.tmp/usr/bin/ipcd
'target/x86_64-unknown-redox/release/ipcd' -> '/mnt/data/Builds/RedBear-OS/recipes/core/base/target/x86_64-unknown-redox/stage.tmp/usr/bin/ipcd'
+ for package in audiod ipcd ptyd dhcpd
+ /mnt/data/Builds/RedBear-OS/target/release/cookbook_redbear_redoxer build --manifest-path /mnt/data/Builds/RedBear-OS/local/sources/base/ptyd/Cargo.toml --target x86_64-unknown-redox --release
warning: /mnt/data/Builds/RedBear-OS/local/sources/base/drivers/hwd/Cargo.toml: `default-features` is ignored for libredox, since `default-features` was true for `workspace.dependencies.libredox`, this could become a hard error in the future
warning: /mnt/data/Builds/RedBear-OS/local/sources/base/netstack/Cargo.toml: `default-features` is ignored for log, since `default-features` was not specified for `workspace.dependencies.log`, this could become a hard error in the future
warning: `extern` block uses type `[u8]`, which is not FFI-safe
--> /mnt/data/Builds/RedBear-OS/local/sources/libredox/src/lib.rs:314:77
|
314 | fn redox_get_proc_credentials_v1(cap_fd: usize, target_pid: usize, buf: &mut [u8])
| ^^^^^^^^^ not FFI-safe
|
= help: consider using a raw pointer instead
= note: slices have no C equivalent
= note: `#[warn(improper_ctypes)]` on by default
warning: `libredox` (lib) generated 1 warning
Finished `release` profile [optimized] target(s) in 0.09s
+ cp -v target/x86_64-unknown-redox/release/ptyd /mnt/data/Builds/RedBear-OS/recipes/core/base/target/x86_64-unknown-redox/stage.tmp/usr/bin/ptyd
'target/x86_64-unknown-redox/release/ptyd' -> '/mnt/data/Builds/RedBear-OS/recipes/core/base/target/x86_64-unknown-redox/stage.tmp/usr/bin/ptyd'
+ for package in audiod ipcd ptyd dhcpd
+ /mnt/data/Builds/RedBear-OS/target/release/cookbook_redbear_redoxer build --manifest-path /mnt/data/Builds/RedBear-OS/local/sources/base/dhcpd/Cargo.toml --target x86_64-unknown-redox --release
warning: /mnt/data/Builds/RedBear-OS/local/sources/base/netstack/Cargo.toml: `default-features` is ignored for log, since `default-features` was not specified for `workspace.dependencies.log`, this could become a hard error in the future
warning: /mnt/data/Builds/RedBear-OS/local/sources/base/drivers/hwd/Cargo.toml: `default-features` is ignored for libredox, since `default-features` was true for `workspace.dependencies.libredox`, this could become a hard error in the future
warning: unused imports: `DHCPOFFER` and `DHCPRELEASE`
--> dhcpd/src/main.rs:8:43
|
8 | Dhcp, DHCPACK, DHCPDISCOVER, DHCPNAK, DHCPOFFER, DHCPREQUEST, DHCPRELEASE,
| ^^^^^^^^^ ^^^^^^^^^^^
|
= note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
warning: unused variable: `iface`
--> dhcpd/src/main.rs:260:5
|
260 | iface: &str,
| ^^^^^ help: if this is intentional, prefix it with an underscore: `_iface`
|
= note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
warning: constant `DHCPOFFER` is never used
--> dhcpd/src/dhcp/mod.rs:22:11
|
22 | pub const DHCPOFFER: u8 = 2;
| ^^^^^^^^^
|
= note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
warning: constant `DHCPDECLINE` is never used
--> dhcpd/src/dhcp/mod.rs:24:11
|
24 | pub const DHCPDECLINE: u8 = 4;
| ^^^^^^^^^^^
warning: constant `DHCPRELEASE` is never used
--> dhcpd/src/dhcp/mod.rs:27:11
|
27 | pub const DHCPRELEASE: u8 = 7;
| ^^^^^^^^^^^
warning: constant `OPT_PARAM_REQUEST` is never used
--> dhcpd/src/dhcp/mod.rs:36:11
|
36 | pub const OPT_PARAM_REQUEST: u8 = 55;
| ^^^^^^^^^^^^^^^^^
warning: `dhcpd` (bin "dhcpd") generated 6 warnings (run `cargo fix --bin "dhcpd" -p dhcpd` to apply 2 suggestions)
Finished `release` profile [optimized] target(s) in 0.08s
+ cp -v target/x86_64-unknown-redox/release/dhcpd /mnt/data/Builds/RedBear-OS/recipes/core/base/target/x86_64-unknown-redox/stage.tmp/usr/bin/dhcpd
'target/x86_64-unknown-redox/release/dhcpd' -> '/mnt/data/Builds/RedBear-OS/recipes/core/base/target/x86_64-unknown-redox/stage.tmp/usr/bin/dhcpd'
+ /mnt/data/Builds/RedBear-OS/target/release/cookbook_redbear_redoxer build --manifest-path /mnt/data/Builds/RedBear-OS/local/sources/base/netstack/Cargo.toml --target x86_64-unknown-redox --release
warning: /mnt/data/Builds/RedBear-OS/local/sources/base/drivers/hwd/Cargo.toml: `default-features` is ignored for libredox, since `default-features` was true for `workspace.dependencies.libredox`, this could become a hard error in the future
warning: /mnt/data/Builds/RedBear-OS/local/sources/base/netstack/Cargo.toml: `default-features` is ignored for log, since `default-features` was not specified for `workspace.dependencies.log`, this could become a hard error in the future
warning: `extern` block uses type `[u8]`, which is not FFI-safe
--> /mnt/data/Builds/RedBear-OS/local/sources/libredox/src/lib.rs:314:77
|
314 | fn redox_get_proc_credentials_v1(cap_fd: usize, target_pid: usize, buf: &mut [u8])
| ^^^^^^^^^ not FFI-safe
|
= help: consider using a raw pointer instead
= note: slices have no C equivalent
= note: `#[warn(improper_ctypes)]` on by default
warning: `libredox` (lib) generated 1 warning
warning: unused import: `Verdict`
--> netstack/src/filter/conntrack.rs:73:28
|
73 | use super::{PacketContext, Verdict};
| ^^^^^^^
|
= note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
warning: unused import: `alloc::collections::BTreeMap`
--> netstack/src/filter/nat.rs:17:5
|
17 | use alloc::collections::BTreeMap;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
warning: unused import: `alloc::rc::Rc`
--> netstack/src/filter/nat.rs:18:5
|
18 | use alloc::rc::Rc;
| ^^^^^^^^^^^^^
warning: unused import: `PacketContext`
--> netstack/src/filter/nat.rs:23:19
|
23 | use super::{Hook, PacketContext};
| ^^^^^^^^^^^^^
warning: unused imports: `Ipv4Address` and `Ipv6Address`
--> netstack/src/filter/rule.rs:18:32
|
18 | use smoltcp::wire::{IpAddress, Ipv4Address, Ipv6Address};
| ^^^^^^^^^^^ ^^^^^^^^^^^
warning: unused import: `ConnState`
--> netstack/src/filter/rule.rs:20:13
|
20 | use super::{ConnState, Hook, PacketContext, Verdict};
| ^^^^^^^^^
warning: unused import: `NatRule`
--> netstack/src/filter/table.rs:35:18
|
35 | use super::nat::{NatRule, NatTable};
| ^^^^^^^
warning: unused import: `ConntrackTable`
--> netstack/src/filter/mod.rs:23:32
|
23 | pub use conntrack::{ConnState, ConntrackTable};
| ^^^^^^^^^^^^^^
warning: unused imports: `NatBinding`, `NatRule`, and `NatTable`
--> netstack/src/filter/mod.rs:24:15
|
24 | pub use nat::{NatBinding, NatRule, NatTable, NatType, rewrite_src_ipv4, parse_nat_rule};
| ^^^^^^^^^^ ^^^^^^^ ^^^^^^^^
warning: unused imports: `FilterRule`, `MatchResult`, `Protocol`, and `StateMatch`
--> netstack/src/filter/mod.rs:25:16
|
25 | pub use rule::{FilterRule, MatchResult, Protocol, StateMatch};
| ^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^
warning: unused imports: `IpAddress`, `Ipv4Address`, and `Ipv6Address`
--> netstack/src/icmp_error.rs:12:57
|
12 | Icmpv4Packet, Icmpv4Repr, Icmpv6Packet, Icmpv6Repr, IpAddress, Ipv4Address, Ipv4Packet,
| ^^^^^^^^^ ^^^^^^^^^^^
13 | Ipv4Repr, Ipv6Address, Ipv6Packet, Ipv6Repr,
| ^^^^^^^^^^^
warning: unused import: `self`
--> netstack/src/link/bridge.rs:24:18
|
24 | use super::stp::{self, BPDU_MAC, PortState, StpState};
| ^^^^
warning: unnecessary parentheses around block return value
--> netstack/src/link/stp.rs:126:13
|
126 | ((d.total_millis() as u64).wrapping_mul(256).wrapping_div(1000) as u16)
| ^ ^
|
= note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
help: remove these parentheses
|
126 - ((d.total_millis() as u64).wrapping_mul(256).wrapping_div(1000) as u16)
126 + (d.total_millis() as u64).wrapping_mul(256).wrapping_div(1000) as u16
|
warning: unused imports: `EthernetFrame` and `EthernetProtocol`
--> netstack/src/link/vlan.rs:18:22
|
18 | EthernetAddress, EthernetFrame, EthernetProtocol, IpAddress, IpCidr,
| ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^
warning: unused import: `Ipv4Address`
--> netstack/src/router/mod.rs:7:32
|
7 | use smoltcp::wire::{IpAddress, Ipv4Address, Ipv4Packet, Ipv6Packet};
| ^^^^^^^^^^^
warning: unused imports: `PacketContext` and `Verdict`
--> netstack/src/scheme/mod.rs:42:34
|
42 | use crate::filter::{FilterTable, PacketContext, Verdict};
| ^^^^^^^^^^^^^ ^^^^^^^
warning: unused import: `redox_scheme::CallerCtx`
--> netstack/src/scheme/udp.rs:2:5
|
2 | use redox_scheme::CallerCtx;
| ^^^^^^^^^^^^^^^^^^^^^^^
warning: unused import: `anyhow::Context`
--> netstack/src/scheme/tcp.rs:9:5
|
9 | use anyhow::Context as _;
| ^^^^^^^^^^^^^^^
warning: unused variable: `is_orig`
--> netstack/src/filter/conntrack.rs:289:14
|
289 | let (is_orig, entry_key) = if let Some(entry) = self.entries.get_mut(&reply_key) {
| ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_orig`
|
= note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
warning: unused variable: `icmp_code`
--> netstack/src/filter/conntrack.rs:370:13
|
370 | let icmp_code = ctx.packet[icmp_offset + 1];
| ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_icmp_code`
warning: unused variable: `l3num`
--> netstack/src/filter/conntrack.rs:460:9
|
460 | l3num: u8,
| ^^^^^ help: if this is intentional, prefix it with an underscore: `_l3num`
warning: unused variable: `now`
--> netstack/src/filter/conntrack.rs:462:9
|
462 | now: Instant,
| ^^^ help: if this is intentional, prefix it with an underscore: `_now`
warning: unused variable: `old_port`
--> netstack/src/filter/nat.rs:245:5
|
245 | old_port: u16,
| ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_old_port`
warning: value assigned to `silent_until` is never read
--> netstack/src/link/ethernet.rs:531:25
|
531 | let (mut tries, mut silent_until) = match self.ndp_state {
| ^^^^^^^^^^^^^^^^ this value is reassigned later and never used
...
536 | silent_until = now + Self::NDP_SILENCE_TIME;
| ------------------------------------------- `silent_until` is overwritten here before the previous value is read
|
= note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
warning: unused variable: `hop_limit`
--> netstack/src/link/ethernet.rs:696:17
|
696 | hop_limit,
| ^^^^^^^^^ help: try ignoring the field: `hop_limit: _`
warning: unused variable: `router_lifetime`
--> netstack/src/link/ethernet.rs:697:17
|
697 | router_lifetime,
| ^^^^^^^^^^^^^^^ help: try ignoring the field: `router_lifetime: _`
warning: unused variable: `reachable_time`
--> netstack/src/link/ethernet.rs:698:17
|
698 | reachable_time,
| ^^^^^^^^^^^^^^ help: try ignoring the field: `reachable_time: _`
warning: unused variable: `retrans_time`
--> netstack/src/link/ethernet.rs:699:17
|
699 | retrans_time,
| ^^^^^^^^^^^^ help: try ignoring the field: `retrans_time: _`
warning: unused variable: `mtu`
--> netstack/src/link/ethernet.rs:701:17
|
701 | mtu,
| ^^^ help: try ignoring the field: `mtu: _`
warning: unused variable: `ipv4`
--> netstack/src/link/ipip.rs:101:16
|
101 | let Ok(ipv4) = Ipv4Packet::new_checked(&packet) else {
| ^^^^ help: if this is intentional, prefix it with an underscore: `_ipv4`
warning: unused variable: `now`
--> netstack/src/link/stp.rs:70:9
|
70 | now: Instant,
| ^^^ help: if this is intentional, prefix it with an underscore: `_now`
warning: unreachable pattern
--> netstack/src/scheme/netcfg/mod.rs:179:25
|
179 | _ => {}
| ^ no value can reach this
|
note: multiple earlier patterns match some of the same values
--> netstack/src/scheme/netcfg/mod.rs:179:25
|
175 | smoltcp::socket::Socket::Tcp(_) => tcp += 1,
| ------------------------------- matches some of the same values
176 | smoltcp::socket::Socket::Udp(_) => udp += 1,
| ------------------------------- matches some of the same values
177 | smoltcp::socket::Socket::Icmp(_) => icmp += 1,
| -------------------------------- matches some of the same values
178 | smoltcp::socket::Socket::Raw(_) => raw += 1,
| ------------------------------- matches some of the same values
179 | _ => {}
| ^ collectively making this unreachable
= note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
warning: unreachable pattern
--> netstack/src/scheme/netcfg/mod.rs:296:29
|
296 | ... _ => {}
| ^ no value can reach this
|
note: multiple earlier patterns match some of the same values
--> netstack/src/scheme/netcfg/mod.rs:296:29
|
292 | ... smoltcp::socket::Socket::Tcp(_) => tcp += 1,
| ------------------------------- matches some of the same values
293 | ... smoltcp::socket::Socket::Udp(_) => udp += 1,
| ------------------------------- matches some of the same values
294 | ... smoltcp::socket::Socket::Icmp(_) => icmp += 1,
| -------------------------------- matches some of the same values
295 | ... smoltcp::socket::Socket::Raw(_) => raw += 1,
| ------------------------------- matches some of the same values
296 | ... _ => {}
| ^ collectively making this unreachable
warning: unused variable: `e`
--> netstack/src/scheme/netcfg/mod.rs:764:59
|
764 | ... dev.set_qdisc(&kind).map_err(|e| {
| ^ help: if this is intentional, prefix it with an underscore: `_e`
warning: unused variable: `e`
--> netstack/src/scheme/netfilter.rs:265:27
|
265 | .map_err(|e| SyscallError::new(syscall::EINVAL))?;
| ^ help: if this is intentional, prefix it with an underscore: `_e`
warning: unused variable: `flags`
--> netstack/src/scheme/udp.rs:234:13
|
234 | let flags = metadata.first().copied().unwrap_or(0) as usize;
| ^^^^^ help: if this is intentional, prefix it with an underscore: `_flags`
warning: type alias `BufferStack` is never used
--> netstack/src/buffer_pool.rs:6:6
|
6 | type BufferStack = Rc<RefCell<Vec<Vec<u8>>>>;
| ^^^^^^^^^^^
|
= note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
warning: struct `Buffer` is never constructed
--> netstack/src/buffer_pool.rs:8:12
|
8 | pub struct Buffer {
| ^^^^^^
warning: methods `resize` and `move_out` are never used
--> netstack/src/buffer_pool.rs:14:12
|
13 | impl Buffer {
| ----------- methods in this implementation
14 | pub fn resize(&mut self, new_len: usize) {
| ^^^^^^
...
18 | pub fn move_out(&mut self) -> Buffer {
| ^^^^^^^^
warning: struct `BufferPool` is never constructed
--> netstack/src/buffer_pool.rs:65:12
|
65 | pub struct BufferPool {
| ^^^^^^^^^^
warning: associated items `new` and `get_buffer` are never used
--> netstack/src/buffer_pool.rs:71:12
|
70 | impl BufferPool {
| --------------- associated items in this implementation
71 | pub fn new(buffers_size: usize) -> BufferPool {
| ^^^
...
78 | pub fn get_buffer(&mut self) -> Buffer {
| ^^^^^^^^^^
warning: associated items `as_u32` and `from_u32` are never used
--> netstack/src/filter/mod.rs:65:18
|
53 | impl Hook {
| --------- associated items in this implementation
...
65 | pub const fn as_u32(self) -> u32 {
| ^^^^^^
...
76 | pub const fn from_u32(id: u32) -> Option<Hook> {
| ^^^^^^^^
warning: associated items `as_u32` and `from_u32` are never used
--> netstack/src/filter/mod.rs:123:18
|
122 | impl Verdict {
| ------------ associated items in this implementation
123 | pub const fn as_u32(self) -> u32 {
| ^^^^^^
...
132 | pub const fn from_u32(id: u32) -> Option<Verdict> {
| ^^^^^^^^
warning: field `reply_key` is never read
--> netstack/src/filter/conntrack.rs:151:5
|
149 | struct ConnEntry {
| --------- field in this struct
150 | key: ConnKey,
151 | reply_key: ConnKey,
| ^^^^^^^^^
|
= note: `ConnEntry` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
warning: field `dst_match` is never read
--> netstack/src/filter/nat.rs:37:9
|
32 | pub struct NatRule {
| ------- field in this struct
...
37 | pub dst_match: Option<IpAddress>,
| ^^^^^^^^^
|
= note: `NatRule` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
warning: fields `orig_dst`, `trans_dst`, `orig_dport`, and `trans_dport` are never read
--> netstack/src/filter/nat.rs:47:9
|
44 | pub struct NatBinding {
| ---------- fields in this struct
...
47 | pub orig_dst: IpAddress,
| ^^^^^^^^
48 | pub trans_dst: IpAddress,
| ^^^^^^^^^
...
51 | pub orig_dport: u16,
| ^^^^^^^^^^
52 | pub trans_dport: u16,
| ^^^^^^^^^^^
|
= note: `NatBinding` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
warning: field `ephemeral_port` is never read
--> netstack/src/filter/nat.rs:75:5
|
71 | pub struct NatTable {
| -------- field in this struct
...
75 | ephemeral_port: u16,
| ^^^^^^^^^^^^^^
|
= note: `NatTable` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
warning: methods `lookup_dnat` and `alloc_ephemeral_port` are never used
--> netstack/src/filter/nat.rs:147:12
|
78 | impl NatTable {
| ------------- methods in this implementation
...
147 | pub fn lookup_dnat(
| ^^^^^^^^^^^
...
166 | pub fn alloc_ephemeral_port(&mut self) -> u16 {
| ^^^^^^^^^^^^^^^^^^^^
warning: function `rewrite_dst_ipv4` is never used
--> netstack/src/filter/nat.rs:230:8
|
230 | pub fn rewrite_dst_ipv4(packet: &mut [u8], new_dst: Ipv4Address) -> bool {
| ^^^^^^^^^^^^^^^^
warning: function `rewrite_port_ipv4` is never used
--> netstack/src/filter/nat.rs:243:8
|
243 | pub fn rewrite_port_ipv4(
| ^^^^^^^^^^^^^^^^^
warning: function `recompute_transport_checksum` is never used
--> netstack/src/filter/nat.rs:280:4
|
280 | fn recompute_transport_checksum(
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
warning: associated constant `ANY` is never used
--> netstack/src/filter/rule.rs:40:15
|
39 | impl Protocol {
| ------------- associated constant in this implementation
40 | pub const ANY: Option<Protocol> = None;
| ^^^
warning: variant `BadFlagValue` is never constructed
--> netstack/src/filter/table.rs:260:5
|
248 | pub enum ParseError {
| ---------- variant in this enum
...
260 | BadFlagValue { flag: &'static str, value: String },
| ^^^^^^^^^^^^
|
= note: `ParseError` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
warning: enum `BondMode` is never used
--> netstack/src/link/bond.rs:24:10
|
24 | pub enum BondMode {
| ^^^^^^^^
warning: struct `Slave` is never constructed
--> netstack/src/link/bond.rs:29:8
|
29 | struct Slave {
| ^^^^^
warning: struct `BondDevice` is never constructed
--> netstack/src/link/bond.rs:34:12
|
34 | pub struct BondDevice {
| ^^^^^^^^^^
warning: associated items `new`, `add_slave`, and `select_slave` are never used
--> netstack/src/link/bond.rs:45:12
|
44 | impl BondDevice {
| --------------- associated items in this implementation
45 | pub fn new(name: &str, mode: BondMode) -> Self {
| ^^^
...
57 | pub fn add_slave<T: LinkDevice + 'static>(&self, dev: T) {
| ^^^^^^^^^
...
64 | fn select_slave(&self) -> Option<usize> {
| ^^^^^^^^^^^^
warning: constant `MAC_AGE_TIMEOUT` is never used
--> netstack/src/link/bridge.rs:28:7
|
28 | const MAC_AGE_TIMEOUT: Duration = Duration::from_secs(300);
| ^^^^^^^^^^^^^^^
warning: struct `MacEntry` is never constructed
--> netstack/src/link/bridge.rs:30:8
|
30 | struct MacEntry {
| ^^^^^^^^
warning: struct `BridgeDevice` is never constructed
--> netstack/src/link/bridge.rs:35:12
|
35 | pub struct BridgeDevice {
| ^^^^^^^^^^^^
warning: multiple associated items are never used
--> netstack/src/link/bridge.rs:45:12
|
44 | impl BridgeDevice {
| ----------------- associated items in this implementation
45 | pub fn new(name: &str) -> Self {
| ^^^
...
56 | pub fn add_port<T: LinkDevice + 'static>(&self, dev: T) {
| ^^^^^^^^
...
67 | pub fn enable_stp(&self, priority: u16, bridge_mac: EthernetAddress) {
| ^^^^^^^^^^
...
72 | fn learn(&self, mac: EthernetAddress, port: usize, now: Instant) {
| ^^^^^
...
85 | fn age_entries(&self, now: Instant) {
| ^^^^^^^^^^^
...
91 | fn lookup(&self, mac: EthernetAddress) -> Option<usize> {
| ^^^^^^
...
95 | fn flood(&self, packet: &[u8], now: Instant, except_port: Option<usize>) {
| ^^^^^
warning: variant `LinkLocalOnly` is never constructed
--> netstack/src/link/ethernet.rs:57:5
|
54 | enum SlaacState {
| ---------- variant in this enum
...
57 | LinkLocalOnly,
| ^^^^^^^^^^^^^
|
= note: `SlaacState` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
warning: constant `GRE_PROTO_IPV4` is never used
--> netstack/src/link/gre.rs:33:7
|
33 | const GRE_PROTO_IPV4: u16 = 0x0800;
| ^^^^^^^^^^^^^^
warning: constant `GRE_FLAG_KEY` is never used
--> netstack/src/link/gre.rs:34:7
|
34 | const GRE_FLAG_KEY: u16 = 0x2000;
| ^^^^^^^^^^^^
warning: struct `GreDevice` is never constructed
--> netstack/src/link/gre.rs:36:12
|
36 | pub struct GreDevice {
| ^^^^^^^^^
warning: associated items `new`, `push_received`, `build_encapsulated`, and `matches_endpoint` are never used
--> netstack/src/link/gre.rs:52:12
|
51 | impl GreDevice {
| -------------- associated items in this implementation
52 | pub fn new(
| ^^^
...
93 | pub fn push_received(&mut self, packet: Vec<u8>) {
| ^^^^^^^^^^^^^
...
97 | fn build_encapsulated(&mut self, inner_packet: &[u8]) -> &[u8] {
| ^^^^^^^^^^^^^^^^^^
...
119 | fn matches_endpoint(&self, outer_packet: &[u8]) -> bool {
| ^^^^^^^^^^^^^^^^
warning: constant `IPIP_PROTO` is never used
--> netstack/src/link/ipip.rs:24:7
|
24 | const IPIP_PROTO: u8 = 4;
| ^^^^^^^^^^
warning: struct `IpipDevice` is never constructed
--> netstack/src/link/ipip.rs:26:12
|
26 | pub struct IpipDevice {
| ^^^^^^^^^^
warning: associated items `new`, `push_received`, `build_outer_header`, and `matches_endpoint` are never used
--> netstack/src/link/ipip.rs:39:12
|
38 | impl IpipDevice {
| --------------- associated items in this implementation
39 | pub fn new(name: &str, parent_name: &str, local_ip: Ipv4Address, remote_ip: Ipv4Address, devices: Rc<RefCell<DeviceList>>) -> Se...
| ^^^
...
53 | pub fn push_received(&mut self, packet: Vec<u8>) {
| ^^^^^^^^^^^^^
...
57 | fn build_outer_header(&mut self, inner_packet: &[u8]) -> &[u8] {
| ^^^^^^^^^^^^^^^^^^
...
74 | fn matches_endpoint(&self, outer_packet: &[u8]) -> bool {
| ^^^^^^^^^^^^^^^^
warning: methods `set_rate` and `set_burst` are never used
--> netstack/src/link/qdisc.rs:34:12
|
26 | impl TokenBucket {
| ---------------- methods in this implementation
...
34 | pub fn set_rate(&mut self, rate_bps: u64) {
| ^^^^^^^^
...
38 | pub fn set_burst(&mut self, burst_bytes: u64) {
| ^^^^^^^^^
warning: method `flush` is never used
--> netstack/src/link/qdisc.rs:112:12
|
71 | impl PriorityQueue {
| ------------------ method in this implementation
...
112 | pub fn flush(&mut self) -> Vec<Vec<u8>> {
| ^^^^^
warning: constant `BPDU_MAC` is never used
--> netstack/src/link/stp.rs:17:11
|
17 | pub const BPDU_MAC: EthernetAddress = EthernetAddress([0x01, 0x80, 0xc2, 0x00, 0x00, 0x00]);
| ^^^^^^^^
warning: constant `DEFAULT_PRIORITY` is never used
--> netstack/src/link/stp.rs:18:11
|
18 | pub const DEFAULT_PRIORITY: u16 = 32768;
| ^^^^^^^^^^^^^^^^
warning: constant `DEFAULT_HELLO` is never used
--> netstack/src/link/stp.rs:19:11
|
19 | pub const DEFAULT_HELLO: Duration = Duration::from_secs(2);
| ^^^^^^^^^^^^^
warning: constant `DEFAULT_MAX_AGE` is never used
--> netstack/src/link/stp.rs:20:11
|
20 | pub const DEFAULT_MAX_AGE: Duration = Duration::from_secs(20);
| ^^^^^^^^^^^^^^^
warning: constant `DEFAULT_FORWARD_DELAY` is never used
--> netstack/src/link/stp.rs:21:11
|
21 | pub const DEFAULT_FORWARD_DELAY: Duration = Duration::from_secs(15);
| ^^^^^^^^^^^^^^^^^^^^^
warning: enum `PortState` is never used
--> netstack/src/link/stp.rs:24:10
|
24 | pub enum PortState {
| ^^^^^^^^^
warning: struct `StpState` is never constructed
--> netstack/src/link/stp.rs:30:12
|
30 | pub struct StpState {
| ^^^^^^^^
warning: multiple associated items are never used
--> netstack/src/link/stp.rs:41:12
|
40 | impl StpState {
| ------------- associated items in this implementation
41 | pub fn new(priority: u16, mac: EthernetAddress, port_count: usize) -> Self {
| ^^^
...
54 | pub fn bridge_id(&self) -> u64 {
| ^^^^^^^^^
...
58 | pub fn send_hello(&mut self, now: Instant) -> bool {
| ^^^^^^^^^^
...
66 | pub fn process_bpdu(
| ^^^^^^^^^^^^
...
102 | pub fn is_blocked(&self, port_idx: usize) -> bool {
| ^^^^^^^^^^
...
106 | fn port_cost(&self) -> u32 {
| ^^^^^^^^^
...
110 | pub fn build_bpdu(&self) -> Vec<u8> {
| ^^^^^^^^^^
warning: struct `BpduMessage` is never constructed
--> netstack/src/link/stp.rs:135:8
|
135 | struct BpduMessage {
| ^^^^^^^^^^^
warning: associated function `parse` is never used
--> netstack/src/link/stp.rs:142:8
|
141 | impl BpduMessage {
| ---------------- associated function in this implementation
142 | fn parse(data: &[u8]) -> Option<Self> {
| ^^^^^
warning: function `mac_to_u64` is never used
--> netstack/src/link/stp.rs:153:4
|
153 | fn mac_to_u64(mac: EthernetAddress) -> u64 {
| ^^^^^^^^^^
warning: constant `TPID_8021Q` is never used
--> netstack/src/link/vlan.rs:23:7
|
23 | const TPID_8021Q: u16 = 0x8100;
| ^^^^^^^^^^
warning: struct `VlanDevice` is never constructed
--> netstack/src/link/vlan.rs:25:12
|
25 | pub struct VlanDevice {
| ^^^^^^^^^^
warning: multiple associated items are never used
--> netstack/src/link/vlan.rs:40:12
|
39 | impl VlanDevice {
| --------------- associated items in this implementation
40 | pub fn new(name: &str, parent_name: &str, vlan_id: u16, devices: Rc<RefCell<DeviceList>>) -> Self {
| ^^^
...
63 | pub fn vlan_id(&self) -> u16 {
| ^^^^^^^
...
67 | pub fn parent_name(&self) -> &str {
| ^^^^^^^^^^^
...
71 | pub fn set_priority(&mut self, pcp: u8) {
| ^^^^^^^^^^^^
...
78 | pub fn push_received(&mut self, packet: Vec<u8>) {
| ^^^^^^^^^^^^^
...
82 | fn insert_tag(&mut self, packet: &[u8]) -> &[u8] {
| ^^^^^^^^^^
...
94 | fn strip_tag(&mut self, packet: &[u8]) -> Option<&[u8]> {
| ^^^^^^^^^
...
108 | pub fn matches_tag(&self, packet: &[u8]) -> bool {
| ^^^^^^^^^^^
warning: constant `VXLAN_PORT` is never used
--> netstack/src/link/vxlan.rs:27:7
|
27 | const VXLAN_PORT: u16 = 4789;
| ^^^^^^^^^^
warning: constant `VXLAN_FLAGS` is never used
--> netstack/src/link/vxlan.rs:28:7
|
28 | const VXLAN_FLAGS: u8 = 0x08;
| ^^^^^^^^^^^
warning: struct `VxlanDevice` is never constructed
--> netstack/src/link/vxlan.rs:30:12
|
30 | pub struct VxlanDevice {
| ^^^^^^^^^^^
warning: associated items `new`, `push_received`, `build_encapsulated`, `matches_endpoint`, and `decapsulate` are never used
--> netstack/src/link/vxlan.rs:46:12
|
45 | impl VxlanDevice {
| ---------------- associated items in this implementation
46 | pub fn new(
| ^^^
...
74 | pub fn push_received(&mut self, packet: Vec<u8>) {
| ^^^^^^^^^^^^^
...
78 | fn build_encapsulated(&mut self, inner_packet: &[u8]) -> &[u8] {
| ^^^^^^^^^^^^^^^^^^
...
134 | fn matches_endpoint(&self, outer_packet: &[u8]) -> bool {
| ^^^^^^^^^^^^^^^^
...
160 | fn decapsulate(&mut self, outer_packet: &[u8]) -> Option<&[u8]> {
| ^^^^^^^^^^^
warning: variants `Blackhole`, `Unreachable`, and `Prohibit` are never constructed
--> netstack/src/router/route_table.rs:9:5
|
7 | pub enum RouteType {
| --------- variants in this enum
8 | Unicast,
9 | Blackhole,
| ^^^^^^^^^
10 | Unreachable,
| ^^^^^^^^^^^
11 | Prohibit,
| ^^^^^^^^
|
= note: `RouteType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
warning: associated function `from_str` is never used
--> netstack/src/router/route_table.rs:24:12
|
14 | impl RouteType {
| -------------- associated function in this implementation
...
24 | pub fn from_str(s: &str) -> Option<Self> {
| ^^^^^^^^
warning: associated function `with_type` is never used
--> netstack/src/router/route_table.rs:57:12
|
45 | impl Rule {
| --------- associated function in this implementation
...
57 | pub fn with_type(
| ^^^^^^^^^
warning: method `lookup_device` is never used
--> netstack/src/router/route_table.rs:125:12
|
104 | impl RouteTable {
| --------------- method in this implementation
...
125 | pub fn lookup_device(&self, dst: &IpAddress) -> Option<Rc<str>> {
| ^^^^^^^^^^^^^
warning: field `observer` is never read
--> netstack/src/scheme/mod.rs:83:5
|
67 | pub struct Smolnetd {
| -------- field in this struct
...
83 | observer: ObserverRef,
| ^^^^^^^^
warning: associated constant `MAX_PACKET_SIZE` is never used
--> netstack/src/scheme/mod.rs:87:15
|
86 | impl Smolnetd {
| ------------- associated constant in this implementation
87 | pub const MAX_PACKET_SIZE: usize = 2048;
| ^^^^^^^^^^^^^^^
warning: constant `SO_REUSEADDR` is never used
--> netstack/src/scheme/tcp.rs:19:7
|
19 | const SO_REUSEADDR: usize = 2;
| ^^^^^^^^^^^^
warning: field `write_buf` is never read
--> netstack/src/scheme/tun.rs:51:5
|
47 | struct TunFile {
| ------- field in this struct
...
51 | write_buf: Vec<u8>,
| ^^^^^^^^^
warning: constant `SO_REUSEADDR` is never used
--> netstack/src/scheme/udp.rs:20:7
|
20 | const SO_REUSEADDR: usize = 2;
| ^^^^^^^^^^^^
warning: constant `SO_BROADCAST` is never used
--> netstack/src/scheme/udp.rs:21:7
|
21 | const SO_BROADCAST: usize = 6;
| ^^^^^^^^^^^^
warning: constant `LINK_LOCAL_PREFIX` is never used
--> netstack/src/slaac.rs:23:11
|
23 | pub const LINK_LOCAL_PREFIX: Ipv6Cidr = Ipv6Cidr::new(
| ^^^^^^^^^^^^^^^^^
warning: constant `ALL_NODES_MULTICAST` is never used
--> netstack/src/slaac.rs:31:11
|
31 | pub const ALL_NODES_MULTICAST: Ipv6Address =
| ^^^^^^^^^^^^^^^^^^^
warning: constant `ICMPV6_RS` is never used
--> netstack/src/slaac.rs:34:7
|
34 | const ICMPV6_RS: u8 = 133;
| ^^^^^^^^^
warning: constant `ICMPV6_RA` is never used
--> netstack/src/slaac.rs:35:7
|
35 | const ICMPV6_RA: u8 = 134;
| ^^^^^^^^^
warning: constant `ND_OPT_SOURCE_LL_ADDR` is never used
--> netstack/src/slaac.rs:39:7
|
39 | const ND_OPT_SOURCE_LL_ADDR: u8 = 1;
| ^^^^^^^^^^^^^^^^^^^^^
warning: constant `ND_OPT_PREFIX_INFO` is never used
--> netstack/src/slaac.rs:41:7
|
41 | const ND_OPT_PREFIX_INFO: u8 = 3;
| ^^^^^^^^^^^^^^^^^^
warning: constant `RA_TIMEOUT` is never used
--> netstack/src/slaac.rs:43:7
|
43 | const RA_TIMEOUT: Duration = Duration::from_secs(5);
| ^^^^^^^^^^
warning: constant `MAX_RS_RETRIES` is never used
--> netstack/src/slaac.rs:44:7
|
44 | const MAX_RS_RETRIES: u8 = 3;
| ^^^^^^^^^^^^^^
warning: enum `SlacdState` is never used
--> netstack/src/slaac.rs:47:10
|
47 | pub enum SlacdState {
| ^^^^^^^^^^
warning: function `build_router_solicitation` is never used
--> netstack/src/slaac.rs:103:8
|
103 | pub fn build_router_solicitation(mac: EthernetAddress) -> Vec<u8> {
| ^^^^^^^^^^^^^^^^^^^^^^^^^
warning: struct `ParsedRa` is never constructed
--> netstack/src/slaac.rs:118:12
|
118 | pub struct ParsedRa {
| ^^^^^^^^
warning: struct `RaPrefix` is never constructed
--> netstack/src/slaac.rs:127:12
|
127 | pub struct RaPrefix {
| ^^^^^^^^
warning: function `parse_router_advertisement` is never used
--> netstack/src/slaac.rs:137:8
|
137 | pub fn parse_router_advertisement(data: &[u8]) -> Option<ParsedRa> {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
warning: struct `Slacd` is never constructed
--> netstack/src/slaac.rs:205:12
|
205 | pub struct Slacd {
| ^^^^^
warning: associated items `new`, `state`, `link_local`, `tick`, and `process_ra` are never used
--> netstack/src/slaac.rs:213:12
|
212 | impl Slacd {
| ---------- associated items in this implementation
213 | pub fn new(mac: EthernetAddress) -> Self {
| ^^^
...
223 | pub fn state(&self) -> SlacdState {
| ^^^^^
...
227 | pub fn link_local(&self) -> Ipv6Cidr {
| ^^^^^^^^^^
...
233 | pub fn tick(&mut self, now: Instant) -> Option<Vec<u8>> {
| ^^^^
...
257 | pub fn process_ra(&mut self, ra: &ParsedRa) -> Vec<Ipv6Cidr> {
| ^^^^^^^^^^
warning: unused `std::result::Result` that must be used
--> netstack/src/main.rs:197:9
|
197 | / match event_res.map_err(|e| anyhow!("event result is error: {:?}", e))? {
198 | | EventSource::Network => smolnetd.on_network_scheme_event(),
199 | | EventSource::Time => smolnetd.on_time_event(),
200 | | EventSource::IpScheme => smolnetd.on_ip_scheme_event(),
... |
208 | | .map_err(|e| error!("Received packet error: {:?}", e));
| |______________________________________________________________^
|
= note: this `Result` may be an `Err` variant, which should be handled
= note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
help: use `let _ = ...` to ignore the resulting value
|
197 | let _ = match event_res.map_err(|e| anyhow!("event result is error: {:?}", e))? {
| +++++++
warning: `netstack` (bin "netstack") generated 115 warnings (run `cargo fix --bin "netstack" -p netstack` to apply 32 suggestions)
Finished `release` profile [optimized] target(s) in 0.12s
+ cp -v target/x86_64-unknown-redox/release/netstack /mnt/data/Builds/RedBear-OS/recipes/core/base/target/x86_64-unknown-redox/stage.tmp/usr/bin/netstack
'target/x86_64-unknown-redox/release/netstack' -> '/mnt/data/Builds/RedBear-OS/recipes/core/base/target/x86_64-unknown-redox/stage.tmp/usr/bin/netstack'
+ cp -v target/x86_64-unknown-redox/release/netstack /mnt/data/Builds/RedBear-OS/recipes/core/base/target/x86_64-unknown-redox/stage.tmp/usr/bin/smolnetd
'target/x86_64-unknown-redox/release/netstack' -> '/mnt/data/Builds/RedBear-OS/recipes/core/base/target/x86_64-unknown-redox/stage.tmp/usr/bin/smolnetd'
+ BINS=(gpiod i2c-gpio-expanderd intel-gpiod amd-mp2-i2cd dw-acpi-i2cd e1000d ihdad ihdgd i2c-hidd intel-thc-hidd intel-lpss-i2cd ixgbed pcid pcid-spawner rtl8139d rtl8168d usbctl usbhidd thermald usbhubd ucsid usbscsid virtio-gpud virtio-netd xhcid i2cd inputd fbcond redoxerd)
+ case "${TARGET}" in
+ BINS+=(ac97d sb16d vboxd)
+ mkdir -pv /mnt/data/Builds/RedBear-OS/recipes/core/base/target/x86_64-unknown-redox/stage.tmp/usr/bin /mnt/data/Builds/RedBear-OS/recipes/core/base/target/x86_64-unknown-redox/stage.tmp/usr/lib/drivers
mkdir: создан каталог '/mnt/data/Builds/RedBear-OS/recipes/core/base/target/x86_64-unknown-redox/stage.tmp/usr/lib'
mkdir: создан каталог '/mnt/data/Builds/RedBear-OS/recipes/core/base/target/x86_64-unknown-redox/stage.tmp/usr/lib/drivers'
+ export CARGO_PROFILE_RELEASE_OPT_LEVEL=s
+ CARGO_PROFILE_RELEASE_OPT_LEVEL=s
+ export CARGO_PROFILE_RELEASE_PANIC=abort
+ CARGO_PROFILE_RELEASE_PANIC=abort
+ EXISTING_BINS=()
+ for bin in "${BINS[@]}"
+ grep -Rqs '^name = "gpiod"$' /mnt/data/Builds/RedBear-OS/local/sources/base
+ EXISTING_BINS+=("${bin}")
+ for bin in "${BINS[@]}"
+ grep -Rqs '^name = "i2c-gpio-expanderd"$' /mnt/data/Builds/RedBear-OS/local/sources/base
+ EXISTING_BINS+=("${bin}")
+ for bin in "${BINS[@]}"
+ grep -Rqs '^name = "intel-gpiod"$' /mnt/data/Builds/RedBear-OS/local/sources/base
+ EXISTING_BINS+=("${bin}")
+ for bin in "${BINS[@]}"
+ grep -Rqs '^name = "amd-mp2-i2cd"$' /mnt/data/Builds/RedBear-OS/local/sources/base
+ EXISTING_BINS+=("${bin}")
+ for bin in "${BINS[@]}"
+ grep -Rqs '^name = "dw-acpi-i2cd"$' /mnt/data/Builds/RedBear-OS/local/sources/base
+ EXISTING_BINS+=("${bin}")
+ for bin in "${BINS[@]}"
+ grep -Rqs '^name = "e1000d"$' /mnt/data/Builds/RedBear-OS/local/sources/base
+ EXISTING_BINS+=("${bin}")
+ for bin in "${BINS[@]}"
+ grep -Rqs '^name = "ihdad"$' /mnt/data/Builds/RedBear-OS/local/sources/base
+ EXISTING_BINS+=("${bin}")
+ for bin in "${BINS[@]}"
+ grep -Rqs '^name = "ihdgd"$' /mnt/data/Builds/RedBear-OS/local/sources/base
+ EXISTING_BINS+=("${bin}")
+ for bin in "${BINS[@]}"
+ grep -Rqs '^name = "i2c-hidd"$' /mnt/data/Builds/RedBear-OS/local/sources/base
+ EXISTING_BINS+=("${bin}")
+ for bin in "${BINS[@]}"
+ grep -Rqs '^name = "intel-thc-hidd"$' /mnt/data/Builds/RedBear-OS/local/sources/base
+ EXISTING_BINS+=("${bin}")
+ for bin in "${BINS[@]}"
+ grep -Rqs '^name = "intel-lpss-i2cd"$' /mnt/data/Builds/RedBear-OS/local/sources/base
+ EXISTING_BINS+=("${bin}")
+ for bin in "${BINS[@]}"
+ grep -Rqs '^name = "ixgbed"$' /mnt/data/Builds/RedBear-OS/local/sources/base
+ EXISTING_BINS+=("${bin}")
+ for bin in "${BINS[@]}"
+ grep -Rqs '^name = "pcid"$' /mnt/data/Builds/RedBear-OS/local/sources/base
+ EXISTING_BINS+=("${bin}")
+ for bin in "${BINS[@]}"
+ grep -Rqs '^name = "pcid-spawner"$' /mnt/data/Builds/RedBear-OS/local/sources/base