usb储存之BOT/UAS内核驱动

usb储存驱动

声明

drivers/usb/storage/usb.c

static struct usb_driver usb_storage_driver = {.name =		DRV_NAME,.probe =	storage_probe, //这里是挂载.disconnect =	usb_stor_disconnect,.suspend =	usb_stor_suspend,.resume =	usb_stor_resume,.reset_resume =	usb_stor_reset_resume,.pre_reset =	usb_stor_pre_reset,.post_reset =	usb_stor_post_reset,.id_table =	usb_storage_usb_ids,.supports_autosuspend = 1,.soft_unbind =	1,
};// 这里是usb主机储存控制器的驱动模板挂载
module_usb_stor_driver(usb_storage_driver, usb_stor_host_template, DRV_NAME);

普通BOT挂载流程

如果为UAS或非常规设备,则退出storage_probe。

drivers/usb/storage/usual-tables.c 的两个数组列表

  • 非规设备 ignore_ids[]
  • UAS列表 usb_storage_usb_ids[]

UAS判断:uas_use_uas_driver

	/* If uas is enabled and this device can do uas then ignore it. */
#if IS_ENABLED(CONFIG_USB_UAS)if (uas_use_uas_driver(intf, id, NULL))return -ENXIO;
#endif

非规设备判断:

	/** If the device isn't standard (is handled by a subdriver* module) then don't accept it.*/if (usb_usual_ignore_device(intf))return -ENXIO;

然后就会走usb_stor_probe1和usb_stor_probe2流程

流式UAS挂载

drivers/usb/storage/uas.c
image

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/937726.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

软件研发 --- 汇编 之 初体验

软件研发 --- 汇编 之 初体验 这是一个程序员的墓志铭 我们解释一下; ============================================= ; Yunhai Zohg 纪念程序 (1979-2025) ; 文件名: global_life ; 描述: 用汇编语言象征性描述人生…

简述flux思想?

Flux 是由 Facebook 提出的一种前端应用架构思想,主要用于管理 单向数据流,尤其是在 React 应用中。它并不是一个库,而是一种设计模式,核心理念可以总结如下: 1. 核心思想 单向数据流(Unidirectional Data Flow)…

风控评分卡

风险评分卡模型 通过特征和关键特征对目标进行评分,对个体或者企业的风险水平进行评估 数据集选用 UCI台湾信用卡客户违约预测数据集​​ 特征 ID LIMIT_BAL SEX EDUCATION MARRIAGE AGE PAY_0 PAY_2 PAY_3 PAY_4 PAY_…

20232428 2025-2026-1 《网络与系统攻防技术》实验一实验报告

一.实验内容 本次实践的对象是一个名为pwn1的linux可执行文件。 该程序正常执行流程是:main调用foo函数,foo函数会简单回显任何用户输入的字符串。 该程序同时包含另一个代码片段,getShell,会返回一个可用Shell。正…

字符串操作函数

> C 字符串全家桶:strcpy/strncpy、strcat/strncat、strcmp/strncmp、strlen/strtok/memcpy/memset。C语言字符串与内存操作函数大全 核心字符串函数(位于 string.h 中) 这些函数用于基本的字符串操作,如复制、…

JAVA对象内存布局

JAVA对象内存布局🔴 Java对象在堆内存中的存储布局分为三个主要部分:对象头(Object Header)、实例数据(Instance Data)、对齐填充(Padding)。对象头是理解synchronized锁机制的关键。🔴 对象内存布局三大结构 🔴…

20232409 2025-2026-1 《网络与系统攻防技术》实验二实验报告

后门原理与实践 1.实验内容1.1 Netcat的基本应用;1.2 Socat基本应用;1.3 Meterpreter基本应用。2.实验目的学习Netcat、Socat、Meterpreter生成、投放、自启动技术,使用以上后门并远程控制另一主机,获取目标主机音…

10月15号

今天上午,进行了离散数学和马克思思想的学习。

记录一次客户现场环境,银河麒麟V10操作系统重启后,进入登录页面后卡死,鼠标键盘无响应的解决过程

银河麒麟V10操作系统重启后,进入登录页面后卡死,鼠标键盘无响应,SSH无法登录的原因是Mysql的自启动服务导致卡死(具体为什么Mysql会卡死操作系统,待查) 现象:第一天用户反应,应用系统无法访问,现场运维查看后…

图 生成树

图为什么会有生成树?图不是顶点和边的集合吗?顶点确定了,边也确定了,这个图不就固定了吗?你提出的这个问题非常好,它触及了图的结构和生成树的核心概念。的确,图是由顶点(节点)和边(连接节点的线)组成的,它…

DolphinScheduler 3.1.9 单机版重启后,项目、流程定义等数据全部丢失

本文将介绍 Apache DolphinScheduler 的 Worker 负载均衡,含加权随机、平滑轮询、线性负载(默认)三种算法,及配置修改、Worker 权重与预热机制,并细述各算法原理。详情可参考文末源文档地址。问题描述 DolphinSch…

ManySpeech.AliParaformerAsr 使用指南

一、简介 ManySpeech 是由 manyeyes 社区开发的一款基于 C# 的语音处理套件。 ManySpeech.AliParaformerAsr 是 ManySpeech 中的“语音识别”组件,支持paraformer-large、paraformer-seaco-large、sensevoice-small 等…

资料拿取表

Day OIer周一 王翔宇、王艺轩周二 宋承珂、段泽成周三 王子豪、焦有泽周四 张梓扬、刘承昊周五 罗超锵、周智翔周六 王紫依、崔岱尧周日 两位幸运观众ps:想修改的直接给我说就行(不能修改成空气) 参考文献 本周幸运观…

易路:以“薪酬科技+AI”重塑中国企业薪酬管理新范式

在数字经济浪潮席卷全球的当下,企业对人力资源管理的需求正从传统事务性操作向战略性赋能加速转型。其中,薪酬管理作为连接企业战略与人才发展的核心纽带,其复杂性与重要性日益凸显。面对这一变革,易路人力资源科技…

2025年太阳能板终极指南:选择、趋势与品牌推荐

文章摘要 本文深入探讨2025年太阳能板的选择方法、未来趋势及品牌推荐,帮助用户做出明智投资决策。内容涵盖效率提升、安装技巧、市场分析,并基于权威数据提供实用建议,旨在推广太阳能板的环保与经济优势。阅读本指…

洛谷题单指南-进阶数论-CF776B Sherlock and his girlfriend

原题链接:https://www.luogu.com.cn/problem/CF776B 题意解读:将2~n+1的数字进行分类,不能和素因子分在一类,分类越少越好 解题思路: 所有素数显然可以分为一类,其余合数为另外一类,只用标记素数即可,埃氏筛解…

Web 编写 22

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

svn 忽略选项还原

svn 忽略选项还原svn 忽略出现问题导致项目新添加的文件无法自动 Add,或其它问题。 解决办法:在项目根目录内空白处,右键弹出菜单选择 properties,然后修改 svn:ignore 和其它正常项目一样即可。桂棹兮兰桨,击空明…

【html】canvas实现一个时钟 - 实践

【html】canvas实现一个时钟 - 实践2025-10-15 18:39 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !imp…