mirror of
https://github.com/tile-ai/tilelang.git
synced 2026-10-21 06:40:23 +08:00
The kernel cache and the autotuner result cache loaded params.pkl with cloudpickle.load(), so a writable cache directory allowed arbitrary code execution on the next cache hit. Kernel params are plain data, so store them as JSON via TVM's reflection (tvm.ir.save_json / load_json), which rebuilds IR nodes without executing code. Entries without params.json are treated as incomplete and rebuilt. Fixes #2817