{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":20193261,"defaultBranch":"master","name":"optee_os","ownerLogin":"OP-TEE","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2014-05-26T17:18:57.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/7488961?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1720773966.0","currentOid":""},"activityList":{"items":[{"before":"16b9b1ef7b421bb768ce816e53797fc0d60f236a","after":"a75748346692554f662003ffc4306c3e667783a9","ref":"refs/heads/master","pushedAt":"2024-09-19T11:21:06.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jforissier","name":"Jérôme Forissier","path":"/jforissier","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8288195?s=80&v=4"},"commit":{"message":"core: timeout_elapsed(): fix expiration threshold\n\nFix timeout threshold that should return once the time expires,\nnot 1 tick after it has expired. This change makes udelay(0) to\nimmediately return and not wait a generic timer counter increment.\n\nThis change fixes an issue where a driver stops the counter feeding\nArm generic timer counter and indirectly calls IO_READ32_POLL_TIMEOUT()\nwith a delay of 0us. It that case, since counter never increments, the\nudelay(0) call in IO_READ32_POLL_TIMEOUT() never returns while we expect\nthe macro to endlessly poll (as timeout would never be detected) until\npoll condition is met or system watchdog is triggered.\n\nSigned-off-by: Etienne Carriere \nAcked-by: Jens Wiklander \nReviewed-by: Jerome Forissier ","shortMessageHtmlLink":"core: timeout_elapsed(): fix expiration threshold"}},{"before":"b78dd3f248b87dd8356b1e70d1d13a951b5ea1fc","after":"16b9b1ef7b421bb768ce816e53797fc0d60f236a","ref":"refs/heads/master","pushedAt":"2024-09-16T06:55:50.000Z","pushType":"pr_merge","commitsCount":5,"pusher":{"login":"jforissier","name":"Jérôme Forissier","path":"/jforissier","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8288195?s=80&v=4"},"commit":{"message":"riscv: plat-virt: allow enabling CFG_TEE_CORE_DEBUG for virt machine\n\nAllow enabling CFG_TEE_CORE_DEBUG to make assertions useful.\n\nSigned-off-by: Yu Chien Peter Lin \nReviewed-by: Alvin Chang \nTested-by: Alvin Chang \nAcked-by: Etienne Carriere ","shortMessageHtmlLink":"riscv: plat-virt: allow enabling CFG_TEE_CORE_DEBUG for virt machine"}},{"before":"55a4d839310ce46aca79a12015ab8e1da9f110e5","after":"b78dd3f248b87dd8356b1e70d1d13a951b5ea1fc","ref":"refs/heads/master","pushedAt":"2024-09-13T12:20:11.000Z","pushType":"pr_merge","commitsCount":8,"pusher":{"login":"jforissier","name":"Jérôme Forissier","path":"/jforissier","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8288195?s=80&v=4"},"commit":{"message":"core: add CFG_RPMB_ANNOUNCE_PROBE_CAP\n\nAdd CFG_RPMB_ANNOUNCE_PROBE_CAP to control whether RPMB probe capability\nshould be announced to the kernel. For the kernel driver to enable\nin-kernel RPMB routing it must know in advance that OP-TEE supports it.\nBy masking the capability the kernel will route all RPMB commands to\ntee-supplicant.\n\nSigned-off-by: Jens Wiklander \nReviewed-by: Jerome Forissier \nReviewed-by: Etienne Carriere ","shortMessageHtmlLink":"core: add CFG_RPMB_ANNOUNCE_PROBE_CAP"}},{"before":"f84c5df41de3ce78ee6c9b14d43335067bc51cb9","after":"55a4d839310ce46aca79a12015ab8e1da9f110e5","ref":"refs/heads/master","pushedAt":"2024-09-10T13:14:21.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jforissier","name":"Jérôme Forissier","path":"/jforissier","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8288195?s=80&v=4"},"commit":{"message":"ta: pkcs11: fix memory leak\n\nOn update_persistent_object_attributes failure, head_new (stored in\nobj->attributes) is not freed, causing a memory leak.\n\nReported-by: Christian Zoia \nCloses: https://github.com/OP-TEE/optee_os/issues/7023\nFixes: 6959626e1621 (\"ta: pkcs11: preserve object when set attribute fails\")\nSigned-off-by: Georges Savoundararadj \nReviewed-by: Jerome Forissier \nReviewed-by: Etienne Carriere ","shortMessageHtmlLink":"ta: pkcs11: fix memory leak"}},{"before":"7b76de3dc3b0c49260b118ed2ad05de8944620d2","after":"f84c5df41de3ce78ee6c9b14d43335067bc51cb9","ref":"refs/heads/master","pushedAt":"2024-09-10T13:13:09.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jforissier","name":"Jérôme Forissier","path":"/jforissier","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8288195?s=80&v=4"},"commit":{"message":"drivers: rstctrl: Fix function description\n\nFix the description of functions rstctrl_dt_get_func() and\nrstctrl_register_provider() and rstctrl_get_exclusive().\n\nBy the way, append parentheses (\"()\") to function names in\ninline description comment for consistency in core header files.\n\nSigned-off-by: Patrick Delaunay \nSigned-off-by: Etienne Carriere \nAcked-by: Jerome Forissier ","shortMessageHtmlLink":"drivers: rstctrl: Fix function description"}},{"before":"74d63113a4b98abb8a2045597b599f224d1fdad7","after":"7b76de3dc3b0c49260b118ed2ad05de8944620d2","ref":"refs/heads/master","pushedAt":"2024-09-09T15:27:00.000Z","pushType":"pr_merge","commitsCount":5,"pusher":{"login":"jforissier","name":"Jérôme Forissier","path":"/jforissier","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8288195?s=80&v=4"},"commit":{"message":"core: riscv: Let platform choose native and foreign interrupts\n\nPlatform may want to choose different types of native and foreign\ninterrupts. This commit adds two definitions for the platforms:\n1. PLAT_THREAD_EXCP_FOREIGN_INTR: to define platform specific foreign\n interrupts\n2. PLAT_THREAD_EXCP_NATIVE_INTR: to define platform specific native\n interrupts.\n\nFor RISC-V virt machine, we define all external/mtimer/software\ninterrupts as foreign interrupts. For RISC-V spike platform, we define\nexternal interrupts as foreign interrupts, and mtimer/software\ninterrupts as native interrupts.\n\nSigned-off-by: Alvin Chang \nReviewed-by: Yu Chien Peter Lin \nAcked-by: Jens Wiklander ","shortMessageHtmlLink":"core: riscv: Let platform choose native and foreign interrupts"}},{"before":"a420305232cabde42cf87e7bcdccb059c1eb2bf2","after":"74d63113a4b98abb8a2045597b599f224d1fdad7","ref":"refs/heads/master","pushedAt":"2024-09-09T09:34:22.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jforissier","name":"Jérôme Forissier","path":"/jforissier","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8288195?s=80&v=4"},"commit":{"message":"core: arm: Remove duplicated sp assignment for ARM64 in set_ctx_regs()\n\nThere are two lines of code to assign value of sp for ARM64. Remove one\nof them.\n\nSigned-off-by: Alvin Chang \nReviewed-by: Etienne Carriere \nReviewed-by: Jens Wiklander ","shortMessageHtmlLink":"core: arm: Remove duplicated sp assignment for ARM64 in set_ctx_regs()"}},{"before":"6e5cb5c9f42119509079fb0736d04cd8aae9c36e","after":"a420305232cabde42cf87e7bcdccb059c1eb2bf2","ref":"refs/heads/master","pushedAt":"2024-09-09T09:09:17.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jforissier","name":"Jérôme Forissier","path":"/jforissier","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8288195?s=80&v=4"},"commit":{"message":"driver: crypto: hisilicon: add montgomery algorithm\n\nadd operation of X25519 and X448 algorithm, including alloc_keypair,\ngen_keypar and shared_secret\n\nSigned-off-by: yuzexi \nAcked-by: Jens Wiklander \nAcked-by: Etienne Carriere ","shortMessageHtmlLink":"driver: crypto: hisilicon: add montgomery algorithm"}},{"before":"cd7384a0a94b2eba741a797f27974338b063f391","after":"6e5cb5c9f42119509079fb0736d04cd8aae9c36e","ref":"refs/heads/master","pushedAt":"2024-09-05T10:06:00.000Z","pushType":"pr_merge","commitsCount":4,"pusher":{"login":"jforissier","name":"Jérôme Forissier","path":"/jforissier","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8288195?s=80&v=4"},"commit":{"message":"checkpatch: add ignore=STRLCPY\n\nCheckpatch complains over strlcpy:\nWARNING: Prefer strscpy over strlcpy - see: https://github.com/KSPP/linux/issues/89\n\nHowever, OP-TEE doesn't have a strscpy() function to use, so silence the\nwarning until one is available.\n\nSigned-off-by: Jens Wiklander \nReviewed-by: Etienne Carriere ","shortMessageHtmlLink":"checkpatch: add ignore=STRLCPY"}},{"before":"980d32c47182e04ae1944f8f3743b40f486a737f","after":"cd7384a0a94b2eba741a797f27974338b063f391","ref":"refs/heads/master","pushedAt":"2024-09-04T12:43:20.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jforissier","name":"Jérôme Forissier","path":"/jforissier","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8288195?s=80&v=4"},"commit":{"message":"core: riscv: Simplify SP setup in setup_unwind_user_mode()\n\nThe parameter \"regs\" is the stack pointer which is allocated to store\nsystem call registers when calling thread_scall_handler(). Thus, we can\nsimply get the original stack pointer by \"regs + 1\" equation, and use it\nto exit user mode.\n\nThe code is referenced from ARM's setup_unwind_user_mode().\n\nSigned-off-by: Alvin Chang \nReviewed-by: Yu Chien Peter Lin ","shortMessageHtmlLink":"core: riscv: Simplify SP setup in setup_unwind_user_mode()"}},{"before":"efcc90b2b45900841a7313a74fbe43599616f1e4","after":"980d32c47182e04ae1944f8f3743b40f486a737f","ref":"refs/heads/master","pushedAt":"2024-09-04T12:18:33.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jforissier","name":"Jérôme Forissier","path":"/jforissier","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8288195?s=80&v=4"},"commit":{"message":"core: open-code thread_init_stack()\n\nThe implementations of thread_init_stack() are identical and trivial for\nboth arm and riscv. So simplify code further and open-code it where it's\ncalled from in core/kernel/thread.c.\n\nSigned-off-by: Jens Wiklander \nReviewed-by: Alvin Chang \nTested-by: Alvin Chang ","shortMessageHtmlLink":"core: open-code thread_init_stack()"}},{"before":"8cd20f2366f528dfe8f30854a33b473713b4a29e","after":"efcc90b2b45900841a7313a74fbe43599616f1e4","ref":"refs/heads/master","pushedAt":"2024-09-04T12:15:52.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jforissier","name":"Jérôme Forissier","path":"/jforissier","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8288195?s=80&v=4"},"commit":{"message":"core: virt: initialize heap from virt_guest_created()\n\nReplace the preinit_early() guest heap initialization with function call\nin virt_guest_created().\n\nSigned-off-by: Jens Wiklander \nReviewed-by: Jerome Forissier ","shortMessageHtmlLink":"core: virt: initialize heap from virt_guest_created()"}},{"before":"5c669b6d1a1139cf3dca201f2a849476564069a0","after":"8cd20f2366f528dfe8f30854a33b473713b4a29e","ref":"refs/heads/master","pushedAt":"2024-09-04T07:34:09.000Z","pushType":"pr_merge","commitsCount":4,"pusher":{"login":"jforissier","name":"Jérôme Forissier","path":"/jforissier","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8288195?s=80&v=4"},"commit":{"message":"libutils: malloc.h: add nex_malloc_buffer_overlaps_heap()\n\nAdd the macros nex_malloc_buffer_overlaps_heap() and\nnex_malloc_buffer_is_within_alloced() as aliases for\nmalloc_buffer_overlaps_heap() and malloc_buffer_is_within_alloced() when\nvirtualization isn't enabled.\n\nSigned-off-by: Jens Wiklander \nReviewed-by: Jerome Forissier \nReviewed-by: Etienne Carriere ","shortMessageHtmlLink":"libutils: malloc.h: add nex_malloc_buffer_overlaps_heap()"}},{"before":"10b2f530eefb09b78df5cd4e26fb41374e25a53d","after":"5c669b6d1a1139cf3dca201f2a849476564069a0","ref":"refs/heads/master","pushedAt":"2024-09-04T07:33:13.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"jforissier","name":"Jérôme Forissier","path":"/jforissier","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8288195?s=80&v=4"},"commit":{"message":"ta: remoteproc: add command to release remote processor firmware\n\nThis patch introduces a new command `TA_RPROC_CMD_RELEASE_FW` to release\nthe firmware images and associated resources of a remote processor.\n\nThis command can be called by the non-secure context to release the loaded\nfirmware if the remoteproc is not running.\n\nThe command can be used, for instance, in case an error occurs in the\nnon-secure context between the load request and the start of the\nremote processor. Calling the command allows releasing the loaded firmware\nand going back to the REMOTEPROC_OFF state.\n\nThis command should also be called after the stop of the\nremote processor to release associated resources.\n\nSigned-off-by: Arnaud Pouliquen \nReviewed-by: Etienne Carriere ","shortMessageHtmlLink":"ta: remoteproc: add command to release remote processor firmware"}},{"before":"72f437a738fef03ecf896ba6254ee01e7605be7e","after":"10b2f530eefb09b78df5cd4e26fb41374e25a53d","ref":"refs/heads/master","pushedAt":"2024-09-04T07:31:41.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jforissier","name":"Jérôme Forissier","path":"/jforissier","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8288195?s=80&v=4"},"commit":{"message":"riscv: plat-virt: Set CFG_BOOT_SYNC_CPU=n\n\nOn RISC-V QEMU virt platform, OP-TEE OS runs as S-mode. There is a\nsecure monitor runs as M-mode and controls the hart state of the\nsecondary CPUs in SMP system (e.g., by SBI HSM extension) during OP-TEE\nOS secondary CPUs booting.\n\nThus, RISC-V virt platform does not need CFG_BOOT_SYNC_CPU.\n\nSigned-off-by: Alvin Chang \nReviewed-by: Yu Chien Peter Lin \nAcked-by: Jens Wiklander ","shortMessageHtmlLink":"riscv: plat-virt: Set CFG_BOOT_SYNC_CPU=n"}},{"before":"47fd72092aa569f9da13393ed5387af5945e7ef5","after":"72f437a738fef03ecf896ba6254ee01e7605be7e","ref":"refs/heads/master","pushedAt":"2024-09-04T07:27:24.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jforissier","name":"Jérôme Forissier","path":"/jforissier","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8288195?s=80&v=4"},"commit":{"message":"core: add CFG_CORE_ASLR_SEED\n\nAdd CFG_CORE_ASLR_SEED to override the used seed if CFG_CORE_ASLR=y.\nCFG_CORE_ASLR_SEED is intended to help debugging ASLR related issues\nby using the same address layout each time.\n\nCFG_CORE_ASLR_SEED requires CFG_INSECURE=y.\n\nSigned-off-by: Jens Wiklander \nReviewed-by: Jerome Forissier ","shortMessageHtmlLink":"core: add CFG_CORE_ASLR_SEED"}},{"before":"9f32a1a2f5c5656d3e552f032bec5146d53b8986","after":"47fd72092aa569f9da13393ed5387af5945e7ef5","ref":"refs/heads/master","pushedAt":"2024-09-03T07:49:07.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jforissier","name":"Jérôme Forissier","path":"/jforissier","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8288195?s=80&v=4"},"commit":{"message":"core: drivers: riscv_zkr_rng: limit seed reading time\n\nIf the attempts to read SEED exceed 1 second for 16-bit\nrandomness, we consider it a failure.\n\nAlso, move seed CSR field encodings to the header file.\n\nSigned-off-by: Yu Chien Peter Lin \nReviewed-by: Alvin Chang \nTested-by: Alvin Chang \nAcked-by: Gatien Chevallier ","shortMessageHtmlLink":"core: drivers: riscv_zkr_rng: limit seed reading time"}},{"before":"71f90c7d80c0735f68cf513862399a4004c90da8","after":"9f32a1a2f5c5656d3e552f032bec5146d53b8986","ref":"refs/heads/master","pushedAt":"2024-09-02T07:48:45.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"jforissier","name":"Jérôme Forissier","path":"/jforissier","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8288195?s=80&v=4"},"commit":{"message":"core: spmc: handle BTI/PAUTH info in SP manifest\n\nProvide information to the SP whether BTI and PAUTH are enabled in\nOP-TEE by updating the relevant DT node in the SP manifest.\nThis way the SP can detect if the required protection is not available.\n\nSigned-off-by: Gabor Toth \nAcked-by: Etienne Carriere ","shortMessageHtmlLink":"core: spmc: handle BTI/PAUTH info in SP manifest"}},{"before":"2a585878a456e15841b3670479ccef1b53b00312","after":"71f90c7d80c0735f68cf513862399a4004c90da8","ref":"refs/heads/master","pushedAt":"2024-09-02T07:37:32.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"jforissier","name":"Jérôme Forissier","path":"/jforissier","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8288195?s=80&v=4"},"commit":{"message":"core: riscv: core_mmu_arch: fix next level page-table translation\n\nIf arch_va2pa_helper() and core_mmu_find_table() are called when\nthe MMU is disabled, we don't need to convert the next level page\nbase address with phys_to_virt(). Add core_mmu_xlat_table_entry_pa2va()\nto handle this address translation.\n\nSigned-off-by: Yu Chien Peter Lin \nReviewed-by: Alvin Chang \nTested-by: Alvin Chang \nAcked-by: Jens Wiklander ","shortMessageHtmlLink":"core: riscv: core_mmu_arch: fix next level page-table translation"}},{"before":"b1eb945e7f8425f365861e1827eee5b018211eec","after":"2a585878a456e15841b3670479ccef1b53b00312","ref":"refs/heads/master","pushedAt":"2024-09-02T07:36:31.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jforissier","name":"Jérôme Forissier","path":"/jforissier","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8288195?s=80&v=4"},"commit":{"message":"core: riscv: Increase size of stacks and extra check space\n\nTo support CFG_CORE_DEBUG_CHECK_STACKS=y for RISC-V, we set\nSTACK_CHECK_EXTRA as 1536 like what ARM does.\n\nTo avoid stack overruns when CFG_CORE_DEBUG_CHECK_STACKS=y, we increase\nthe size of abort stack to 4096 bytes and size of thread stack to 10240\nbytes.\n\nSigned-off-by: Alvin Chang \nReviewed-by: Yu-Chien Peter Lin \nAcked-by: Jens Wiklander ","shortMessageHtmlLink":"core: riscv: Increase size of stacks and extra check space"}},{"before":"4680bb7c16c09f4cfb324ba1e3ec8df605e22156","after":"b1eb945e7f8425f365861e1827eee5b018211eec","ref":"refs/heads/master","pushedAt":"2024-09-02T06:01:16.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jforissier","name":"Jérôme Forissier","path":"/jforissier","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8288195?s=80&v=4"},"commit":{"message":"plat-k3: drivers: Change SA2UL_init service to service_init_crypto\n\nSince commit 11d8578d93f0 (\"core: arm: call call_driver_initcalls()\nlate\"), driver_init is deferred and thread_update_canaries tries to get\nrandom_stack_canaries which requires the TRNG driver to be setup. Since\nit was being setup as part of driver_init, it lead to crash on K3\nplatforms.\n\nChange driver_init to service_init_crypto which is meant to be used for\ninitialization of crypto operations. Also, for the TISCI services to be\navailable before service_init_crypto, change init_ti_sci invocation to\nearly_init_late.\n\nReviewed-by: Jens Wiklander \nSigned-off-by: Kamlesh Gurudasani \nSigned-off-by: Manorit Chawdhry ","shortMessageHtmlLink":"plat-k3: drivers: Change SA2UL_init service to service_init_crypto"}},{"before":"71ecb9fa58ecef9e535f63b4d9d9e45dd4696e51","after":"4680bb7c16c09f4cfb324ba1e3ec8df605e22156","ref":"refs/heads/master","pushedAt":"2024-08-29T20:21:23.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jforissier","name":"Jérôme Forissier","path":"/jforissier","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8288195?s=80&v=4"},"commit":{"message":"mk/compile.mk: fix pre-processed device tree dependencies file target\n\nThe pre-processed device tree dependencies file target should be\n.pre.dts, not .dtb.\n\nFixes: f0bb1a5a390f (\"mk/compile.mk: separate rule to produce preprocessed dts files\")\nLink: https://github.com/OP-TEE/optee_os/issues/7015\nSigned-off-by: Gatien Chevallier \nReviewed-by: Jerome Forissier ","shortMessageHtmlLink":"mk/compile.mk: fix pre-processed device tree dependencies file target"}},{"before":"931c8c5e79f08c60e42b47fadf59d67b1862810b","after":"71ecb9fa58ecef9e535f63b4d9d9e45dd4696e51","ref":"refs/heads/master","pushedAt":"2024-08-28T07:33:58.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jforissier","name":"Jérôme Forissier","path":"/jforissier","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8288195?s=80&v=4"},"commit":{"message":"core: fix error handling in tee_svc_storage_read_head()\n\nPrior to this all errors except TEE_ERROR_OUT_OF_MEMORY from\nfops->read() was reported as TEE_ERROR_CORRUPT_OBJECT leading\nto removal of the object.\nWe should not treat all errors as corrupt, so remove the error\ncode translation.\n\nSigned-off-by: Pengguang Zhu \nReviewed-by: Jerome Forissier \nReviewed-by: Jens Wiklander ","shortMessageHtmlLink":"core: fix error handling in tee_svc_storage_read_head()"}},{"before":"81d5a9d51511f52b8389c80b488f234b5d4d74aa","after":"931c8c5e79f08c60e42b47fadf59d67b1862810b","ref":"refs/heads/master","pushedAt":"2024-08-27T12:59:29.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jforissier","name":"Jérôme Forissier","path":"/jforissier","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8288195?s=80&v=4"},"commit":{"message":"ta: pkcs11: write db_main and db_objs in one operation\n\nProblem:\nThere is a potential issue in persistent_token.c::init_persistent_db().\nThere are two steps to initialize a token DB if it doesn’t exist:\n1. Call TEE_CreatePersistentObject() with db_main as the initial data.\n2. Truncate the object data and then insert db_obj data.\nIf a power loss occurs between above two steps, only the db_main data is\npresent in the database. When the device restarts, it detects the existing\ndatabase and successfully reads db_main, but fails to read db_obj, leading\nto a TA panic each time.\nhttps://github.com/OP-TEE/optee_os/issues/6977\n\nSolution:\nWrite both db_main and the initial 4 bytes of db_objs (with a count of 0)\nin a single operation during TEE_CreatePersistentObject().\n\nTested-by: Weizhao Jiang \nReviewed-by: Etienne Carriere \nSigned-off-by: Weizhao Jiang ","shortMessageHtmlLink":"ta: pkcs11: write db_main and db_objs in one operation"}},{"before":"c29c4146b9245568365160d97cc3c913cf4cc6be","after":"81d5a9d51511f52b8389c80b488f234b5d4d74aa","ref":"refs/heads/master","pushedAt":"2024-08-27T07:48:08.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jforissier","name":"Jérôme Forissier","path":"/jforissier","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8288195?s=80&v=4"},"commit":{"message":"Move base64.{c,h} from libutee to libutils\n\nMake the base64 routines publicly available by moving them from libutee\nto libutils. The _ prefix is removed from the public functions since\nthey aren't internal to libutee any longer.\n\nSigned-off-by: Jens Wiklander \nReviewed-by: Jerome Forissier ","shortMessageHtmlLink":"Move base64.{c,h} from libutee to libutils"}},{"before":"1c32a0ea6beeeeaaef3ff7bf2e5d4015555dfae8","after":"c29c4146b9245568365160d97cc3c913cf4cc6be","ref":"refs/heads/master","pushedAt":"2024-08-27T07:46:09.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jforissier","name":"Jérôme Forissier","path":"/jforissier","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8288195?s=80&v=4"},"commit":{"message":"core: riscv: Fix initial value of a0 in \"detect_csr\" ASM macro\n\nTo set initial value of the register a0 to 1, the assembly code should\nbe \"li a0, 1\" instead of \"addi a0, a0, 1\".\n\nSigned-off-by: Alvin Chang \nReviewed-by: Yu-Chien Peter Lin \nAcked-by: Jens Wiklander ","shortMessageHtmlLink":"core: riscv: Fix initial value of a0 in \"detect_csr\" ASM macro"}},{"before":"11d8578d93f0aee793b28221b06187f62bb7b24b","after":"1c32a0ea6beeeeaaef3ff7bf2e5d4015555dfae8","ref":"refs/heads/master","pushedAt":"2024-08-23T14:07:09.000Z","pushType":"pr_merge","commitsCount":7,"pusher":{"login":"jforissier","name":"Jérôme Forissier","path":"/jforissier","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8288195?s=80&v=4"},"commit":{"message":"drivers: stm32_rif: add stm32_rif_access_violation_action()\n\nThis function should be used by peripherals capable on raising\naccess violation interrupts (SERC, IAC). The behavior of the platform\non such event is platform-specific. Therefore, its definition must be\ndone at platform level.\n\nAlso add CFG_STM32_PANIC_ON_IAC_EVENT and CFG_STM32_PANIC_ON_SERC_EVENT\nto choose if the platform should panic upon receiving an IAC or a\nSERC event.\n\nSigned-off-by: Gatien Chevallier \nReviewed-by: Etienne Carriere ","shortMessageHtmlLink":"drivers: stm32_rif: add stm32_rif_access_violation_action()"}},{"before":"229670c3ef41b54b307e17fb841baaecc49648f6","after":"11d8578d93f0aee793b28221b06187f62bb7b24b","ref":"refs/heads/master","pushedAt":"2024-08-22T15:46:46.000Z","pushType":"pr_merge","commitsCount":5,"pusher":{"login":"jforissier","name":"Jérôme Forissier","path":"/jforissier","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8288195?s=80&v=4"},"commit":{"message":"core: arm: call call_driver_initcalls() late\n\nCalls call_early_initcalls() and call_service_initcalls() directly\ninstead of call_initcalls() from init_tee_runtime(). This allows\ncall_driver_initcalls() to be called with PAUTH enabled.\n\nSigned-off-by: Jens Wiklander \nAcked-by: Jerome Forissier \nReviewed-by: Etienne Carriere ","shortMessageHtmlLink":"core: arm: call call_driver_initcalls() late"}},{"before":"952dbec78443ecbe0e9ea6c748b1f1c6082beeab","after":"229670c3ef41b54b307e17fb841baaecc49648f6","ref":"refs/heads/master","pushedAt":"2024-08-22T11:10:30.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"jforissier","name":"Jérôme Forissier","path":"/jforissier","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8288195?s=80&v=4"},"commit":{"message":"drivers: scmi-msg: fix clock rates description remaining count\n\nFix value of remaining clocks to describe on SCMI clock protocol\nmessage CLOCK_DESCRIBE_RATES that does not take into account the\nnumber of returned clock in the response.\n\nFixes: 90252e2a52c7 (\"drivers: scmi-msg: clock adapts to output buffer size\")\nSigned-off-by: Etienne Carriere \nAcked-by: Jerome Forissier \nAcked-by: Gatien Chevallier ","shortMessageHtmlLink":"drivers: scmi-msg: fix clock rates description remaining count"}},{"before":"3b4ffdf0eea446f592b08ead6d1554247e6d2d9e","after":"952dbec78443ecbe0e9ea6c748b1f1c6082beeab","ref":"refs/heads/master","pushedAt":"2024-08-22T08:42:09.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jforissier","name":"Jérôme Forissier","path":"/jforissier","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8288195?s=80&v=4"},"commit":{"message":"plat-sam: implement PL310 SMC protocol\n\nWhen Linux runs in normal world, it expects the PL310 to be initially\ndisabled, and then invokes SMCs to enable it.\nLet CFG_PL310_SIP_PROTOCOL=y, and the L2 cache will be left untouched\nuntil the OS enables it.\n\nSigned-off-by: Tony Han \nAcked-by: Jens Wiklander ","shortMessageHtmlLink":"plat-sam: implement PL310 SMC protocol"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0xOVQxMToyMTowNi4wMDAwMDBazwAAAAS6wy-G","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0xOVQxMToyMTowNi4wMDAwMDBazwAAAAS6wy-G","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOC0yMlQwODo0MjowOS4wMDAwMDBazwAAAAShDNJY"}},"title":"Activity · OP-TEE/optee_os"}