{"push_id":556143095,"size":17,"distinct_size":17,"ref":"refs/heads/kasan","head":"381383c19e81d9f75921aa7abc291f6254b8f372","before":"9c6ecb7734c985bfe04c4c58bf90486eb7eac69f","commits":[{"sha":"84ba58b3fcb2cbb118d324cffc7d9db88f6086ec","author":{"email":"d7a2c23eccda99639e3fab64d868a1b1895748fa@samsung.com","name":"Andrey Ryabinin"},"message":"x86_64: kasan: make shadow memory writable during bootstrap\n\nStack instrumentation implies that functions prologue\npoisons variable's redzones on stack.\nSo we need to make shadow writable even on bootstrap\neven though we are not able to handle bugs properly.\n\nSigned-off-by: Andrey Ryabinin <a.ryabinin@samsung.com>","distinct":true,"url":"https://api.github.com/repos/google/kasan/commits/84ba58b3fcb2cbb118d324cffc7d9db88f6086ec"},{"sha":"cb1ad2326c135049cce433398b484524c780033f","author":{"email":"d7a2c23eccda99639e3fab64d868a1b1895748fa@samsung.com","name":"Andrey Ryabinin"},"message":"kasan: report: don't rely on shadow value when in bug reports\n\nFor printing address description, instead of relying on value\nin shadow memory it's simpler and better to use access address\nitself.\nThis will make reporting more simple after adding stack and\nglobals instrumentation.\n\nSigned-off-by: Andrey Ryabinin <a.ryabinin@samsung.com>","distinct":true,"url":"https://api.github.com/repos/google/kasan/commits/cb1ad2326c135049cce433398b484524c780033f"},{"sha":"2fb7cdcb981eb1d203bcd15486c90d9ecd8fe0c7","author":{"email":"d7a2c23eccda99639e3fab64d868a1b1895748fa@samsung.com","name":"Andrey Ryabinin"},"message":"kasan: Introduce stack instrumentation\n\nEnables stack instrumentation. Compiler adds redzones around\nevery variable on stack and poisons redzones in function's prologue.\nThis allows to detect out of bounds memory accesses for varibles\nallocated on stack.\n\nSince this significantly increases stack usage, size of stack\nincreased up to 32K.\n\nSigned-off-by: Andrey Ryabinin <a.ryabinin@samsung.com>","distinct":true,"url":"https://api.github.com/repos/google/kasan/commits/2fb7cdcb981eb1d203bcd15486c90d9ecd8fe0c7"},{"sha":"275183603bba5efd7399de108037a6f54e1519b0","author":{"email":"fc44582e3ea5c5edf025c4b49edfa21354ea32c7@gmail.com","name":"Andrey Ryabinin"},"message":"x86_64: kasan: don't hardcode shadow size\n\nSigned-off-by: Andrey Ryabinin <a.ryabinin@samsung.com>","distinct":true,"url":"https://api.github.com/repos/google/kasan/commits/275183603bba5efd7399de108037a6f54e1519b0"},{"sha":"b0b4604f46d57129c45aa1df964a7cb656aa5808","author":{"email":"d7a2c23eccda99639e3fab64d868a1b1895748fa@samsung.com","name":"Andrey Ryabinin"},"message":"x86_64: kasan: change shadow offset\n\nMove shadow out of vmalloc. For globals instrumentation\nwe will need shadow backing modules addresses.\n\nSo we need some sort of a shadow memory allocator\n(something like vmmemap_populate() function, except\nthat it should be available after boot).\n\n__vmalloc_node_range() suits that purpose, except that\nit can't be used for allocating from shadow in vmalloc\narea because shadow in vmalloc is already 'allocated'\nto protect us from other vmalloc users. So we need\n16TB of unused addresses. And we have big enough hole\nbetween vmemmap and %esp fixup stacks. So lets move shadow\nthere.\n\nSigned-off-by: Andrey Ryabinin <a.ryabinin@samsung.com>","distinct":true,"url":"https://api.github.com/repos/google/kasan/commits/b0b4604f46d57129c45aa1df964a7cb656aa5808"},{"sha":"571fa6e591e65a7a76eef8d556a80324cee41400","author":{"email":"d7a2c23eccda99639e3fab64d868a1b1895748fa@samsung.com","name":"Andrey Ryabinin"},"message":"mm: vmalloc: Add VM_NO_GUARD flag to prevent guard page allocation\n\n__vmalloc_node_range() will be used for allocating kasan's\nshadow memory for modules. We can't have guard hole in shadow,\nThis patch adds new vm flag VM_NO_GUARD which could be passed\nto __vmalloc_node_range() and save us from guard hole.\n\nSigned-off-by: Andrey Ryabinin <a.ryabinin@samsung.com>","distinct":true,"url":"https://api.github.com/repos/google/kasan/commits/571fa6e591e65a7a76eef8d556a80324cee41400"},{"sha":"f64a1780e9af181aee1dd4f9b38a91564ddb4172","author":{"email":"d7a2c23eccda99639e3fab64d868a1b1895748fa@samsung.com","name":"Andrey Ryabinin"},"message":"kasan: implement globals instrumentation\n\nImplement instrumentation of global variables allows to detect\nout-of-bounds accesses in global variables.\n\nBug reporting is simple, it could be better especially\nfor GCC >= 5.0 (we could print location of variable definition).\nWe could improve it latter if/when needed.\n\nSigned-off-by: Andrey Ryabinin <a.ryabinin@samsung.com>","distinct":true,"url":"https://api.github.com/repos/google/kasan/commits/f64a1780e9af181aee1dd4f9b38a91564ddb4172"},{"sha":"9ad885dbb77ba086b8cfbb651168b34c7289c2f6","author":{"email":"d7a2c23eccda99639e3fab64d868a1b1895748fa@samsung.com","name":"Andrey Ryabinin"},"message":"module: fix types of device tables\n\nMODULE_DEVICE_TABLE() is used to create alias to device tables,\nbut this alias has a wrong type. Device tables are arrays,\nso they have 'struct type##_device_id[x]' types.\nAlias created by MODULE_DEVICE_TABLE() is non-array type.\n\nThis inconsistency confuses compiler, and lead to false\npositive out of bounds reports in kasan.\nLet's fix the type of alias.\n\nSigned-off-by: Andrey Ryabinin <a.ryabinin@samsung.com>","distinct":true,"url":"https://api.github.com/repos/google/kasan/commits/9ad885dbb77ba086b8cfbb651168b34c7289c2f6"},{"sha":"f9df23d6fe4591c7d3e595d3011059c6e345fd7b","author":{"email":"d7a2c23eccda99639e3fab64d868a1b1895748fa@samsung.com","name":"Andrey Ryabinin"},"message":"kasan: tests: couple trivial out of bounds tests\n\nNew test to demonstrate globals and stack instrumentation.\n\nSigned-off-by: Andrey Ryabinin <a.ryabinin@samsung.com>","distinct":true,"url":"https://api.github.com/repos/google/kasan/commits/f9df23d6fe4591c7d3e595d3011059c6e345fd7b"},{"sha":"87362760fd9df520abfbec4f451eab59f291cdc4","author":{"email":"d7a2c23eccda99639e3fab64d868a1b1895748fa@samsung.com","name":"Andrey Ryabinin"},"message":"x86_64: kasan: add comments for KASAN_SHADOW_START/KASAN_SHADOW_END\n\nThis patch intends to make KASAN_SHADOW_START/KASAN_SHADOW_END\ncalculation more clear.\n\nSigned-off-by: Andrey Ryabinin <a.ryabinin@samsung.com>","distinct":true,"url":"https://api.github.com/repos/google/kasan/commits/87362760fd9df520abfbec4f451eab59f291cdc4"},{"sha":"919a8588078a533e4ce52838ce234e5c847d3af5","author":{"email":"d7a2c23eccda99639e3fab64d868a1b1895748fa@samsung.com","name":"Andrey Ryabinin"},"message":"x86_64: kasan: some refactoring.\n\n * Add kasan_ prefixes for some variables.\n * Add comments.\n * Replace 0xF9 with more appropriate KASAN_SHADOW_GAP\n\nSigned-off-by: Andrey Ryabinin <a.ryabinin@samsung.com>","distinct":true,"url":"https://api.github.com/repos/google/kasan/commits/919a8588078a533e4ce52838ce234e5c847d3af5"},{"sha":"5b2dd8f2f8200c8fb4ea812bfecc5dc59fee629a","author":{"email":"d7a2c23eccda99639e3fab64d868a1b1895748fa@samsung.com","name":"Andrey Ryabinin"},"message":"mm: kasan: warn if shadow address for module is not page aligned\n\nSigned-off-by: Andrey Ryabinin <a.ryabinin@samsung.com>","distinct":true,"url":"https://api.github.com/repos/google/kasan/commits/5b2dd8f2f8200c8fb4ea812bfecc5dc59fee629a"},{"sha":"170d3a6e14836b96677f89caab0b7bb16ffab7ac","author":{"email":"d7a2c23eccda99639e3fab64d868a1b1895748fa@samsung.com","name":"Andrey Ryabinin"},"message":"mm: kasan: prefix some struct with kasan_ rather then asan_\n\nJust to make it consistent with other names.\n\nSigned-off-by: Andrey Ryabinin <a.ryabinin@samsung.com>","distinct":true,"url":"https://api.github.com/repos/google/kasan/commits/170d3a6e14836b96677f89caab0b7bb16ffab7ac"},{"sha":"5411c8fe87c871804cec1c9958278bb44c48356e","author":{"email":"d7a2c23eccda99639e3fab64d868a1b1895748fa@samsung.com","name":"Andrey Ryabinin"},"message":"kasan: remove CONFIG_KASAN_GLOBALS\n\nThere is no strong need for this option.\nLet's always enable globals instrumentation.\nDropping this option makes code more simple.\n\nSigned-off-by: Andrey Ryabinin <a.ryabinin@samsung.com>","distinct":true,"url":"https://api.github.com/repos/google/kasan/commits/5411c8fe87c871804cec1c9958278bb44c48356e"},{"sha":"8a0d06927f19f9e73a1f013c63bf78c0a0fa340e","author":{"email":"d7a2c23eccda99639e3fab64d868a1b1895748fa@samsung.com","name":"Andrey Ryabinin"},"message":"x86_64: kasan: rename kasan_map_zero_shadow() to kasan_map_early_shadow()\n\nkasan_map_early_shadow() is a better name since with\nstack instrumentation shadow won't be zero.\n\nSigned-off-by: Andrey Ryabinin <a.ryabinin@samsung.com>","distinct":true,"url":"https://api.github.com/repos/google/kasan/commits/8a0d06927f19f9e73a1f013c63bf78c0a0fa340e"},{"sha":"8ec08f070a6962248b5133162071d9ad0f53309d","author":{"email":"d7a2c23eccda99639e3fab64d868a1b1895748fa@samsung.com","name":"Andrey Ryabinin"},"message":"kasan: remove CONFIG_KASAN_STACK\n\nSigned-off-by: Andrey Ryabinin <a.ryabinin@samsung.com>","distinct":true,"url":"https://api.github.com/repos/google/kasan/commits/8ec08f070a6962248b5133162071d9ad0f53309d"},{"sha":"381383c19e81d9f75921aa7abc291f6254b8f372","author":{"email":"a9d95b5fa33d8a84eb106f11061bc97163b17b5f@google.com","name":"steelannelida"},"message":"Merge pull request #27 from aryabinin/kasan\n\nStack & globals instrumentation","distinct":true,"url":"https://api.github.com/repos/google/kasan/commits/381383c19e81d9f75921aa7abc291f6254b8f372"}]}