2016-09-19 12:13:58 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-07-15 19:46:26 -04:00
|
|
|
|
|
|
|
|
|
2016-09-19 12:13:58 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-01-12 14:11:53 +08:00
|
|
|
|
2022-10-04 15:39:44 +02:00
|
|
|
|
2017-01-09 15:23:17 +08:00
|
|
|
|
2022-01-18 16:04:02 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-01-18 21:44:06 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-02-03 21:13:40 +00:00
|
|
|
|
2024-02-12 17:33:45 -05:00
|
|
|
|
2022-02-03 21:13:40 +00:00
|
|
|
|
2025-10-27 13:45:33 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-03-04 14:02:55 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-06-24 16:44:26 -05:00
|
|
|
|
2024-02-29 16:04:35 -05:00
|
|
|
|
2025-10-07 11:00:16 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-04-29 18:49:23 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-02-28 17:24:52 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-09-28 09:47:32 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
drm/amdgpu: Fix type of second parameter in trans_msg() callback
With clang's kernel control flow integrity (kCFI, CONFIG_CFI_CLANG),
indirect call targets are validated against the expected function
pointer prototype to make sure the call target is valid to help mitigate
ROP attacks. If they are not identical, there is a failure at run time,
which manifests as either a kernel panic or thread getting killed. A
proposed warning in clang aims to catch these at compile time, which
reveals:
drivers/gpu/drm/amd/amdgpu/mxgpu_ai.c:412:15: error: incompatible function pointer types initializing 'void (*)(struct amdgpu_device *, u32, u32, u32, u32)' (aka 'void (*)(struct amdgpu_device *, unsigned int, unsigned int, unsigned int, unsigned int)') with an expression of type 'void (struct amdgpu_device *, enum idh_request, u32, u32, u32)' (aka 'void (struct amdgpu_device *, enum idh_request, unsigned int, unsigned int, unsigned int)') [-Werror,-Wincompatible-function-pointer-types-strict]
.trans_msg = xgpu_ai_mailbox_trans_msg,
^~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
drivers/gpu/drm/amd/amdgpu/mxgpu_nv.c:435:15: error: incompatible function pointer types initializing 'void (*)(struct amdgpu_device *, u32, u32, u32, u32)' (aka 'void (*)(struct amdgpu_device *, unsigned int, unsigned int, unsigned int, unsigned int)') with an expression of type 'void (struct amdgpu_device *, enum idh_request, u32, u32, u32)' (aka 'void (struct amdgpu_device *, enum idh_request, unsigned int, unsigned int, unsigned int)') [-Werror,-Wincompatible-function-pointer-types-strict]
.trans_msg = xgpu_nv_mailbox_trans_msg,
^~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
The type of the second parameter in the prototype should be 'enum
idh_request' instead of 'u32'. Update it to clear up the warnings.
Link: https://github.com/ClangBuiltLinux/linux/issues/1750
Reported-by: Sami Tolvanen <samitolvanen@google.com>
Reviewed-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2022-11-02 08:25:39 -07:00
|
|
|
|
|
|
|
|
|
2017-01-12 14:53:08 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-03-04 11:38:36 +08:00
|
|
|
|
2017-01-12 14:53:08 +08:00
|
|
|
|
2024-05-24 16:22:28 -04:00
|
|
|
|
2017-10-24 09:51:04 +08:00
|
|
|
|
drm/amdgpu: Fix type of second parameter in trans_msg() callback
With clang's kernel control flow integrity (kCFI, CONFIG_CFI_CLANG),
indirect call targets are validated against the expected function
pointer prototype to make sure the call target is valid to help mitigate
ROP attacks. If they are not identical, there is a failure at run time,
which manifests as either a kernel panic or thread getting killed. A
proposed warning in clang aims to catch these at compile time, which
reveals:
drivers/gpu/drm/amd/amdgpu/mxgpu_ai.c:412:15: error: incompatible function pointer types initializing 'void (*)(struct amdgpu_device *, u32, u32, u32, u32)' (aka 'void (*)(struct amdgpu_device *, unsigned int, unsigned int, unsigned int, unsigned int)') with an expression of type 'void (struct amdgpu_device *, enum idh_request, u32, u32, u32)' (aka 'void (struct amdgpu_device *, enum idh_request, unsigned int, unsigned int, unsigned int)') [-Werror,-Wincompatible-function-pointer-types-strict]
.trans_msg = xgpu_ai_mailbox_trans_msg,
^~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
drivers/gpu/drm/amd/amdgpu/mxgpu_nv.c:435:15: error: incompatible function pointer types initializing 'void (*)(struct amdgpu_device *, u32, u32, u32, u32)' (aka 'void (*)(struct amdgpu_device *, unsigned int, unsigned int, unsigned int, unsigned int)') with an expression of type 'void (struct amdgpu_device *, enum idh_request, u32, u32, u32)' (aka 'void (struct amdgpu_device *, enum idh_request, unsigned int, unsigned int, unsigned int)') [-Werror,-Wincompatible-function-pointer-types-strict]
.trans_msg = xgpu_nv_mailbox_trans_msg,
^~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
The type of the second parameter in the prototype should be 'enum
idh_request' instead of 'u32'. Update it to clear up the warnings.
Link: https://github.com/ClangBuiltLinux/linux/issues/1750
Reported-by: Sami Tolvanen <samitolvanen@google.com>
Reviewed-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2022-11-02 08:25:39 -07:00
|
|
|
|
|
|
|
|
|
2024-01-23 16:08:11 +08:00
|
|
|
|
|
|
|
|
|
2024-06-24 16:44:26 -05:00
|
|
|
|
2024-10-30 09:45:27 -04:00
|
|
|
|
2025-02-26 17:03:10 -05:00
|
|
|
|
2025-04-29 16:48:09 -04:00
|
|
|
|
2025-08-19 12:51:28 +08:00
|
|
|
|
2025-10-21 10:13:29 +08:00
|
|
|
|
|
|
|
|
|
2017-01-12 14:53:08 +08:00
|
|
|
|
|
|
|
|
|
2017-10-09 16:17:16 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-11-14 23:20:13 +08:00
|
|
|
|
|
|
|
|
|
2024-10-30 10:18:00 -04:00
|
|
|
|
2017-10-09 16:17:16 +08:00
|
|
|
|
|
|
|
|
|
2020-07-15 19:46:26 -04:00
|
|
|
|
2017-10-09 16:17:16 +08:00
|
|
|
|
2020-07-15 19:46:26 -04:00
|
|
|
|
|
|
|
|
|
2017-10-09 16:17:16 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-10-30 20:11:54 +08:00
|
|
|
|
|
|
|
|
|
2020-03-03 19:23:24 +08:00
|
|
|
|
|
|
|
|
|
2019-10-30 17:16:35 +08:00
|
|
|
|
|
|
|
|
|
2021-03-29 15:40:13 -04:00
|
|
|
|
|
|
|
|
|
2023-02-28 18:48:41 +08:00
|
|
|
|
|
|
|
|
|
2023-10-16 12:49:11 -04:00
|
|
|
|
|
|
|
|
|
2024-03-26 13:24:21 +08:00
|
|
|
|
|
|
|
|
|
2024-10-30 09:58:56 -04:00
|
|
|
|
2024-10-30 10:18:00 -04:00
|
|
|
|
2025-02-26 17:03:10 -05:00
|
|
|
|
2025-10-07 14:19:45 +00:00
|
|
|
|
2021-03-29 15:40:13 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-03-27 11:38:42 -04:00
|
|
|
|
2021-03-29 15:40:13 -04:00
|
|
|
|
2025-03-27 11:38:42 -04:00
|
|
|
|
2021-03-29 15:40:13 -04:00
|
|
|
|
2025-03-27 11:38:42 -04:00
|
|
|
|
2025-06-09 14:09:28 -05:00
|
|
|
|
2025-03-27 11:38:42 -04:00
|
|
|
|
2025-06-09 14:09:28 -05:00
|
|
|
|
|
|
|
|
|
2017-10-09 16:17:16 +08:00
|
|
|
|
|
|
|
|
|
2020-07-15 19:46:26 -04:00
|
|
|
|
2017-10-09 16:17:16 +08:00
|
|
|
|
2018-11-14 23:20:13 +08:00
|
|
|
|
2017-10-09 16:17:16 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-11-14 23:20:13 +08:00
|
|
|
|
2017-10-09 16:17:16 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-11-14 23:20:13 +08:00
|
|
|
|
2017-10-09 16:17:16 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-11-14 23:20:13 +08:00
|
|
|
|
2017-10-09 16:17:16 +08:00
|
|
|
|
|
|
|
|
|
2020-05-14 16:44:42 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-02-26 17:03:10 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-08-19 12:51:28 +08:00
|
|
|
|
2025-02-26 17:03:10 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-09-04 17:47:20 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-10-07 09:46:16 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-09-19 12:13:58 +08:00
|
|
|
|
2017-01-09 18:06:57 -05:00
|
|
|
|
2017-01-12 14:53:08 +08:00
|
|
|
|
|
|
|
|
|
2019-01-08 15:28:52 +08:00
|
|
|
|
2017-01-12 15:32:44 +08:00
|
|
|
|
2017-01-12 14:53:08 +08:00
|
|
|
|
2017-01-12 15:00:41 +08:00
|
|
|
|
|
|
|
|
|
2025-04-29 16:48:09 -04:00
|
|
|
|
2017-02-06 13:56:47 +08:00
|
|
|
|
2025-08-07 16:52:34 -04:00
|
|
|
|
|
|
|
|
|
2025-04-29 16:48:09 -04:00
|
|
|
|
2017-02-28 17:24:52 +08:00
|
|
|
|
2017-01-12 14:53:08 +08:00
|
|
|
|
2020-07-28 15:29:12 -04:00
|
|
|
|
2017-10-09 16:17:16 +08:00
|
|
|
|
2025-09-04 17:47:20 +05:30
|
|
|
|
2017-10-30 20:11:54 +08:00
|
|
|
|
2019-05-09 17:32:59 +08:00
|
|
|
|
2020-03-04 11:38:36 +08:00
|
|
|
|
2020-04-07 18:08:39 +08:00
|
|
|
|
2020-05-14 16:44:42 +08:00
|
|
|
|
|
|
|
|
|
2021-03-30 18:27:15 +08:00
|
|
|
|
2020-07-28 15:29:12 -04:00
|
|
|
|
2025-10-07 09:46:16 -05:00
|
|
|
|
|
|
|
|
|
2025-10-07 11:00:16 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-10-07 09:46:16 -05:00
|
|
|
|
2020-07-28 15:29:12 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-02-29 16:04:35 -05:00
|
|
|
|
2021-05-13 01:17:54 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-07-29 13:44:43 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-05-27 16:10:43 -04:00
|
|
|
|
drm/amdgpu: Replace Mutex with Spinlock for RLCG register access to avoid Priority Inversion in SRIOV
RLCG Register Access is a way for virtual functions to safely access GPU
registers in a virtualized environment., including TLB flushes and
register reads. When multiple threads or VFs try to access the same
registers simultaneously, it can lead to race conditions. By using the
RLCG interface, the driver can serialize access to the registers. This
means that only one thread can access the registers at a time,
preventing conflicts and ensuring that operations are performed
correctly. Additionally, when a low-priority task holds a mutex that a
high-priority task needs, ie., If a thread holding a spinlock tries to
acquire a mutex, it can lead to priority inversion. register access in
amdgpu_virt_rlcg_reg_rw especially in a fast code path is critical.
The call stack shows that the function amdgpu_virt_rlcg_reg_rw is being
called, which attempts to acquire the mutex. This function is invoked
from amdgpu_sriov_wreg, which in turn is called from
gmc_v11_0_flush_gpu_tlb.
The [ BUG: Invalid wait context ] indicates that a thread is trying to
acquire a mutex while it is in a context that does not allow it to sleep
(like holding a spinlock).
Fixes the below:
[ 253.013423] =============================
[ 253.013434] [ BUG: Invalid wait context ]
[ 253.013446] 6.12.0-amdstaging-drm-next-lol-050225 #14 Tainted: G U OE
[ 253.013464] -----------------------------
[ 253.013475] kworker/0:1/10 is trying to lock:
[ 253.013487] ffff9f30542e3cf8 (&adev->virt.rlcg_reg_lock){+.+.}-{3:3}, at: amdgpu_virt_rlcg_reg_rw+0xf6/0x330 [amdgpu]
[ 253.013815] other info that might help us debug this:
[ 253.013827] context-{4:4}
[ 253.013835] 3 locks held by kworker/0:1/10:
[ 253.013847] #0: ffff9f3040050f58 ((wq_completion)events){+.+.}-{0:0}, at: process_one_work+0x3f5/0x680
[ 253.013877] #1: ffffb789c008be40 ((work_completion)(&wfc.work)){+.+.}-{0:0}, at: process_one_work+0x1d6/0x680
[ 253.013905] #2: ffff9f3054281838 (&adev->gmc.invalidate_lock){+.+.}-{2:2}, at: gmc_v11_0_flush_gpu_tlb+0x198/0x4f0 [amdgpu]
[ 253.014154] stack backtrace:
[ 253.014164] CPU: 0 UID: 0 PID: 10 Comm: kworker/0:1 Tainted: G U OE 6.12.0-amdstaging-drm-next-lol-050225 #14
[ 253.014189] Tainted: [U]=USER, [O]=OOT_MODULE, [E]=UNSIGNED_MODULE
[ 253.014203] Hardware name: Microsoft Corporation Virtual Machine/Virtual Machine, BIOS Hyper-V UEFI Release v4.1 11/18/2024
[ 253.014224] Workqueue: events work_for_cpu_fn
[ 253.014241] Call Trace:
[ 253.014250] <TASK>
[ 253.014260] dump_stack_lvl+0x9b/0xf0
[ 253.014275] dump_stack+0x10/0x20
[ 253.014287] __lock_acquire+0xa47/0x2810
[ 253.014303] ? srso_alias_return_thunk+0x5/0xfbef5
[ 253.014321] lock_acquire+0xd1/0x300
[ 253.014333] ? amdgpu_virt_rlcg_reg_rw+0xf6/0x330 [amdgpu]
[ 253.014562] ? __lock_acquire+0xa6b/0x2810
[ 253.014578] __mutex_lock+0x85/0xe20
[ 253.014591] ? amdgpu_virt_rlcg_reg_rw+0xf6/0x330 [amdgpu]
[ 253.014782] ? sched_clock_noinstr+0x9/0x10
[ 253.014795] ? srso_alias_return_thunk+0x5/0xfbef5
[ 253.014808] ? local_clock_noinstr+0xe/0xc0
[ 253.014822] ? amdgpu_virt_rlcg_reg_rw+0xf6/0x330 [amdgpu]
[ 253.015012] ? srso_alias_return_thunk+0x5/0xfbef5
[ 253.015029] mutex_lock_nested+0x1b/0x30
[ 253.015044] ? mutex_lock_nested+0x1b/0x30
[ 253.015057] amdgpu_virt_rlcg_reg_rw+0xf6/0x330 [amdgpu]
[ 253.015249] amdgpu_sriov_wreg+0xc5/0xd0 [amdgpu]
[ 253.015435] gmc_v11_0_flush_gpu_tlb+0x44b/0x4f0 [amdgpu]
[ 253.015667] gfx_v11_0_hw_init+0x499/0x29c0 [amdgpu]
[ 253.015901] ? __pfx_smu_v13_0_update_pcie_parameters+0x10/0x10 [amdgpu]
[ 253.016159] ? srso_alias_return_thunk+0x5/0xfbef5
[ 253.016173] ? smu_hw_init+0x18d/0x300 [amdgpu]
[ 253.016403] amdgpu_device_init+0x29ad/0x36a0 [amdgpu]
[ 253.016614] amdgpu_driver_load_kms+0x1a/0xc0 [amdgpu]
[ 253.017057] amdgpu_pci_probe+0x1c2/0x660 [amdgpu]
[ 253.017493] local_pci_probe+0x4b/0xb0
[ 253.017746] work_for_cpu_fn+0x1a/0x30
[ 253.017995] process_one_work+0x21e/0x680
[ 253.018248] worker_thread+0x190/0x330
[ 253.018500] ? __pfx_worker_thread+0x10/0x10
[ 253.018746] kthread+0xe7/0x120
[ 253.018988] ? __pfx_kthread+0x10/0x10
[ 253.019231] ret_from_fork+0x3c/0x60
[ 253.019468] ? __pfx_kthread+0x10/0x10
[ 253.019701] ret_from_fork_asm+0x1a/0x30
[ 253.019939] </TASK>
v2: s/spin_trylock/spin_lock_irqsave to be safe (Christian).
Fixes: e864180ee49b ("drm/amdgpu: Add lock around VF RLCG interface")
Cc: lin cao <lin.cao@amd.com>
Cc: Jingwen Chen <Jingwen.Chen2@amd.com>
Cc: Victor Skvortsov <victor.skvortsov@amd.com>
Cc: Zhigang Luo <zhigang.luo@amd.com>
Cc: Christian König <christian.koenig@amd.com>
Cc: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Srinivasan Shanmugam <srinivasan.shanmugam@amd.com>
Suggested-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2025-02-14 14:22:17 +05:30
|
|
|
|
|
|
|
|
|
2024-10-30 09:58:56 -04:00
|
|
|
|
2025-07-21 15:22:27 +08:00
|
|
|
|
|
|
|
|
|
2024-10-30 09:58:56 -04:00
|
|
|
|
2024-10-30 10:18:00 -04:00
|
|
|
|
2025-02-26 17:03:10 -05:00
|
|
|
|
2024-10-30 10:18:00 -04:00
|
|
|
|
2025-04-11 15:59:34 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-09-19 12:13:58 +08:00
|
|
|
|
|
|
|
|
|
2021-05-13 01:17:54 -04:00
|
|
|
|
|
|
|
|
|
2016-09-19 12:13:58 +08:00
|
|
|
|
2017-01-09 18:06:57 -05:00
|
|
|
|
2016-09-19 12:13:58 +08:00
|
|
|
|
|
|
|
|
|
2017-01-09 18:06:57 -05:00
|
|
|
|
2016-09-19 12:13:58 +08:00
|
|
|
|
|
|
|
|
|
2017-01-09 18:06:57 -05:00
|
|
|
|
2016-09-19 12:13:58 +08:00
|
|
|
|
2017-01-12 14:11:53 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-03-10 20:28:45 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-03-30 18:27:15 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-03-27 11:38:42 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-01-18 21:44:06 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-06-09 14:09:28 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-09-19 12:13:58 +08:00
|
|
|
|
2017-01-09 18:06:57 -05:00
|
|
|
|
2016-09-19 12:13:58 +08:00
|
|
|
|
2022-10-04 15:39:44 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-10-30 09:58:56 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-10-30 10:18:00 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-02-26 17:03:10 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-10-07 14:19:45 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-09-19 12:13:58 +08:00
|
|
|
|
|
|
|
|
|
2022-01-24 12:13:58 +08:00
|
|
|
|
2016-09-19 12:13:58 +08:00
|
|
|
|
2022-01-24 12:13:58 +08:00
|
|
|
|
|
|
|
|
|
2016-09-19 12:13:58 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-10-30 17:16:35 +08:00
|
|
|
|
|
|
|
|
|
2025-02-06 13:09:00 +08:00
|
|
|
|
|
|
|
|
|
2020-04-07 18:08:39 +08:00
|
|
|
|
2020-08-19 17:23:03 +08:00
|
|
|
|
2020-04-13 14:31:27 +08:00
|
|
|
|
2020-08-19 17:23:03 +08:00
|
|
|
|
2023-02-28 18:48:41 +08:00
|
|
|
|
|
|
|
|
|
2023-10-16 12:49:11 -04:00
|
|
|
|
|
|
|
|
|
2024-03-26 13:24:21 +08:00
|
|
|
|
|
|
|
|
|
2025-04-11 15:59:34 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-10-24 10:01:13 +08:00
|
|
|
|
2017-01-12 14:29:34 +08:00
|
|
|
|
2017-01-12 14:53:08 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-03-04 11:38:36 +08:00
|
|
|
|
2024-05-24 16:22:28 -04:00
|
|
|
|
2017-10-24 09:51:04 +08:00
|
|
|
|
2017-04-21 15:40:25 +08:00
|
|
|
|
|
|
|
|
|
2024-06-24 16:44:26 -05:00
|
|
|
|
2020-05-14 16:44:42 +08:00
|
|
|
|
2017-10-09 16:17:16 +08:00
|
|
|
|
2021-12-16 17:01:45 +00:00
|
|
|
|
2020-07-28 15:29:12 -04:00
|
|
|
|
2025-02-26 17:03:10 -05:00
|
|
|
|
2020-04-07 18:08:39 +08:00
|
|
|
|
2025-10-07 11:00:16 -05:00
|
|
|
|
2025-10-07 11:12:39 -05:00
|
|
|
|
2025-10-23 10:52:21 +05:30
|
|
|
|
2025-10-07 11:00:16 -05:00
|
|
|
|
2020-04-07 18:08:39 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-04-29 18:49:23 +08:00
|
|
|
|
|
|
|
|
|
2021-05-13 01:17:54 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-01-18 21:44:06 +08:00
|
|
|
|
|
|
|
|
|
2023-06-16 11:01:59 -04:00
|
|
|
|
2022-01-18 21:44:06 +08:00
|
|
|
|
2023-06-16 11:01:59 -04:00
|
|
|
|
2022-07-21 14:42:30 +08:00
|
|
|
|
|
|
|
|
|
2024-08-08 13:22:34 -04:00
|
|
|
|
2023-07-19 15:55:04 +08:00
|
|
|
|
2023-09-25 12:12:10 -04:00
|
|
|
|
2023-10-03 16:15:52 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-10-30 09:58:56 -04:00
|
|
|
|
2024-10-30 10:18:00 -04:00
|
|
|
|
|
|
|
|
|
2025-02-26 17:03:10 -05:00
|
|
|
|
2024-10-30 10:18:00 -04:00
|
|
|
|
2025-01-20 22:00:22 -05:00
|
|
|
|
|
|
|
|
|
2025-04-29 16:48:09 -04:00
|
|
|
|
2025-08-19 12:51:28 +08:00
|
|
|
|
2025-10-21 10:13:29 +08:00
|
|
|
|
|
|
|
|
|
2017-01-09 18:06:57 -05:00
|
|
|
|