返回新闻概述

LXC 4.0.5 LTS 已发布

2020 年 10 月 22 日

介绍

LXC 团队很高兴地宣布 LXC 4.0.5 发布!

这是 LXC 4.0 的第五个 bug 修复版本,支持到 2025 年 6 月。

错误修复

本版本的一些亮点包括

  • 支持在容器内分配 PTS 设备
  • 加固更多路径/挂载处理逻辑
  • 重新设计 LSM 逻辑以限制初始化程序的使用

完整的提交列表如下

详细变更日志
  • terminal: 安全地从容器内部分配 pts 设备
  • macro: 定义 TIOCGPTPEER(如果缺失)
  • conf: 使用 openat() 而不是 open_tree()
  • seccomp: 不要关闭主循环,只需删除处理程序
  • seccomp: 添加 seccomp_notify_fd_active api 扩展
  • seccomp: 将通知 fd 作为消息的一部分发送
  • api-extension: 添加缺失的 seccomp_proxy_send_notify_fd 扩展
  • 恢复 "templates/lxc-download.in: 使用 GPG 选项 --receive-keys 而不是 --recv-keys"
  • lxc-download: 修复重试循环
  • syscalls: 添加 openat2()
  • utils: 添加基于 openat2() 的 safe_mount_beneath()
  • conf: 将 mount_autodev() 切换到新的 safe_mount_beneath() 助手
  • cgfsng: 使用 safe_mount_beneath()
  • utils: 引入 safe_mount_beneath_at()
  • conf: 将文件描述符存储到 struct lxc_rootfs 中的根挂载点
  • conf: 在 mount_autodev() 中使用存储的容器挂载点 fd
  • file_utils: 添加 exists_dir_at()
  • conf: 通过 save_mount_beneath_at() 加固 lxc_fill_autodev()
  • conf: 将 /dev 设置移至基于文件描述符
  • terminal: 加固终端分配
  • lsm: 重新设计 lsm 处理
  • lsm: 在 ase 我们使用多线程的情况下使用原子操作
  • lsm: 删除对原子操作的需求
  • 更新文档以反映对纯 cgroupv2 的缺乏支持
  • cgfsng: 修复 cgroup 附加 cgroup 创建
  • 删除 lxc.service 中过时的选项,修复 #3527
  • 仅检查 rootfs 作为文件系统类型
  • cgroups: 修复 armhf 构建
  • 删除无用的参数
  • 避免 lxc-attach 中的空指针解引用
  • terminal: 引入 lxc_terminal_signal_sigmask_safe_blocked()
  • attach: 使用 lxc_terminal_signal_sigmask_safe_blocked()
  • commands: 如果 unfreeze 失败,不要失败
  • lxc-usernsexec: 与其他地方类似,setgroups() 在 EPERM 上不应该失败
  • 删除关于标准输出的过时设置
  • seccomp: 检查 syscall 是否在兼容体系结构上受支持。
  • seccomp: 记录无效的 seccomp 通知 ID
  • seccomp: 改善默认通知发送
  • seccomp: 修复 powerpc 上的编译
  • sync: 切换到新的错误助手
  • sync: 记录同步状态
  • start: 改善 devpts fd 发送
  • conf: 始终将响应发送给等待 devptfs_fd 的父进程
  • conf: 考虑发送 devpts fd 时的提前返回

支持和升级

LXC 4.0 分支支持到 2025 年 6 月。
只有错误修复和安全问题会被包含在稳定的 bug 修复版本中,因此始终安全且建议保持最新并运行最新的 bug 修复版本。

下载