Hi, Let's take this discussion to GitHub. If you have any further comments, please reply on PR #20686 https://github.com/apache/nuttx/pull/20686. I won't be responding further on this mailing list.
BRs, chao an <[email protected]> 于2026年10月29日周四 20:42写道: > Hi, Tomek, > > Let me put it this way: I'm not going to make promises or speeches about > security. Let's let actions do the talking. If PR #20686 > https://github.com/apache/nuttx/pull/20686 gets merged, I will take > ownership of all CVE issues related to this code going forward. Would that > work for you? > > BRs, > > Tomek CEDRO <[email protected]> 于2026年10月29日周四 20:36写道: > >> No Anchao, we have long backlog of security issues which are handled >> by usually one or two overwhelmed people, your single help is most >> welcome and appreciated, but it was not here for last ~2 years, and >> this is real problem for us, thus Alan as the one who reported and >> fixed the security issues recently can use this as an argument, >> because he knows how the process looks like himself. >> >> Here are hints on how to approach: >> https://nuttx.apache.org/docs/latest/security.html >> >> In my other reply I also mentioned security and maintenance as the >> weak points of your approach - to take someone else code and then >> maintain it yourself forever - other people also tell you this is not >> the good way.. only you seem not to notice it sorry. >> >> -- >> CeDeROM, SQ7MHZ, http://www.tomek.cedro.info >> >> On Thu, Oct 29, 2026 at 1:29 PM chao an <[email protected]> wrote: >> > >> > Alin, >> > >> > Apologies, >> > >> > Alan, I've spent a lot of time and sent many emails on this topic over >> the >> > past days, and I find the discussion keeps circling back to points that >> I >> > thought were already addressed. No one seems to be engaging with the >> actual >> > question of how to move NuttX's Bluetooth support forward. I'd >> appreciate >> > it if we could stop revisiting the CVE argument — security is an ongoing >> > responsibility for any code we maintain, and it's not unique to this >> > contribution. >> > >> > BRs, >> > >> > Alin Jerpelea <[email protected]> 于2026年10月29日周四 20:22写道: >> > >> > > Hi, >> > > >> > > please remember that the patches for CVE should not be disclosed >> until they >> > > are part of a release >> > > This is a public mailing list ! >> > > >> > > Bets regards >> > > Alin >> > > >> > > On Thu, Oct 29, 2026 at 1:13 PM chao an <[email protected]> wrote: >> > > >> > > > Alan, >> > > > >> > > > First, I need to clarify an important point: Xiaomi's zblue >> approach is >> > > > completely different from what I submitted in PR #20686 >> > > > https://github.com/apache/nuttx/pull/20686. Xiaomi's version keeps >> > > > Zephyr's >> > > > original headers and coding style largely intact, whereas my >> libs/zblue >> > > > submission is fully adapted for NuttX — headers restructured to >> > > > include/nuttx/net/bluetooth/, OS adaptation layer integrated, and >> the >> > > > entire tree reorganized to fit NuttX's build system. They are not >> the >> > > same >> > > > technical approach. >> > > > >> > > > I've already laid out the advantages of having the protocol stack >> in-tree >> > > > in PR #20686 — build integration, API cohesion, OS-level >> optimization >> > > > opportunities, and avoiding the friction of out-of-tree maintenance. >> > > > Reading your latest reply, I have to be honest: I'm disappointed, >> because >> > > > it feels like you haven't really engaged with what I was saying >> there. >> > > > >> > > > Regarding security — you keep raising this concern, and I want to >> address >> > > > it directly. Security issues are solvable. I don't just say this in >> the >> > > > abstract — I'm currently fixing 9 security vulnerabilities across >> NuttX's >> > > > networking and USB subsystems: >> > > > >> > > > 1. IPv6 extension-header out-of-bounds read — #20885 >> > > > https://github.com/apache/nuttx/pull/20885 >> > > > 2. MLDv2 report record-count out-of-bounds read — #20886 >> > > > https://github.com/apache/nuttx/pull/20886 >> > > > 3. ICMPv6 Router Advertisement prefix option out-of-bounds read — >> > > #20888 >> > > > https://github.com/apache/nuttx/pull/20888 >> > > > 4. USB host config-descriptor walk out-of-bounds read and >> infinite >> > > loop >> > > > — #21101 https://github.com/apache/nuttx/pull/21101 >> > > > 5. USB host composite copyinterface heap buffer overflow — #21101 >> > > > https://github.com/apache/nuttx/pull/21101 >> > > > 6. USB host composite member array out-of-bounds write — #21101 >> > > > https://github.com/apache/nuttx/pull/21101 >> > > > 7. CDC-MBIM NCM frame NDP/DPE walk out-of-bounds read and >> infinite >> > > loop >> > > > — #20884 https://github.com/apache/nuttx/pull/20884 >> > > > 8. USB mass-storage zero block size divide-by-zero in partition >> scan — >> > > > #21101 https://github.com/apache/nuttx/pull/21101 >> > > > 9. CDC-MBIM transmit divide-by-zero on zero bulk max packet size >> — >> > > > #20884 https://github.com/apache/nuttx/pull/20884 >> > > > >> > > > These are all in NuttX's own native code — networking, USB host, >> CDC — >> > > > subsystems I've worked on extensively. A CVE in any of these would >> > > likewise >> > > > disrupt devices in the field. Security is a universal concern for >> every >> > > > line of code we ship, regardless of its origin. We deal with it >> through >> > > > review, testing, and prompt fixes — exactly what I'm doing here. I >> > > > genuinely don't understand why you keep bringing this up as if it >> were >> > > > unique to zblue. >> > > > >> > > > >> > > > BRs, >> > > > >> > > > Alan C. Assis <[email protected]> 于2026年10月29日周四 19:38写道: >> > > > >> > > > > Hi Anchao and Chengkai, >> > > > > >> > > > > Thank you for moving this discussion forward. >> > > > > >> > > > > I think the agreement that NuttX should have only one Bluetooth >> stack >> > > > (the >> > > > > Zephyr ZBlue stack) is not universally agreed upon, as we saw in >> the PR >> > > > > discussions. >> > > > > >> > > > > If NuttX selects only one BLE stack it should be its own stack >> (which >> > > is >> > > > > very limited currently and not a feasible option at this moment). >> > > > > >> > > > > Moving zblue to nuttx-apps and making it just an option like the >> NimBLE >> > > > > appears to be the right thing to do. >> > > > > >> > > > > It could be the stack that most people will use (instead of >> NimBLE or >> > > the >> > > > > native one), but it shouldn't be the only option because it shares >> > > almost >> > > > > 1M LoC from Zephyr and poses a huge security risk due to the >> > > monoculture >> > > > > effect: a CVE found on Zephyr ZBlue would disrupt all their >> devices on >> > > > the >> > > > > field and also all NuttX devices using zblue. >> > > > > >> > > > > Imagine if Windows were open-source and someone in the Linux >> community >> > > > > decided to use the Windows windowing subsystem. It would make it >> very >> > > > easy >> > > > > for vendors to implement graphical applications for both Windows >> and >> > > > Linux, >> > > > > but any vulnerability found in Windows would affect Linux. That is >> > > > > basically the scenario here for NuttX. >> > > > > >> > > > > As I said I like the idea of having the option to use a Bluetooth >> stack >> > > > > like zblue until we evolve our own stack. >> > > > > >> > > > > BR, >> > > > > >> > > > > Alan >> > > > > >> > > > > On Thu, Oct 29, 2026 at 3:51 AM chao an <[email protected]> >> wrote: >> > > > > >> > > > > > Hi Chengkai, >> > > > > > >> > > > > > >> > > > > > >> > > > > > Thanks for the clarification. >> > > > > > >> > > > > > >> > > > > > >> > > > > > For question 1, by "NuttX-native integration" I mean more than >> only >> > > > > > Kconfig, >> > > > > > build glue, driver binding, and public headers. I think the >> > > > > Zephyr-derived >> > > > > > >> > > > > > Bluetooth host should be adapted into a NuttX-maintained stack, >> with >> > > a >> > > > > > >> > > > > > structure that can evolve toward the NuttX kernel/socket >> > > architecture. >> > > > > > >> > > > > > >> > > > > > >> > > > > > If we only keep the Zephyr Bluetooth source almost untouched >> and add >> > > a >> > > > > > large >> > > > > > compatibility layer around it, then I do not think that is the >> right >> > > > > > long-term >> > > > > > direction for the official NuttX Bluetooth architecture. >> > > > > > >> > > > > > >> > > > > > >> > > > > > For question 2, I think NimBLE and Zephyr Bluetooth are >> different >> > > > cases. >> > > > > > >> > > > > > NimBLE officially provides an OS abstraction layer, so each OS >> can >> > > > > > integrate it >> > > > > > through its own OSAL. Zephyr Bluetooth does not provide the >> same OSAL >> > > > > > boundary; >> > > > > > it is deeply tied to the Zephyr kernel model. >> > > > > > >> > > > > > >> > > > > > >> > > > > > That means zblue needs many Zephyr kernel API/header >> compatibility >> > > > > pieces: >> > > > > > >> > > > > > kernel objects, work queues, timers, buffers, iterable >> sections, and >> > > > > other >> > > > > > >> > > > > > Zephyr-style assumptions. Even if placed in nuttx-apps, it is >> not >> > > > really >> > > > > a >> > > > > > >> > > > > > clean standalone userspace library like NimBLE. >> > > > > > >> > > > > > >> > > > > > >> > > > > > My main concern is the long-term roadmap. If we preserve an >> almost >> > > > > > unmodified >> > > > > > Zephyr Bluetooth tree, then moving L2CAP and lower layers into >> the >> > > > NuttX >> > > > > > >> > > > > > kernel later will be very difficult, because L2CAP is tightly >> coupled >> > > > > with >> > > > > > >> > > > > > connection management, buffers, work queues, ATT/SMP, and the >> Zephyr >> > > > > > execution >> > > > > > model. That migration may become close to a second rewrite. >> > > > > > >> > > > > > >> > > > > > >> > > > > > This is different from the current libs/zblue PR, where the >> stack is >> > > > > > already >> > > > > > treated as NuttX-maintained code and can diverge from Zephyr >> where >> > > the >> > > > > > NuttX >> > > > > > architecture requires it. >> > > > > > >> > > > > > >> > > > > > >> > > > > > So my concern is not only external repo vs in-tree. The bigger >> > > concern >> > > > is >> > > > > > >> > > > > > whether we are building a real NuttX Bluetooth architecture, or >> > > mainly >> > > > > > keeping >> > > > > > a Zephyr runtime compatibility layer around the Zephyr Bluetooth >> > > stack. >> > > > > > >> > > > > > >> > > > > > >> > > > > > I agree this should be decided by the community, but my >> preference is >> > > > > still >> > > > > > to >> > > > > > adapt the code into a NuttX-native stack first, then submit it >> > > directly >> > > > > to >> > > > > > >> > > > > > nuttx.git or nuttx-apps.git depending on the agreed layering. >> > > > > > >> > > > > > BRs, >> > > > > > >> > > > > > 成凯 via dev <[email protected]> 于2026年10月29日周四 14:38写道: >> > > > > > >> > > > > > > hi anchao >> > > > > > > >> > > > > > > Thanks, good to see we are aligned on the direction. >> > > > > > > >> > > > > > > On open point 2, I think the difference is mainly about the >> > > starting >> > > > > > point, >> > > > > > > not the end state. We agree the stack should end up reviewed, >> built >> > > > and >> > > > > > > tested as part of the NuttX repositories. Step 3 of the plan >> > > already >> > > > > > allows >> > > > > > > moving the userspace part into nuttx-apps.git. >> > > > > > > >> > > > > > > Two things I would like to understand better: >> > > > > > > >> > > > > > > 1. By "NuttX-style public headers" and "native integration", >> do you >> > > > > mean >> > > > > > > reformatting the Zephyr-derived code to nxstyle, or only >> the >> > > NuttX >> > > > > > glue >> > > > > > > (Kconfig, build, driver binding, public API headers)? We >> are >> > > fine >> > > > > with >> > > > > > > the >> > > > > > > latter. The former makes picking up upstream fixes much >> harder, >> > > > > which >> > > > > > is >> > > > > > > our main concern. >> > > > > > > 2. NimBLE is already integrated this way (download at a pinned >> > > > > revision). >> > > > > > > Could you share which specific dependency or maintenance >> issues >> > > > you >> > > > > > are >> > > > > > > worried about? That would help us address them in the >> design. >> > > > > > > >> > > > > > > Since this is a project-level decision, I would like to hear >> from >> > > the >> > > > > PMC >> > > > > > > and everyone who has reviewed PR #20686 -- Xiang Xiao, Alan >> > > Carvalho >> > > > de >> > > > > > > Assis, Alin Jerpelea, raiden00pl, Tomasz CEDRO (cederom), >> LingaoM >> > > and >> > > > > > > casaroli -- on whether to start with a pinned external >> repository >> > > or >> > > > > with >> > > > > > > in-tree code. We will follow the community's decision. >> > > > > > > >> > > > > > > Best regards, >> > > > > > > Kai Cheng >> > > > > > > >> > > > > > > >> > > > > > > ________________________________ >> > > > > > > From: archer <[email protected]> >> > > > > > > Sent: Thursday, October 29, 2026 12:19 PM >> > > > > > > To: apache/nuttx >> > > > > > > Cc: 成凯; Mention >> > > > > > > Subject: [External Mail]Re: [apache/nuttx] net/bt: Add native >> > > > Bluetooth >> > > > > > > host stack (PR #20686) >> > > > > > > >> > > > > > > >> > > > > > > [外部邮件] 此邮件来源于小米公司外部,请谨慎处理。若对邮件安全性存疑,请将邮件转发给[email protected] >> 进行反馈 >> > > > > > > >> > > > > > > [ >> https://avatars.githubusercontent.com/u/758493?s=20&v=4]anchao >> > > > left a >> > > > > > > comment (apache/nuttx#20686)< >> > > > > > > >> https://github.com/apache/nuttx/pull/20686#issuecomment-6487811997 >> > > > >> > > > > > > >> > > > > > > @chengkai15<https://github.com/chengkai15> >> > > > > > > >> > > > > > > Thanks for the clarification. I think we are mostly aligned >> on the >> > > > > > > long-term direction, especially about converging to one >> > > Zephyr-based >> > > > > > > Bluetooth host and moving toward a BlueZ/Linux-style split for >> > > > > > > protected/kernel builds. >> > > > > > > >> > > > > > > For open point 2, I still prefer not to start from an external >> > > > > repository >> > > > > > > model in the main NuttX integration path. >> > > > > > > >> > > > > > > My suggestion is that the code should first be adapted into a >> > > > > > NuttX-native >> > > > > > > integration style, and then submitted directly to either >> nuttx.git >> > > or >> > > > > > > nuttx-apps.git, depending on the agreed layering. Fetching a >> large >> > > > > > external >> > > > > > > repository at build time will also bring dependency and >> maintenance >> > > > > > issues >> > > > > > > with other third-party code, and I do not think that is the >> best >> > > > > > long-term >> > > > > > > integration model for an official NuttX Bluetooth stack. >> > > > > > > >> > > > > > > In my view, if the stack is going to become part of the NuttX >> > > > Bluetooth >> > > > > > > architecture, it should be reviewed, built, tested, and >> maintained >> > > as >> > > > > > part >> > > > > > > of the NuttX repositories, not as an external component that >> is >> > > only >> > > > > > pinned >> > > > > > > by revision. >> > > > > > > >> > > > > > > Maybe you can use the current PR as a reference for the >> > > NuttX-native >> > > > > > > integration structure: top-level CONFIG_ZBLUE_ENABLED, NuttX >> > > > > > build/Kconfig >> > > > > > > integration, NuttX-style public headers, and direct >> integration >> > > with >> > > > > the >> > > > > > > NuttX Bluetooth driver path. The implementation details can >> > > certainly >> > > > > be >> > > > > > > changed, but I think this kind of native integration is a >> better >> > > > > > direction >> > > > > > > than relying on an external fetched repository. >> > > > > > > >> > > > > > > If the openvela version is adjusted in this direction and >> accepted >> > > by >> > > > > the >> > > > > > > community as the common upstream solution, I am willing to >> drop my >> > > > > > current >> > > > > > > PR and help with that effort. My goal is not to keep my own >> patch, >> > > > but >> > > > > to >> > > > > > > help NuttX get a complete and maintainable Bluetooth stack. >> > > > > > > >> > > > > > > — >> > > > > > > Reply to this email directly, view it on GitHub< >> > > > > > > >> > > > > > >> > > > > >> > > > >> > > >> https://github.com/apache/nuttx/pull/20686?email_source=notifications&email_token=ABDILOITAS5PRPRBASVZXOD5WLAN7A5CNFSNUABFM5UWIORPF5TWS5BNNB2WEL2JONZXKZKDN5WW2ZLOOQXTMNBYG44DCMJZHE32M4TFMFZW63VHNVSW45DJN5XKKZLWMVXHJLDGN5XXIZLSL5RWY2LDNM#issuecomment-6487811997 >> > > > > > >, >> > > > > > > or unsubscribe< >> > > > > > > >> > > > > > >> > > > > >> > > > >> > > >> https://github.com/notifications/unsubscribe-auth/ABDILONP3W2NPDI7EX4JEGT5WLAN7AVCNFSNUABFKJSXA33TNF2G64TZHMZDEOBRGAZTENZTHNEXG43VMU5TKOBWG4ZTIMBYG4Z2C5QC >> > > > > > > >. >> > > > > > > You are receiving this because you were mentioned.Message ID: >> > > > > > > <apache/nuttx/pull/20686/[email protected]> >> > > > > > > >> > > > > > > >> > > > > > >> > > > > >> > > > >> > > >> #/******本邮件及其附件含有小米公司的保密信息,仅限于发送给上面地址中列出的个人或群组。禁止任何其他人以任何形式使用(包括但不限于全部或部分地泄露、复制、或散发)本邮件中的信息。如果您错收了本邮件,请您立即电话或邮件通知发件人并删除本邮件! >> > > > > > > This e-mail and its attachments contain confidential >> information >> > > from >> > > > > > > XIAOMI, which is intended only for the person or entity whose >> > > address >> > > > > is >> > > > > > > listed above. Any use of the information contained herein in >> any >> > > way >> > > > > > > (including, but not limited to, total or partial disclosure, >> > > > > > reproduction, >> > > > > > > or dissemination) by persons other than the intended >> recipient(s) >> > > is >> > > > > > > prohibited. If you receive this e-mail in error, please >> notify the >> > > > > sender >> > > > > > > by phone or email immediately and delete it!******/# >> > > > > > > >> > > > > > >> > > > > >> > > > >> > > >> >
