Skip to content

Releases: nothingnesscore/BruhMount

BruhMount Milestone Checkpoint #613 (v2.1.0-enhanced)

Choose a tag to compare

🚀 BruhMount Milestone Checkpoint (#613)

Trigger: Accumulated 27 commits since checkpoint-586-60fcbf9
Version: v2.1.0-enhanced
Commit: 9ebbdc7

📋 Changes Compiled Since Last Checkpoint:

  • nomount: bump the version from v2.1.0 to v2.1.1 (7046c7a)
  • kernel: correct NOMOUNT_VERSION (71ac345)
  • webui: synchronize Crowdin translations (d3addfc)
  • kernel: remove redundant UID Bloom hashing (6319390)
  • kernel: skip Bloom for small child sets (043ea66)
  • kernel: retire rule arrays and leaves with call_rcu, take mutex once per add batch (1f35f82)
  • kernel: cache fsuid in the actor proxy (e6756af)
  • kernel: implement scope guard for RCU read lock/unlock (75ed11c)
  • kernel: split rule resolution into borrowed and owned variants (2277006)
  • kernel: prepare VFS hooks before publishing children (dacb655)
  • kernel: free unpublished topology rules (28347a0)
  • kernel: build: add -fno-stack-protector to Makefile and strip page pinner symbols in LKM workflows (baf22db)
  • kernel: use designated path initialization (c0e03b7)
  • kernel: pack rule strings into the rule array (d5955a2)
  • kernel: decouple virtual inodes from rules (8005194)
  • kernel: simplify lookup and UID export (84187f0)
  • userspace: escape paths in JSON rule output (5fa05b5)
  • userspace: propagate list query failures (a94abcf)
  • webui: add Skip/Unskip module button (3179c1f)
  • kernel: avoid repeated directory cache pruning (fcaa6c4)
  • misc: integrate Crowdin for translations (007f933)
  • kernel: trim per-entry overhead in directory iteration (64478a3)
  • kernel: skip the d_lock in the no-op path of nomount_hijack_dentry_ops (516de9d)
  • kernel: resolve nm_entries(arr) outside of bsearch loop (fe6a2fa)
  • chore(release): update update.json for version 21586 [skip ci] (3eb5ef8)
  • kernel: add 256-bit bloom prefilter to the UID exclusion list (27d4f0e)

Note: For 1-click in-manager updates, SU managers download the rolling latest release.

BruhMount Milestone Checkpoint #586 (v2.1.0-enhanced)

Choose a tag to compare

🚀 BruhMount Milestone Checkpoint (#586)

Trigger: Accumulated 32 commits since checkpoint-554-75df961
Version: v2.1.0-enhanced
Commit: 60fcbf9

📋 Changes Compiled Since Last Checkpoint:

  • webui: inline theme.css into styles.css (1ded61d)
  • webui: compute the Material palette in JS from a single seed (6d34612)
  • webui: make theme.json authoritative and localStorage a warm cache (012d6bd)
  • webui: unify history state so back gestures always land on a consistent UI (654984c)
  • module: split LKM load into post-fs-data.sh and rules load into metamount.sh (ff18bbc)
  • kernel: make nm_qhash branchless (24c413c)
  • kernel: build: compile with -O3 for improve code performance (774a37c)
  • kernel: mark the bloom test unlikely in __nomount_get_rule_info() (882a5f9)
  • webui: Add Polish translation (maxsteeel#98) (307ddc5)
  • kernel: pass the already-resolved fsuid down to __nomount_get_rule_info() (9b12df6)
  • kernel: rebuild child bloom filter on growth (5151600)
  • kernel: scale child bloom filter size with directory child count (a362f60)
  • kernel: cache uid_blocked result across iterate_dir to avoid duplicate lookups (043b445)
  • kernel: reorder the atomic_inc_not_zero in iterate_dir (f0ebe84)
  • kernel: remove duplicated children check in lookup (875a380)
  • kernel: use cheap qhash for bloom prefilter, keep full_name_hash for bsearch (ac08b78)
  • kernel: widen child bloom filter from 64 to 256 bits (8912760)
  • module: share rule path generation (6d016b9)
  • webui: avoid grep in opaque directory checks (8bc2638)
  • kernel: split lookup rule resolution into RCU and sleeping phases (9ea42b0)
  • kernel: fix UAF in lookup/iterate_dir by pinning dir_node with RCU and refs (5f13384)
  • kernel: set fake_fop.owner to THIS_MODULE to prevent unload with open files (7a24793)
  • kernel: hold RCU while reading dir_node/iop in d_revalidate to avoid UAF (7f22786)
  • kernel: fix possible OOB in NM_CMD_GET_UIDS (dbd7f4a)
  • kernel: correctly clean up pinned_dentry in nm_dir_rcu_free (fb1fb9a)
  • module: remove rules clearing in customize.sh (83eae1b)
  • module: fix typo in customize.sh (eb74bfb)
  • kernel: don't call ->evict_inode() if its a virtual inode (7e7342c)
  • webui: l10n: ru: small adjustments (maxsteeel#95) (20d011b)
  • module: rename metamount.sh to post-fs-data.sh (42f9caa)
  • chore(release): update update.json for version 21554 [skip ci] (fd8f31f)

Note: For 1-click in-manager updates, SU managers download the rolling latest release.

BruhMount Milestone Checkpoint #554 (v2.1.0-enhanced)

Choose a tag to compare

🚀 BruhMount Milestone Checkpoint (#554)

Trigger: Accumulated 24 commits since checkpoint-530-abc6cbf
Version: v2.1.0-enhanced
Commit: 75df961

📋 Changes Compiled Since Last Checkpoint:

  • nomount: bump the version from v2.0.0 to v2.1.0 (c7f63e3)
  • build: append git commit count to kernel driver version (8f0a902)
  • webui: align exec() wrapper with official KernelSU exec() wrapper (f1e0cd4)
  • module: restore safe mode function (05a3a1c)
  • kernel: remove redundant restore parameter from nm_destroy_hijacked_inode (9eb3d40)
  • kernel: prevent double-free and UAF during inode eviction (835a354)
  • kernel: preserve filesystem revalidation for excluded UIDs (5d16ae0)
  • kernel: remove redundant initialization and dead branch (1d0e656)
  • kernel: fix race condition when accessing inode->i_private (427ec53)
  • kernel: restore virtual parents on rule deletion (712f6c7)
  • webui/locales: typos and adjustments (maxsteeel#94) (d30db75)
  • chore(release): update update.json for version 21540 [skip ci] (529c9e1)
  • webui: update Bengali translation (maxsteeel#93) (862ef20)
  • webui: update Japanese translation (maxsteeel#92) (fd52514)
  • webui: Translate tr.json (maxsteeel#91) (c84669d)
  • webui: adding ar-dz and fixing Arabic (maxsteeel#90) (4f5f928)
  • relicense kernel source code to GPL-v2 (9364b83)
  • chore(release): update update.json for version 21533 [skip ci] (f311adf)
  • webui: complete missing Chinese translations (maxsteeel#89) (8e10920)
  • chore(release): update update.json for version 21530 [skip ci] (b814e2f)

Note: For 1-click in-manager updates, SU managers download the rolling latest release.

BruhMount Milestone Checkpoint #530 (v2.1.0-enhanced)

Choose a tag to compare

🚀 BruhMount Milestone Checkpoint (#530)

Trigger: Accumulated 24 commits since checkpoint-506-a4196cf
Version: v2.1.0-enhanced
Commit: abc6cbf

📋 Changes Compiled Since Last Checkpoint:

  • webui: correct Russian translations (a159c0c)
  • kernel: unify directory operation proxies (31ae781)
  • kernel: separate path topology from UID rules (a417f67)
  • kernel: reject unresolved backing paths (1a470a7)
  • kernel: fix batched rule parsing (49294e8)
  • kernel: fix directory entry inode numbers (7ca2c8a)
  • kernel: degrade parent rule to virtual dir if it have active children (5fac312)
  • kernel: prevent double-free race in lockless dir_node eviction (953911f)
  • kernel: free the entire rule if !dir_node (2a9fe6b)
  • kernel: return -ESTALE if igrab() fails in nomount_resolve_rule_dentry (473947c)
  • kernel: don't put S_PRIVATE flag in real path inode (8c3efcd)
  • kernel: remove __nomount_alloc_dir_node helper (f66d44a)
  • webui: split clear actions into rules, UIDs, and all (0be4967)
  • kernel: restore ops on eviction and skip double hooking (047f59f)
  • kernel: replace busy-wait with optimistic inode allocation (074a8ad)
  • kernel: proxy xattr __get handler to prevent overlayfs bypass (maxsteeel#86) (44d8b23)
  • userspace: improve usage / help output (71ff9c4)
  • userspace: move argument handling to a helper function outside of c_main (4b25def)
  • module: limit xargs batch size to avoid ARG_MAX truncation (74850fc)
  • chore(release): update update.json for version 21509 [skip ci] (8b50808)
  • webui: update Vietnamese i18n translation (maxsteeel#85) (c5fad9d)
  • chore(release): update update.json for version 21506 [skip ci] (b46df33)

Note: For 1-click in-manager updates, SU managers download the rolling latest release.

BruhMount Milestone Checkpoint #506 (v2.1.0-enhanced)

Choose a tag to compare

🚀 BruhMount Milestone Checkpoint (#506)

Trigger: Accumulated 19 commits since checkpoint-487-46f715f
Version: v2.1.0-enhanced
Commit: a4196cf

📋 Changes Compiled Since Last Checkpoint:

  • webui: improve themes and colors (e2513c3)
  • kernel: pin hijacked dentries to prevent dcache reclaim eviction (e007411)
  • webui: rework appearance subsystem (5a610db)
  • chore(release): update update.json for version 21501 [skip ci] (295b224)
  • webui: improve injected files card in modules section (6b1be18)
  • webui: upgrade module cards with dynamic MD3 status chips (4418adc)
  • webui: implement SPA history state management for native back-navigation (ccacef2)
  • kernel: fix race condition in concurrent virtual inode initialization (60073ed)
  • kernel: move inode cleanup to evict_inode (53e4c93)
  • kernel: skip vfs hijacking for internal virtual inodes (6a899d5)
  • module: improve root manager detection and add support for APatch insmod (f1020e0)
  • chore(release): update update.json for version 21492 [skip ci] (a951a20)
  • kernel: reduce nomount_rules_ht hashtable from 12 bits to 6 bits (46b7d58)
  • kernel: revert "detach all rules in-place in __nomount_clear_all" (305d2cb)
  • webui: update indonesian i18n translation (maxsteeel#80) (b3bd5b4)
  • chore(release): update update.json for version 21487 [skip ci] (ac987da)

Note: For 1-click in-manager updates, SU managers download the rolling latest release.

BruhMount Milestone Checkpoint #487 (v2.1.0-enhanced)

Choose a tag to compare

🚀 BruhMount Milestone Checkpoint (#487)

Trigger: Accumulated 27 commits since checkpoint-460-5000027
Version: v2.1.0-enhanced
Commit: 46f715f

📋 Changes Compiled Since Last Checkpoint:

  • kernel: eliminate redundant d_drop operations in the lookup fast path (2905772)
  • kernel: first check if current uid is blocked in nm_d_revalidate_common (b525a8d)
  • kernel: detach all rules in-place in __nomount_clear_all (646b62e)
  • kernel: implement RCU hashtable macros and repurpose dead pointers for victim chains (b519c5e)
  • kernel: fix r_path reference leak by skipping path_get on initial lookup (a8fe2f2)
  • kernel: isolate dentry operations and enforce DCACHE flags (74e2691)
  • module: normalize symlinked system partitions to prevent rule duplication (a3431ef)
  • chore(release): update update.json for version 21474 [skip ci] (486496a)
  • module: add toggle for block isolated uids (2ccd95a)
  • kernel, userspace: implement toggleable isolated process blocking (e8572dc)
  • module: uncomment boot semaphore removing of metamount.sh (f9bfb43)
  • kernel: reuse normalized paths when initializing inodes (b0417a6)
  • kernel: replace rwsem lock with a mutex lock (db76155)
  • kernel: replace ART nodes with a hashtable (146baeb)
  • kernel: return if uid array is empty, purge redundant uid array iterations (fea33dd)
  • kernel: avoid hash calculation if !bloom_mask (9c9afdc)
  • kernel: bypass redundant d_lock acquisitions via checks (73d4832)
  • kernel: replace SRCU with lockless RCU copy-and-drop in directory iteration (d15d540)
  • kernel: eliminate seqcount overhead and optimize bsearch collision handling (a838031)
  • kernel: optimize VFS fast-paths by deferring UID checks and inode allocation (fd1201a)
  • kernel: fix dcache invalidation and ghost files on exclusions (d6cb715)
  • kernel: initializate srcu struct manually (002157a)
  • chore(release): update update.json for version 21462 [skip ci] (09cf20e)
  • security(ci): mask TELEGRAM_BOT_TOKEN and sanitize curl logs against token leakage (781a5ba)
  • chore(release): update update.json for version 21460 [skip ci] (ef0bc35)

Note: For 1-click in-manager updates, SU managers download the rolling latest release.

BruhMount Milestone Checkpoint #460 (v2.1.0-enhanced)

Choose a tag to compare

🚀 BruhMount Milestone Checkpoint (#460)

Trigger: Major/feature changes detected since checkpoint-454-f6c637b
Version: v2.1.0-enhanced
Commit: 5000027

📋 Changes Compiled Since Last Checkpoint:

  • feat: modernize Mermaid architecture diagram, HyperOS frosted glass UI, SUSFS toggles, and safe mode engine (5000027)
  • chore(release): update update.json for version 21458 [skip ci] (20cfd12)
  • chore(prop): keep module author as nothingnesscore (e3633b1)
  • chore(release): update update.json for version 21456 [skip ci] (3581533)
  • docs: credit maxsteeel as primary codebase author alongside ZeroMount and SUSFS (a84e9c4)
  • chore(release): update update.json for version 21454 [skip ci] (52b52d6)

Note: For 1-click in-manager updates, SU managers download the rolling latest release.

BruhMount Milestone Checkpoint #454 (v2.1.0-enhanced)

Choose a tag to compare

🚀 BruhMount Milestone Checkpoint (#454)

Trigger: Major/feature changes detected since v2.0.0
Version: v2.1.0-enhanced
Commit: f6c637b

📋 Changes Compiled Since Last Checkpoint:

  • fix(ci): configure git identity before milestone tagging in publish release step (f6c637b)
  • fix(ci): lock workflows permission to standard scope and preserve workflow files from upstream changes (07e2b66)
  • chore(upstream): auto-merge maxsteeel/nomount (master @ 016375c) with BruhMount enhancements (5500c7e)
  • chore(release): update update.json for version 21420 [skip ci] (a8b9de8)
  • chore(upstream): auto-merge maxsteeel/nomount (master @ 016375c) with BruhMount enhancements (26e8a5b)
  • fix(webui): typos in Arabic translation, add RTL layout support (maxsteeel#72) (016375c)
  • webui: add arabic localization (maxsteeel#69) (3a3fc9f)
  • kernel: replace implicit initialization with memset for compatibility (7919faf)
  • webui: refresh app list right after open (6d8871d)
  • kernel: preserve directory lifetimes during rule deletion (a49792c)
  • userspace: simplify resolved path writes (e2c556e)
  • webui: resolve app UID via pm instead of ksu's api; add per-user badge (09257d7)
  • scripts: change MarkdownV2 to HTML (68233af)
  • kernel: only change d_flags if its our file (4463f16)
  • kernel: clear make/sparse warnings (c75579f)
  • kernel: batch rule clearing (6e3322a)
  • kernel: fix ART child removal (35b6b68)
  • userspace: batch list output writes (19079ee)
  • kernel: remove obsolete ART lookup hashes (79a8e5a)
  • kernel: store single directory children directly (e2ed3a1)
  • kernel: manage ART nodes under the rules lock (9443488)
  • module: improve instalation script (ef61a80)
  • workflows: improve workflows (3268c54)
  • kernel: replace RBTree with Adaptive Radix Tree (f7f7caa)
  • workflow: implement uploading to telegram CI group (0c4b2db)
  • module, workflow: change ko-loader to lkmloader (9122a0b)
  • workflows: parallelize builds and use minimal DDK (b3cbeee)
  • kernel: fix nesting issues in real injection rules (166f7b7)
  • userspace: encode rule paths directly into payload (f67b2d2)
  • kernel: reuse rule lookup in directory iteration (82d4320)
  • kernel: drop redundant RCU wait when clearing UIDs (7f63f42)
  • kernel: change current_uid() to current_fsuid() (3e65dbc)
  • kernel: fix uid exclusion logic in nm_d_revalidate (691008a)
  • kernel: correct uid check in lookup (9913939)
  • kernel: correct uid check in lookup (d0f57d5)
  • kernel: changes exclusion list implementation (7c97fed)
  • chore(release): update update.json for version 21415 [skip ci] (1e429a5)
  • fix(ci): pass chat_id as literal form-string to prevent curl file read error 26 (0a13650)
  • feat: add updateJson and continuous release sync for in-manager updates (2cc00eb)
  • ci: fix Telegram upload step using standalone python script (c27084c)
  • ci: add automated Telegram module upload to @bruhperidot with monospace changelog (d60fc57)
  • docs: reword metamodule filtering and update setup script references (0c2eeb4)
  • kernel: changes exclusion list implementation (09f3c41)
  • fix(ui): resolve System Unknown, improve device model name, and refine dock/navbar padding (993dd29)
  • feat(webui): Rene-style SUSFS background logs, Monet dynamic colors, AMOLED mode, and fix nav clipping (60104e7)
  • ci: add automated 6-hourly upstream sync workflow tracking maxsteeel/nomount (fd65056)
  • feat(webui): HyperOS 4 UI with iOS-style floating pill navbar and segmented theme switcher (a1155b3)
  • kernel: cache uid blocked across directory iteration (2d3863b)
  • kernel: compact __nomount_get_rule_info function (c017162)
  • kernel: skip inode allocation for whiteouts (2507ad6)
  • kernel: improve comprobations in nm_listxattr (dd34a4e)
  • kernel: convert some helpers functions to macros (33d90da)
  • webui: create seprete module version, status only contain driver version, added one more string to translate (1707001)
  • workflow: change version naming in module.prop (14ae43f)
  • kernel: use safe pointer arithmetic for payload bounds (e4dd950)
  • userspace: trim command and script overhead (a36ccb0)
  • userspace: validate batched command inputs (e25ee7d)
  • kernel: trim redundant allocation and hot-path work (31ab15b)
  • kernel: compact directory node hook state (797620b)
  • kernel: reuse binary search insertion position (f76bb80)
  • kernel: propagate child array allocation failures (62336dc)
  • kernel: normalize rule paths consistently (83bc9e9)
  • kernel: validate seqcount snapshots before use (e3d7cef)
  • feat(webui): authentic MiuiX theme, multi-tier HyperOS detect, and interactive SUSFS diagnostics (cf6438e)
  • kernel: revert "kernel: drop S_PRIVATE flag in own inodes, remove mmap wrappers" (13b09ce)
  • kernel: implement wrappers to get our structures (c4a02fd)
  • kernel: only hook iterate_shared if natively supported (ed0ac43)
  • kernel: fix size inconsistency in nm_setattr (1a77a03)
  • kernel: delete remain rule pointer in array when deleting a child (d000bf3)
  • fix(webui): resolve bruhmount module path dynamically (6cc60b0)
  • kernel: verify seqcount consistency before return (6d40668)
  • kernel: fix race conditions with orig_dops in nm_d_revalidate (b928835)
  • kernel: set dirty page before put it (f71bb6e)
  • kernel: mask create flags in dentry_open (6195388)
  • kernel: fix exclusion uid inconsistents in iterate_dir (ecbab86)
  • fix(webui): proper NoMount/SUSFS detection, HyperOS theme (cff6c00)
  • feat: introduce BruhMount with native VFS redirection and automated SUSFS integration (6cde795)
  • kernel: fix RCU dereferences and and static checker warnings (7e1b5a4)
  • kernel: rewrite dentry hijacking (bc4a1da)
  • kernel: drop bypassed dentries to prevent reverse cache poisoning (8c2073b)
  • kernel: use DCACHE_DONTCACHE to prevent dcache issues (e1ffb35)
  • kernel: improve inlining of functions (5e26349)
  • kernel: optimization in nomount_bsearch_child (f175674)
  • kernel: inline nomount_get_dir_node function into nomount_generate_virtual_topology (98e8dbc)
  • kernel: drop S_PRIVATE flag in own inodes, remove mmap wrappers (5be59b2)
  • kernel: simplify nomount_actor_proxy (d6bb7c9)
  • workflow: update lkm workflow (9136e9a)
  • kernel: add ANDROID_GKI_VFS_EXPORT_ONLY namespace (ca59073)
  • workflow: update ko-loader, use musl instead of gnu (4cf3957)
  • webui: complete the Chinese translation (8a45db7)
  • workflow: replace Node JSON processing with jq (cf62456)
  • webui: round clear rules button (5b5b209)
  • webui: refine module cards (6be689e)
  • webui: refine home status card (ac0cb54)
  • webui: align app selector layout (6a3e50b)
  • webui: remove redundant markup and styles (1efcdfb)
  • workflows: minify locale resources (b74e460)
  • webui: avoid duplicate initial refresh (792654c)
  • webui: stabilize app selector during keyboard changes (853f67a)
  • kernel: drop slab caches (afe960f)
  • kernel: compact rule structures via unions and align cachelines (fd42351)
  • kernel: improve nm_getattr readibility (66cb5ff)
  • kernel: use nm_hash_and_lookup instead of separate hash and lookup (169c609)
  • kernel: batch replaced rule reclamation (7b62b00)
  • kernel: use default_llseek in nm_dir_fops (574545d)
  • kernel: remove r_len redefinition in NM_CMD_GET_LIST (da4c116)
  • module/userspace: restore UIDs in one process (3a16bfc)
  • userspace: compact arguments into fixed workspace (a930b63)
  • kernel: overlap mutually exclusive rule nodes (e446bcc)
  • kernel: drop redundant virtual inode number (e2abe77)
  • kernel: avoid redundant SRCU grace periods (4945df3)
  • kernel: drop keyring allocation overhead via preparse callback (51f0780)
  • misc: add module screenshots in README.md (9bef75d)
  • webui: remove special character (ab06dc1)
  • kernel: use single-copy bloom reads (f5149aa)
  • kernel: compact child array layout (426ba5f)
  • kernel: eliminate redundant child nodes (8ec63cf)
  • kernel: trim child metadata and cache path length (885b393)
  • workflow: split release/dev module build, change version and artifact naming (9a14317)
  • webui: remove deprecated uid exclusion list functions (915d242)
  • module: fix boot UID injection after JSON migration (da39932)
  • kernel: remove unused fake_dop/orig_dop from nm_iop (2f57784)
  • kernel: ensure synchronous RCU grace periods (5656fb5)
  • kernel: implement lockless asynchronous garbage collection for hijacked dir_nodes (15f0c4b)
  • kernel: fix permanent inode memory leak in directory hijacking (6c03475)
  • kernel: prevent torn pointers during in-place array updates (d65312b)
  • module: mini fixes (5c4ae4e)
  • kernel: fix 'const filldir_t actor' compilation error (c8721cf)
  • kernel: implement lockless fast-path lookup and fix UAF race conditions (0e90d38)
  • module: remove some redundancies in customize.sh (29199bc)
  • module: refactor load_ko() logic (729ba8d)
  • module: drop verbose mode (d314999)
  • module: expand target partitions list and add path validation (5ee218c)
  • webui: redesign exclusions with batching, multi-select and MD3 dialogs (5c34ade)
  • webui: prevent DOM thrashing when deleting excluded apps (a86bb8f)
  • webui: implement persistent fast-caching for apps selector (80420aa)
  • webui: migrate exclusions storage to JSON (d096ca6)
  • webui: prevent DOM thrashing in modules list (9376119)
  • module: add support for trusted.overlay.opaque whiteouts (87231f0)
  • module: move boot semaphore cleanup to boot-completed.sh (1d9b526)
  • Fix Turkish translation for Exclusions tab (maxsteeel#59) (9d833d9)
  • webui: add Japanese translation (maxsteeel#56) (06af304)
  • Fix Turkish translation for "exclusions" (6515716)
  • webui: add locale-aware number formatting in template interpolation (5a34665)
  • webui: add Bengali translation (f09d2ca)

Note: For 1-click in-manager updates, SU managers download the rolling latest release.

BruhMount Latest (v2.1.0-enhanced #613)

Choose a tag to compare

@nothingnesscore nothingnesscore released this 05 Sep 20:29

🛡️ BruhMount Latest Release

Automated continuous release for SukiSU / KernelSU in-app updates.