From Nintendo Switch Brew
Jump to navigation Jump to search

The Switch 12.1.0 system update was released on July 6, 2021 (UTC). This Switch update was released for the following regions: ALL.

Security flaws fixed: <fill this in manually later, see the updatedetails page from the ninupdates-report page(s) once available for now>.


Official ALL change-log:

  • Added the following system functionality:
  • If there is not enough space remaining on the system memory (internal storage) or microSD card when downloading game software update data, you can now delete old data for that software, enabling you to download the new data.
  • When deleting the old data, you won't be able to play the game until the new data has finished downloading.
  • General system stability improvements have been made to enhance the user's experience.

System Titles

  • Every sysmodule (besides stubs) were updated.
  • All SystemData was updated, except for the Dictionary titles, AvatarImage, Eula, ControllerIcon, ApplicationBlackList, FunctionBlackList.
  • All applets were updated, except for LibraryAppletCabinet, LibraryAppletSwkbd, LibraryAppletMiiEdit.

The only NPDM changes besides the usual version-bump was adding csrng service access to the web-applets: LibAppletWeb, LibAppletShop, LibAppletOff, LibAppletLns, LibAppletAuth.

There were no sysmodule IPC changes.

The ssl sysmodule codebin was not changed.

RomFS changes:

  • ErrorMessage: various error messages were updated/added.
  • BrowserDll:
    • Added "/browser/certBlocklistCommon.json".
    • Updated "/browser/ErrorPageTemplate.html", "/browser/MediaControlsInline.css", "/browser/MediaControlsInline.js", "/browser/RootCaEtc.pem", "/buildinfo/buildinfo.dat".
    • Updated "/lyt/Browse/Pointer.arc" and message data.
    • "dll_0"/"dll_1" in "/nro/netfront/" were renamed to "core_0"/"core_1".
  • Help: "/legallines.htdocs/index.html" was updated.
  • LocalNews: Message data was updated.
  • UrlBlackList: "/listLnsChina.txt" was updated.
  • ControllerFirmware: "/FirmwareInfo.csv" and "/ukyosakyo_ep2_ota.bin" were updated.
  • Various UI/graphics/message data was updated for applets.
  • Web-applets: "/.nrr/dll.nrr" was renamed to "/.nrr/modules.nrr", and "/buildinfo/buildinfo.dat" was updated.
  • photoViewer: "/http/js/index.js" and "/http/styles/index.css" were updated.


All files in RomFS were updated.


The only change was updating the json.


The func for DisableBluetooth was updated. Two funcs which handle FatalReason no longer clear a global state field.

The remaining changes fixed IPC cmd vulns.


The CFI code was updated.

The add/sub instruction was replaced with eor. Hence, the additional code at func entry/exit is now identical. The code now does:

  • The low 40-bits of x30 are extracted, then multiplied with x18.
  • crc32x w17, w16, x17 (which uses the above value - x16 was set to sp after the above bitfield-extract)
  • x17 is multiplied with x18 again.
  • crc32x w17, wzr, x17
  • Then lastly the eor instruction is used with x30, with x17 shifted to bit40.

See Also

System update report(s):

Nintendo Switch System Versions