当前位置:首页>Linux>Linux社区bluetooth周动态(20260813~0819)

Linux社区bluetooth周动态(20260813~0819)

  • 2026-08-20 20:30:07
Linux社区bluetooth周动态(20260813~0819)

Linux 蓝牙子系统周报 (2026-08-13 ~ 2026-08-19)

统计概览

指标
数值
总邮件数
300
人类贡献邮件数
201
补丁系列数
~30+
安全修复类
10+
新功能/新驱动
5+

一、内核蓝牙子系统 (linux-bluetooth)

1. 安全修复

1.1 Bluetooth: ISO: fix use-after-free of listener socket in iso_conn_ready

  • • 作者: Hang Nan (2122295973@qq.com)
  • • 版本: v2 → v3 → v4
  • • 技术分析: 在 ISO 连接建立过程中,当 iso_conn_ready() 被调用时,如果监听 socket 已被并发关闭,hci_conn->sco->sk 可能指向已释放的 socket 对象。该问题根因在于 iso_conn_ready() 访问 listener->sk 时未持有适当的引用计数保护,导致 UAF。修复方案:在路径中增加 sock_hold()/sock_put() 保护或检查 socket 状态后再进行 sk->sk_state 判断。影响范围:所有使用 ISO 连接的蓝牙 LE Audio 场景。
  • • Luiz Augusto von Dentz 审阅: 确认 v3 版本存在残留问题,v4 在 iso_conn_ready() 入口处对 listener socket 增加 RCU 读锁保护。

1.2 Bluetooth: btnxpuart: Validate the FW dump header length

  • • 作者: Ali Ahmet Memis / Neeraj Kale (NXP)
  • • 版本: v1 → v2 → v3 → v4
  • • 技术分析: btnxpuart 驱动的固件转储(FW dump)功能中,从设备接收的 dump header 长度字段未做校验。攻击者可通过恶意固件或伪造设备包,提供超大的 header length 值,导致内核读取越界内存。修复:在 btnxpuart_fw_dump() 中增加对 header length 的边界检查,拒绝超过预期最大值的长度。BluezTestBot 自动测试确认回归测试通过。
  • • 影响范围: NXP 88W8987/8997 等使用 btnxpuart 驱动的设备。

1.3 Bluetooth: eir: Fix OOB read in eir_get_service_data()

  • • 作者: HyeongJun An (sammiee5311@gmail.com)
  • • 版本: v3
  • • 技术分析eir_get_service_data() 函数在处理 Extended Inquiry Response (EIR) 数据时,未正确校验 UUID 长度字段,允许攻击者通过构造特制的 EIR 包触发越界读取(OOB read)。该函数被多个蓝牙协议栈上层调用,包括设备发现和服务发现过程。修复方式:在解析 EIR 数据前增加 eir_data_len 完整性校验,确保 UUID 及其数据字段在有效范围内。

1.4 Bluetooth: btintel: validate version TLV value lengths

  • • 作者: Laxman Acharya Padhya (acharyalaxman8848@gmail.com) / Ali Ahmet Memis
  • • 版本: v1 → v2 (系列 0/3-3/3)
  • • 技术分析: Intel 蓝牙控制器返回的版本 TLV(Type-Length-Value)信息中,value_length 字段未经验证直接用于内存拷贝操作。攻击者可通过提供 0 长度或超长 value 触发内核 OOB 访问。修复:在 btintel_version_info_tlv() 中增加对每个 TLV entry 的 value_length 边界检查,确保其在有效范围内,并拒绝无效的 TLV 条目。该修复是 Intel 蓝牙固件版本解析加固系列的一部分。

1.5 Bluetooth: btintel: bound firmware ID by TLV length

  • • 作者: Laxman Acharya Padhya
  • • 版本: v2 2/3
  • • 技术分析: 在解析 Intel 蓝牙控制器固件版本信息时,固件 ID(firmware ID)字段的读取长度未受 TLV 条目总长度的限制,可能导致读取超出 TLV 有效载荷的内存区域。修复:在拷贝 firmware ID 前,将读取范围限制在 tlv_length 之内。

1.6 Bluetooth: btintel: propagate version TLV parsing errors

  • • 作者: Laxman Acharya Padhya
  • • 版本: v2 3/3
  • • 技术分析: 此前 btintel 驱动在解析版本 TLV 时,即使遇到错误(如无效 TLV 条目)仍会返回部分成功状态,导致调用方认为版本信息有效。修复:将 TLV 解析错误向上传播,使上层调用者(如 hci_dev_open())能够检测到固件版本信息不可靠,从而采取降级或重试策略。

1.7 Bluetooth: btintel: Bound exception info print to the received length

  • • 作者: Ali Ahmet Memis
  • • 技术分析: Intel 蓝牙控制器异常信息打印时,exception_info 数据的拷贝长度未受实际接收数据长度的限制,在异常信息较短的场景下可能导致内核打印越界内存内容。修复:将打印长度限制为 skb->len 减去已解析的固定头部长度。

1.8 Bluetooth: btintel_pcie: fix double free of IRQ in remove()

  • • 作者: Gongwei Li (13875017792@163.com)
  • • 技术分析: btintel_pcie 驱动的 remove() 路径中,如果 btintel_pcie_free() 和 pci_free_irq_vectors() 都被调用,且中断请求线已被释放,再次释放会导致 double-free 安全漏洞。修复:在 remove() 中增加状态标志检查,确保每个 IRQ 只被释放一次。

1.9 Bluetooth: btintel_pcie: Fix array bounds check bugs

  • • 作者: ZhaoJinming (zhaojinming@uniontech.com)
  • • 技术分析: btintel_pcie 驱动的数组边界检查存在 off-by-one 或逻辑错误,可能允许越界数组访问。详细分析:在循环处理 PCIe 传输描述符时,索引检查使用了 >= 而非 > 或类似错误,导致数组最后一个元素之后的内存可被访问。

1.10 Bluetooth: hci_core: Return -ENOMEM when the sent_cmd clone fails

  • • 作者: Hans de Goede (johannes.goede@oss.qualcomm.com)
  • • 技术分析hci_send_cmd_sync() 中,skb_clone() 失败时返回了 0(成功状态),而非 -ENOMEM,导致调用方认为命令发送成功。这可能导致命令超时等待或后续状态不一致。修复:将失败路径的返回值改为 -ENOMEM

1.11 Bluetooth: hci_core: Handle skb_clone() failure in hci_send_cmd_sync()

  • • 作者: Hans de Goede
  • • 技术分析: 在 skb_clone() 返回 NULL 的情况下,hci_send_cmd_sync() 未正确处理 kfree_skb() 的传入 SKB,可能导致内存泄漏。修复:在 clone 失败路径中增加 kfree_skb() 调用。

1.12 Bluetooth: RFCOMM: Validate MTU in rfcomm_apply_pn() to prevent infinite loop

  • • 作者: (Luiz Augusto von Dentz 审阅回复)
  • • 技术分析: RFCOMM 协议参数协商中,如果对端设备发送了畸形的 MTU 值(如 0 或极小值),可能导致 rfcomm_apply_pn() 进入无限循环或资源耗尽。修复:在 rfcomm_apply_pn() 中增加 MTU 值的有效性验证,拒绝超出 [RFCOMM_MIN_MTU, RFCOMM_MAX_MTU] 范围的值。

1.13 Bluetooth: mgmt: reply to cancelled mgmt commands instead of silently dropping

  • • 作者: Shuai Zhang (shuai.zhang@oss.qualcomm.com)
  • • 版本: v2 → v3
  • • 技术分析: 当 management 命令被取消时(如 HCI 设备正在关闭),当前实现静默丢弃该命令,导致用户空间等待超时。修复:在 mgmt 命令取消路径中,向调用方返回明确的错误响应(如 MGMT_STATUS_CANCELLED),避免用户空间应用无响应。该问题影响所有使用 mgmt 接口的蓝牙管理工具(如 bluetoothctl)。

1.14 Bluetooth: cancel devcoredump work during device teardown

  • • 作者: Tristan Madani (tristmd@gmail.com)
  • • 技术分析: 在蓝牙设备注销过程中,如果 devcoredump 工作队列仍在运行,可能在设备数据结构已释放后继续访问,导致 UAF。修复:在 hci_unregister_dev() 中增加 cancel_work_sync() 调用,确保 devcoredump 工作已停止后再释放设备。

1.15 Bluetooth: btmtksdio: Fix out-of-bounds DMA read in the TX path

  • • 作者: Chris Lu (chris.lu@mediatek.com)
  • • 技术分析: MediaTek MT7925 SDIO 蓝牙的 TX 路径中,SKB 数据在 DMA 映射前未确保独占所有权,导致 DMA 引擎在 SKB 被其他上下文释放后仍读取其数据,造成 OOB DMA 读。修复:在 TX 前增加 skb_get() 确保 SKB 引用计数安全。

1.16 Bluetooth: hci_core: add lockdep check to hci_conn lookups

  • • 作者: Pauli Virtanen (pav@iki.fi)
  • • 技术分析: 在 hci_conn 查找路径中增加 lockdep 断言,以检测锁违规。这是对蓝牙连接管理并发安全性的加固措施,有助于发现潜在的竞争条件。

2. 新功能 / 新驱动

2.1 Bluetooth: btbcm: Add Synaptics 4384 chip support

  • • 作者: Kaihsin Chung (kaihsin.chung@synaptics.corp-partner.google.com)
  • • 版本: v1 → v2
  • • 技术分析: 新增对 Synaptics BCM4384 蓝牙控制器的支持。该芯片为 Broadcom IP 授权产品,集成了蓝牙 5.4+ 功能。btbcm 驱动需要添加对应的芯片 ID 和初始化序列。配套 dt-bindings 更新定义了 BCM4384 的设备树绑定。
  • • 审阅: Linus Walleij、Krzysztof Kozlowski、Paul Menzel 参与 review,讨论了芯片 ID 命名规范、dt-bindings 格式规范性等问题。

2.2 Bluetooth: btrtl: Add firmware format v3 support

  • • 作者: Hilda Wu (hildawu@realtek.com)
  • • 版本: v6
  • • 技术分析: Realtek 蓝牙控制器的新固件格式 v3 支持。v3 格式增加了新的配置段和扩展头部,支持 RTL8852BU 等新芯片的固件加载。btrtl 驱动需要识别 v3 格式头部,解析扩展字段,并调用相应的下载流程。

2.3 Bluetooth: btusb: treat 0bda:0002 as a generic HCI device

  • • 作者: Andrew Bille (andrewbille@gmail.com)
  • • 版本: v1 → v2 → v3
  • • 技术分析: USB ID 0bda:0002(Realtek 多协议控制器)在 btusb 驱动中未被正确识别,导致设备无法正常工作。该设备应被当作通用 HCI 设备处理。修复:在 btusb_table 中添加该 ID 的条目,跳过 Realtek 特定的初始化流程,使用通用 HCI 协议。

2.4 Bluetooth: hci_bcm4377: Ignore reserved PHY in ext adv reports on BCM4378

  • • 作者: Lorenzo Stoakes (ljs@kernel.org)
  • • 技术分析: BCM4378 固件在扩展广播报告中可能包含保留的 PHY 字段,这些字段值为特定保留值,不应被驱动解析。修复:在 hci_bcm4377 驱动的扩展广播报告处理中,过滤掉 PHY 值为保留字段的条目。

2.5 mediatek MT7925: update bluetooth firmware to 20260813113236

  • • 作者: Chris Lu (chris.lu@mediatek.com)
  • • 技术分析: 更新 MT7925 蓝牙固件到 20260813113236 版本,修复已知的固件问题。

2.6 Bluetooth: mt7925: recover subsystem-reset timeout through USB re-enumeration (RFC)

  • • 作者: George Maraveyas
  • • 技术分析: MT7925 在 warm reboot 后子系统复位超时的修复方案。通过 USB 核心的 device_schedule_reprobe() 接口触发设备重新枚举,恢复蓝牙功能。该方案为 RFC 状态,涉及 USB 核心层的 API 扩展。

3. 驱动子系统分析

3.1 btusb / 通用 USB

  • • btusb 运行时 PM 引用泄漏修复(Jiajia Liu)
  • • btusb 0bda:0002 通用 HCI 支持(Andrew Bille)
  • • btusb qca_dump_hdr DECLARE_FLEX_ARRAY() 改进(Jeremy Dean)

3.2 btnxpuart (NXP)

  • • FW dump header 长度校验(Ali Ahmet Memis / Neeraj Kale)
  • • FW dump header 保留在 coredump chunks 中(Neeraj Kale)
  • • 检测 M.2 连接器可用性(Sherry Sun)
  • • 本周最活跃的驱动模块,多个补丁迭代

3.3 btmtk / btmtksdio (MediaTek)

  • • btmtksdio TX 路径 OOB DMA 修复(Chris Lu)
  • • btmtk 子系统复位错误报告修复(Ismail Tarim)
  • • btmtk MT79xx WMT 操作日志改进(Jiajia Liu)
  • • MT7925 蓝牙固件更新(Chris Lu)

3.4 btintel / btintel_pcie (Intel)

  • • 版本 TLV 解析加固系列(Laxman Acharya Padhya / Ali Ahmet Memis)
  • • btintel_pcie IRQ double-free 修复
  • • btintel_pcie 数组边界检查修复

3.5 btbcm / btrtl (Broadcom/Realtek)

  • • btbcm 新增 BCM4384 支持(Kaihsin Chung)
  • • btrtl 新增固件格式 v3 支持(Hilda Wu)

3.6 hci_bcm4377 (Broadcom Apple)

  • • 扩展广播报告中保留 PHY 过滤(Lorenzo Stoakes)

3.7 hci_qca (Qualcomm)

  • • 基于 pwrseq 的电源可控性检测(pwrseq 系列一部分)

4. 核心协议栈

4.1 ISO 层

  • • use-after-free 修复(Hang Nan,多版本迭代)

4.2 HCI 核心

  • • ENOMEM 返回修复(Hans de Goede)
  • • skb_clone 失败处理(Hans de Goede)
  • • lockdep 检查(Pauli Virtanen)
  • • devcoredump 取消(Tristan Madani)

4.3 L2CAP

  • • 锁注解(Pauli Virtanen)

4.4 RFCOMM

  • • MTU 验证防止无限循环

4.5 Advertising / hci_event

  • • 取消连接后广告参数重试修复(Valentin Kindschi, 多版本迭代: v1→v2→v3→v4)
  • • 仅外围角色重新启用广告(v4 1/2)
  • • 仅在已创建连接时清除 HCI_LE_ADV(v4 2/2)
  • • 扫描地址更新时暂停广告(Valentin Kindschi)

4.6 mgmt

  • • 已取消命令回复修复(Shuai Zhang)

二、核外协议栈——BlueZ 用户空间专题

统计

模块
补丁数
主要改动
sdp-xml
10+
安全修复(类型混淆、栈溢出、内存泄漏、解析栈泄漏)
avrcp
4
OOB Read 修复、媒体名称修复
adv_monitor
2
缓冲区溢出修复
monitor
1
print_packet max_len 钳制
attib
1
smatch 警告修复
obexd
1
电话簿后端引用计数
shared/bap
1
服务端 Release 处理
media
1
avrcp-player 参数修复
CS Distance
5
新功能:CS Distance Provider 实现
doc
1
CS Distance 文档
unit/test
5+
SDP XML 测试
client/bluetoothctl
1
CS 距离显示支持
btsnoop
0
-
mesh
0
-
tools
0
-

安全修复(CRITICAL/HIGH)

CRITICAL: sdp-xml: Fix crash caused by type confusion when parsing crafted SDP XML

  • • 作者: Bastien Nocera (hadess@hadess.net)
  • • 版本: v4 2/9
  • • 技术分析: 当解析特制的 SDP XML 记录时,sdp_xml_parse_record() 中元素类型枚举与处理函数之间的映射存在类型混淆漏洞。攻击者可通过构造恶意的 SDP XML 文件,触发 element_end() 回调中错误类型的转换,导致空指针解引用或类型混淆崩溃。该漏洞可被利用来造成 BlueZ 守护进程拒绝服务(DoS)。修复:在 element_start() 中增加类型检查,确保数据类型与预期处理函数匹配。

CRITICAL: sdp-xml: Fix stack overflow when converting large sequences to XML

  • • 作者: Bastien Nocera
  • • 版本: v4 8/9
  • • 技术分析sdp_xml_sequence_to_xml() 在处理深度嵌套的 SDP 序列时使用递归实现,未对递归深度设限。攻击者可以通过构造深度极大的嵌套序列,触发内核栈溢出,可能导致 BlueZ 守护进程崩溃或代码执行。修复:将递归实现改为迭代实现,或增加递归深度限制。

CRITICAL: sdp-xml: Fix leaking the parse stack on malformed input

  • • 作者: Luiz Augusto von Dentz (v1/v2)
  • • 技术分析: 当 SDP XML 解析器遇到格式错误的输入时,解析栈未能正确清理,导致栈内存泄漏。累积的泄漏可能耗尽 BlueZ 进程的内存资源。修复:在错误处理路径中增加 g_string_free() 和解析栈清理操作。

HIGH: sdp-xml: Fix memory leak when adding duplicate attributes

  • • 作者: Bastien Nocera
  • • 版本: v4 4/9
  • • 技术分析: 当 SDP XML 记录中包含重复属性时,sdp_xml_add_attribute() 在替换旧属性时未释放旧属性内存,导致内存泄漏。修复:在替换属性前先释放旧属性。

HIGH: sdp: Fix memory leak when freeing alternates

  • • 作者: Luiz Augusto von Dentz
  • • 版本: v1/v2 3/4
  • • 技术分析sdp_free_record() 在释放具有 alternate 选项的记录时,未递归释放 alternate 子树中的属性,导致内存泄漏。修复:增加对 alternate 列表的递归释放。

HIGH: sdp-xml: Use a queue to collect sequence members

  • • 作者: Luiz Augusto von Dentz / Bastien Nocera
  • • 技术分析: 将 SDP XML 序列成员的收集从链表改为队列,解决顺序乱序问题,同时简化了内存管理。

HIGH: avrcp: Fix Out-of-Bounds Read in AVRCP GetFolderItems parsing

  • • 作者: Bastien Nocera
  • • 版本: v4
  • • CVE: 已向 oss-security 报告,CVE 请求中
  • • 技术分析: AVRCP GetFolderItems 响应解析中,parse_folder_items() 未正确验证 item length 字段,读取超出的内存区域。Elman Shahbazov 提交了正式的 CVE 请求。该 OOB Read 可被攻击者利用来泄露 BlueZ 进程内存中的敏感信息。修复:在解析每个 folder item 的 media/folder name 时,确保 name_length 不超出实际数据包长度。

MEDIUM: avrcp: Fix media/folder name not being set

  • • 作者: Bastien Nocera
  • • 技术分析: AVRCP 媒体/文件夹名称未正确设置到播放器状态中,导致 bluetoothctl 等客户端显示空名称。修复:在 avrcp_player.c 中增加名称拷贝逻辑。

MEDIUM: adv_monitor: Fix buffer overflow caused by integer overflow

  • • 作者: Bastien Nocera
  • • 版本: 1/2
  • • 技术分析adv_monitor.c 中处理广告监测器的 pattern 数据时,整数溢出导致缓冲区分配不足,后续拷贝操作写越界。修复:在分配缓冲区前进行乘法溢出检查。

MEDIUM: adv_monitor: Ignore additional patterns past what's supported

  • • 作者: Bastien Nocera
  • • 版本: 2/2
  • • 技术分析: 当广告监测器收到超过支持数量的 pattern 时,当前实现会尝试处理所有 pattern,导致内存压力。修复:静默忽略超过最大支持的 pattern。

MEDIUM: monitor: clamp max_len in print_packet

  • • 作者: Chad Spensky (chad@allthenticate.com)
  • • 技术分析print_packet() 中 max_len 参数未经钳制直接用于内存访问,在 max_len 大于实际数据长度时导致 OOB 读取。修复:将 max_len 钳制在 pkt->len 范围内。

MEDIUM: obexd: Reference count the phonebook back-end setup and teardown

  • • 作者: Paul Menzel (pmenzel@molgen.mpg.de)
  • • 技术分析: OBEX 电话簿(phonebook)后端在设置和拆卸过程中缺少引用计数,可能导致并发访问时电话簿后端被提前释放。修复:增加引用计数机制,确保最后一个引用释放后再执行拆卸。

LOW: avctp: Fix typo in comment

  • • 作者: Bastien Nocera
  • • 技术分析: avctp.c 中的注释存在拼写错误,修复注释以准确反映代码逻辑。

LOW: attrib: Fix smatch "non-ANSI function declaration" warning

  • • 作者: Bastien Nocera
  • • 技术分析: 修复 attrib/attrib.c 中非 ANSI 风格的函数声明,消除 smatch 静态分析警告。

新功能:CS Distance Provider

  • • 作者: Naga Bhavani Akella (naga.akella@oss.qualcomm.com)
  • • 版本: v2 系列 0/5-5/5
  • • 功能: 新增 Channel Sounding (CS) 距离提供者(Distance Provider)D-Bus API,支持蓝牙信道探测距离测量功能。
  • • 模块分布:
    • • doc/: 新增 org.bluez.CSDistance1org.bluez.CSDistanceProviderorg.bluez.CSDistanceProviderManager 三个 D-Bus 接口文档
    • • rap/: 实现 CS Distance Provider D-Bus API 逻辑
    • • client/: bluetoothctl 增加 CS 距离显示支持
  • • Luiz 审阅: 讨论了 API 设计、命名规范、错误处理等问题。

其他

  • • shared/bap: kokimuk 提交补丁,修复 BAP 服务端在传输 IO 附着时的 Release 处理问题,确保在 IO 绑定后正确处理 Release 请求。
  • • media: Pauli Virtanen 修复 avrcp-player 中 lp_get_uid() 参数传递错误的问题。
  • • Bug 报告: Vanwezemael Kris 报告 bluetoothctl 中 hci.cmd 参数传递异常的问题,Luiz 回复定位到命令行解析逻辑。
  • • Bug 报告: nibbo 报告 MT7922 主动 LE 扫描无法捕获被动扫描中可见的 ADV_SCAN_IND 广播包。

四、总结

本周蓝牙子系统社区非常活跃,邮件总数达 300 封,人类贡献 201 封。安全修复数量显著增加,尤其是 BlueZ 用户空间方面:

  1. 1. 安全修复密集:SDP XML 解析器爆出多个安全漏洞(类型混淆、栈溢出、内存泄漏、解析栈泄漏),Bastien Nocera 和 Luiz von Dentz 完成了 v4 系列修复。AVRCP OOB Read 漏洞已有 CVE 请求。
  2. 2. btnxpuart 活跃:NXP 驱动的 FW dump 安全性加固是本周重点,多位贡献者参与迭代。
  3. 3. Intel 蓝牙加固:btintel 驱动的版本 TLV 解析全面加固,btintel_pcie 修复了 IRQ double-free 和数组边界问题。
  4. 4. 新硬件支持:Synaptics BCM4384 和 Realtek 固件格式 v3 的支持正在推进。
  5. 5. BlueZ CS Distance:Qualcomm 贡献者推进了 Channel Sounding 距离提供者功能的 D-Bus API 实现,蓝牙信道探测功能正在标准化进程中。
  6. 6. 广告参数重试循环修复:Valentin Kindschi 针对取消连接后广告参数无限重试的问题进行了多轮修复(v1→v4),最终方案在 v4 中区分了外围角色和中央角色的行为,同时解决了扫描地址更新时的广告暂停问题。

欢迎关注:

欢迎添加微信号入群交流:

如果有更多疑问或需要帮助,可点击下方卡片,让「东东的小站AI助手」为您实时答疑:支持24小时在线 ⬇️

更多请点击左下角 阅读原文!

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-08-21 12:24:59 HTTP/2.0 GET : https://f.mffb.com.cn/a/511465.html
  2. 运行时间 : 0.362029s [ 吞吐率:2.76req/s ] 内存消耗:4,457.09kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=6fc3f4bbb2ea7d6f88c5a6452088c9f5
  1. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_static.php ( 4.90 KB )
  7. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  15. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  16. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  17. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  18. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  19. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  21. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  22. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/provider.php ( 0.19 KB )
  23. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  24. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  25. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  26. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/common.php ( 0.03 KB )
  27. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  28. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  29. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/app.php ( 0.95 KB )
  30. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cache.php ( 0.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/console.php ( 0.23 KB )
  32. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cookie.php ( 0.56 KB )
  33. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/database.php ( 2.48 KB )
  34. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  35. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/filesystem.php ( 0.61 KB )
  36. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/lang.php ( 0.91 KB )
  37. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/log.php ( 1.35 KB )
  38. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/middleware.php ( 0.19 KB )
  39. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/route.php ( 1.89 KB )
  40. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/session.php ( 0.57 KB )
  41. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/trace.php ( 0.34 KB )
  42. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/view.php ( 0.82 KB )
  43. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/event.php ( 0.25 KB )
  44. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  45. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/service.php ( 0.13 KB )
  46. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/AppService.php ( 0.26 KB )
  47. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/services.php ( 0.14 KB )
  53. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  64. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  65. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  68. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  80. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  81. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  82. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  83. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/Request.php ( 0.09 KB )
  84. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  85. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/middleware.php ( 0.25 KB )
  86. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  87. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  88. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  89. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  90. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  91. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  92. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  93. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  94. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  95. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  96. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  97. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  98. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  99. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/route/app.php ( 1.72 KB )
  100. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  101. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  102. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  103. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/controller/Index.php ( 4.81 KB )
  104. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/BaseController.php ( 2.05 KB )
  105. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  106. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  108. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  109. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  110. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  111. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  112. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  113. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  114. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  115. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  116. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  117. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  118. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  119. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  120. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  121. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  122. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  123. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  124. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  125. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  126. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  127. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  128. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  129. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  130. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  131. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  132. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  133. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  134. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  135. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  136. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  137. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  138. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  139. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/runtime/temp/067d451b9a0c665040f3f1bdd3293d68.php ( 11.98 KB )
  140. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000895s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001025s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000489s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000506s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000888s ]
  6. SELECT * FROM `set` [ RunTime:0.000427s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001019s ]
  8. SELECT * FROM `article` WHERE `id` = 511465 LIMIT 1 [ RunTime:0.000885s ]
  9. UPDATE `article` SET `lasttime` = 1787286299 WHERE `id` = 511465 [ RunTime:0.017024s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 67 LIMIT 1 [ RunTime:0.012229s ]
  11. SELECT * FROM `article` WHERE `id` < 511465 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.101658s ]
  12. SELECT * FROM `article` WHERE `id` > 511465 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.003445s ]
  13. SELECT * FROM `article` WHERE `id` < 511465 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.041051s ]
  14. SELECT * FROM `article` WHERE `id` < 511465 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.012466s ]
  15. SELECT * FROM `article` WHERE `id` < 511465 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.037634s ]
0.365769s