{"push_id":590620794,"size":1000,"distinct_size":9448,"ref":"refs/heads/lustre-next","head":"f30e58754d6daeb6b2c12a0877f0d7ed1d6ffd32","before":"8055902f3121f3c34490855bdd2a5e2d923a83aa","commits":[{"sha":"caac1d5fddf2d55e1e1fd6d86f6fc178c801e286","author":{"email":"c9f765440749baa7e08c195df833c6cdcdca3a95@gmail.com","name":"Heba Aamer"},"message":"checkpatch: improve seq_print->seq_puts suggestion\n\nImprove the format specifier test by removing any %% before looking for\nany remaining % format specifier.\n\nSigned-off-by: Heba Aamer <heba93aamer@gmail.com>\nSigned-off-by: Joe Perches <joe@perches.com>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>","distinct":true,"url":"https://api.github.com/repos/verygreen/linux/commits/caac1d5fddf2d55e1e1fd6d86f6fc178c801e286"},{"sha":"43f7fe52a82ec9f7aa6420af430745111674c7b9","author":{"email":"16a9a54ddf4259952e3c118c763138e83693d7fd@perches.com","name":"Joe Perches"},"message":"checkpatch: improve \"no space necessary after cast\" test\n\nCode like:\n\tif (a < sizeof(<type>) &&\nand\n\t{ .len = sizeof(<type>) },\n\nincorrectly emits that warning, so add more exceptions to avoid\nthe warning.\n\nSigned-off-by: Joe Perches <joe@perches.com>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>","distinct":true,"url":"https://api.github.com/repos/verygreen/linux/commits/43f7fe52a82ec9f7aa6420af430745111674c7b9"},{"sha":"101ee6802a77d3a8f42538360a5e9c3f17d5d5b5","author":{"email":"16a9a54ddf4259952e3c118c763138e83693d7fd@perches.com","name":"Joe Perches"},"message":"checkpatch: neaten printk_ratelimited message position\n\nJust neatening...\n\nSigned-off-by: Joe Perches <joe@perches.com>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>","distinct":true,"url":"https://api.github.com/repos/verygreen/linux/commits/101ee6802a77d3a8f42538360a5e9c3f17d5d5b5"},{"sha":"d2e025f364369dbe0a7dee1b15f198f5718f246a","author":{"email":"16a9a54ddf4259952e3c118c763138e83693d7fd@perches.com","name":"Joe Perches"},"message":"checkpatch: add --strict test for spaces around arithmetic\n\nSome prefer code to have spaces around arithmetic so instead of:\n        a = b*c+d;\nsuggest\n        a = b * c + d;\n\nSigned-off-by: Joe Perches <joe@perches.com>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>","distinct":true,"url":"https://api.github.com/repos/verygreen/linux/commits/d2e025f364369dbe0a7dee1b15f198f5718f246a"},{"sha":"19c146a64c5e14c5dd910e930565edf74637a423","author":{"email":"16a9a54ddf4259952e3c118c763138e83693d7fd@perches.com","name":"Joe Perches"},"message":"checkpatch: make sure a commit reference description uses parentheses\n\nThe preferred style for a commit reference in a commit log is:\n\n    commit <foo> (\"<title line>\")\n\nA recent commit removed this check for parentheses.  Add it back.\n\nSigned-off-by: Joe Perches <joe@perches.com>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>","distinct":true,"url":"https://api.github.com/repos/verygreen/linux/commits/19c146a64c5e14c5dd910e930565edf74637a423"},{"sha":"a2fe16b9d878a101b67678872e5cd1410c057ec0","author":{"email":"16a9a54ddf4259952e3c118c763138e83693d7fd@perches.com","name":"Joe Perches"},"message":"checkpatch: try to avoid poor patch subject lines\n\nNaming the tool that found an issue in the subject line isn't very useful.\n Emit a warning when a common tool (currently checkpatch, sparse or\nsmatch) is in the subject line.\n\nSigned-off-by: Joe Perches <joe@perches.com>\nSuggested-by: Al Viro <viro@ZenIV.linux.org.uk>\nAcked-by: Dan Carpenter <dan.carpenter@oracle.com>\nAcked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>","distinct":true,"url":"https://api.github.com/repos/verygreen/linux/commits/a2fe16b9d878a101b67678872e5cd1410c057ec0"},{"sha":"0f3c5aab5e00527eb3167aa9d1725cca9320e01e","author":{"email":"16a9a54ddf4259952e3c118c763138e83693d7fd@perches.com","name":"Joe Perches"},"message":"checkpatch: add of_device_id to structs that should be const\n\nUses of struct of_device_id are most commonly const.\n\nSuggest using it as such.\n\nSigned-off-by: Joe Perches <joe@perches.com>\nAcked-by: Rob Herring <robh@kernel.org>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>","distinct":true,"url":"https://api.github.com/repos/verygreen/linux/commits/0f3c5aab5e00527eb3167aa9d1725cca9320e01e"},{"sha":"4d5755b147665912c938504033d958f1115b68ff","author":{"email":"bfcdf3e6ca6cef45543bfbb57509c92aec9a39fb@stgolabs.net","name":"Davidlohr Bueso"},"message":"epoll: optimize setting task running after blocking\n\nAfter waking up a task waiting for an event, we explicitly mark it as\nTASK_RUNNING (which is necessary as we do the checks for wakeups as\nTASK_INTERRUPTIBLE).  Once running and dealing with actually delivering\nthe events, we're obviously not planning on calling schedule, thus we can\nrelax the implied barrier and simply update the state with\n__set_current_state().\n\nSigned-off-by: Davidlohr Bueso <dbueso@suse.de>\nCc: Alexander Viro <viro@zeniv.linux.org.uk>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>","distinct":true,"url":"https://api.github.com/repos/verygreen/linux/commits/4d5755b147665912c938504033d958f1115b68ff"},{"sha":"0f989f749b51ec1fd94bb5a42f8ad10c8b9f73cb","author":{"email":"5c1e68b099950c134891f0b6e179498a8ebe9cf9@linux-foundation.org","name":"Andrew Morton"},"message":"MODULE_DEVICE_TABLE: fix some callsites\n\nThe patch \"module: fix types of device tables aliases\" newly requires that\ninvocations of\n\nMODULE_DEVICE_TABLE(type, name);\n\ncome *after* the definition of `name'.  That is reasonable, but some\ndrivers weren't doing this.  Fix them.\n\nCc: James Bottomley <James.Bottomley@HansenPartnership.com>\nCc: Andrey Ryabinin <a.ryabinin@samsung.com>\nCc: David Miller <davem@davemloft.net>\nCc: Hans Verkuil <hverkuil@xs4all.nl>\nAcked-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>","distinct":true,"url":"https://api.github.com/repos/verygreen/linux/commits/0f989f749b51ec1fd94bb5a42f8ad10c8b9f73cb"},{"sha":"cb4188ac8e5779f66b9f55888ac2c75b391cde44","author":{"email":"d7a2c23eccda99639e3fab64d868a1b1895748fa@samsung.com","name":"Andrey Ryabinin"},"message":"compiler: introduce __alias(symbol) shortcut\n\nTo be consistent with other compiler attributes introduce __alias(symbol)\nmacro expanding into __attribute__((alias(#symbol)))\n\nSigned-off-by: Andrey Ryabinin <a.ryabinin@samsung.com>\nCc: Dmitry Vyukov <dvyukov@google.com>\nCc: Konstantin Serebryany <kcc@google.com>\nCc: Dmitry Chernenkov <dmitryc@google.com>\nSigned-off-by: Andrey Konovalov <adech.fo@gmail.com>\nCc: Yuri Gribov <tetra2005@gmail.com>\nCc: Konstantin Khlebnikov <koct9i@gmail.com>\nCc: Sasha Levin <sasha.levin@oracle.com>\nCc: Christoph Lameter <cl@linux.com>\nCc: Joonsoo Kim <iamjoonsoo.kim@lge.com>\nCc: Dave Hansen <dave.hansen@intel.com>\nCc: Andi Kleen <andi@firstfloor.org>\nCc: Ingo Molnar <mingo@elte.hu>\nCc: Thomas Gleixner <tglx@linutronix.de>\nCc: \"H. Peter Anvin\" <hpa@zytor.com>\nCc: Christoph Lameter <cl@linux.com>\nCc: Pekka Enberg <penberg@kernel.org>\nCc: David Rientjes <rientjes@google.com>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>","distinct":true,"url":"https://api.github.com/repos/verygreen/linux/commits/cb4188ac8e5779f66b9f55888ac2c75b391cde44"},{"sha":"0b24becc810dc3be6e3f94103a866f214c282394","author":{"email":"d7a2c23eccda99639e3fab64d868a1b1895748fa@samsung.com","name":"Andrey Ryabinin"},"message":"kasan: add kernel address sanitizer infrastructure\n\nKernel Address sanitizer (KASan) is a dynamic memory error detector.  It\nprovides fast and comprehensive solution for finding use-after-free and\nout-of-bounds bugs.\n\nKASAN uses compile-time instrumentation for checking every memory access,\ntherefore GCC > v4.9.2 required.  v4.9.2 almost works, but has issues with\nputting symbol aliases into the wrong section, which breaks kasan\ninstrumentation of globals.\n\nThis patch only adds infrastructure for kernel address sanitizer.  It's\nnot available for use yet.  The idea and some code was borrowed from [1].\n\nBasic idea:\n\nThe main idea of KASAN is to use shadow memory to record whether each byte\nof memory is safe to access or not, and use compiler's instrumentation to\ncheck the shadow memory on each memory access.\n\nAddress sanitizer uses 1/8 of the memory addressable in kernel for shadow\nmemory and uses direct mapping with a scale and offset to translate a\nmemory address to its corresponding shadow address.\n\nHere is function to translate address to corresponding shadow address:\n\n     unsigned long kasan_mem_to_shadow(unsigned long addr)\n     {\n                return (addr >> KASAN_SHADOW_SCALE_SHIFT) + KASAN_SHADOW_OFFSET;\n     }\n\nwhere KASAN_SHADOW_SCALE_SHIFT = 3.\n\nSo for every 8 bytes there is one corresponding byte of shadow memory.\nThe following encoding used for each shadow byte: 0 means that all 8 bytes\nof the corresponding memory region are valid for access; k (1 <= k <= 7)\nmeans that the first k bytes are valid for access, and other (8 - k) bytes\nare not; Any negative value indicates that the entire 8-bytes are\ninaccessible.  Different negative values used to distinguish between\ndifferent kinds of inaccessible memory (redzones, freed memory) (see\nmm/kasan/kasan.h).\n\nTo be able to detect accesses to bad memory we need a special compiler.\nSuch compiler inserts a specific function calls (__asan_load*(addr),\n__asan_store*(addr)) before each memory access of size 1, 2, 4, 8 or 16.\n\nThese functions check whether memory region is valid to access or not by\nchecking corresponding shadow memory.  If access is not valid an error\nprinted.\n\nHistorical background of the address sanitizer from Dmitry Vyukov:\n\n\t\"We've developed the set of tools, AddressSanitizer (Asan),\n\tThreadSanitizer and MemorySanitizer, for user space. We actively use\n\tthem for testing inside of Google (continuous testing, fuzzing,\n\trunning prod services). To date the tools have found more than 10'000\n\tscary bugs in Chromium, Google internal codebase and various\n\topen-source projects (Firefox, OpenSSL, gcc, clang, ffmpeg, MySQL and\n\tlots of others): [2] [3] [4].\n\tThe tools are part of both gcc and clang compilers.\n\n\tWe have not yet done massive testing under the Kernel AddressSanitizer\n\t(it's kind of chicken and egg problem, you need it to be upstream to\n\tstart applying it extensively). To date it has found about 50 bugs.\n\tBugs that we've found in upstream kernel are listed in [5].\n\tWe've also found ~20 bugs in out internal version of the kernel. Also\n\tpeople from Samsung and Oracle have found some.\n\n\t[...]\n\n\tAs others noted, the main feature of AddressSanitizer is its\n\tperformance due to inline compiler instrumentation and simple linear\n\tshadow memory. User-space Asan has ~2x slowdown on computational\n\tprograms and ~2x memory consumption increase. Taking into account that\n\tkernel usually consumes only small fraction of CPU and memory when\n\trunning real user-space programs, I would expect that kernel Asan will\n\thave ~10-30% slowdown and similar memory consumption increase (when we\n\tfinish all tuning).\n\n\tI agree that Asan can well replace kmemcheck. We have plans to start\n\tworking on Kernel MemorySanitizer that finds uses of unitialized\n\tmemory. Asan+Msan will provide feature-parity with kmemcheck. As\n\tothers noted, Asan will unlikely replace debug slab and pagealloc that\n\tcan be enabled at runtime. Asan uses compiler instrumentation, so even\n\tif it is disabled, it still incurs visible overheads.\n\n\tAsan technology is easily portable to other architectures. Compiler\n\tinstrumentation is fully portable. Runtime has some arch-dependent\n\tparts like shadow mapping and atomic operation interception. They are\n\trelatively easy to port.\"\n\nComparison with other debugging features:\n========================================\n\nKMEMCHECK:\n\n  - KASan can do almost everything that kmemcheck can.  KASan uses\n    compile-time instrumentation, which makes it significantly faster than\n    kmemcheck.  The only advantage of kmemcheck over KASan is detection of\n    uninitialized memory reads.\n\n    Some brief performance testing showed that kasan could be\n    x500-x600 times faster than kmemcheck:\n\n$ netperf -l 30\n\t\tMIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to localhost (127.0.0.1) port 0 AF_INET\n\t\tRecv   Send    Send\n\t\tSocket Socket  Message  Elapsed\n\t\tSize   Size    Size     Time     Throughput\n\t\tbytes  bytes   bytes    secs.    10^6bits/sec\n\nno debug:\t87380  16384  16384    30.00    41624.72\n\nkasan inline:\t87380  16384  16384    30.00    12870.54\n\nkasan outline:\t87380  16384  16384    30.00    10586.39\n\nkmemcheck: \t87380  16384  16384    30.03      20.23\n\n  - Also kmemcheck couldn't work on several CPUs.  It always sets\n    number of CPUs to 1.  KASan doesn't have such limitation.\n\nDEBUG_PAGEALLOC:\n\t- KASan is slower than DEBUG_PAGEALLOC, but KASan works on sub-page\n\t  granularity level, so it able to find more bugs.\n\nSLUB_DEBUG (poisoning, redzones):\n\t- SLUB_DEBUG has lower overhead than KASan.\n\n\t- SLUB_DEBUG in most cases are not able to detect bad reads,\n\t  KASan able to detect both reads and writes.\n\n\t- In some cases (e.g. redzone overwritten) SLUB_DEBUG detect\n\t  bugs only on allocation/freeing of object. KASan catch\n\t  bugs right before it will happen, so we always know exact\n\t  place of first bad read/write.\n\n[1] https://code.google.com/p/address-sanitizer/wiki/AddressSanitizerForKernel\n[2] https://code.google.com/p/address-sanitizer/wiki/FoundBugs\n[3] https://code.google.com/p/thread-sanitizer/wiki/FoundBugs\n[4] https://code.google.com/p/memory-sanitizer/wiki/FoundBugs\n[5] https://code.google.com/p/address-sanitizer/wiki/AddressSanitizerForKernel#Trophies\n\nBased on work by Andrey Konovalov.\n\nSigned-off-by: Andrey Ryabinin <a.ryabinin@samsung.com>\nAcked-by: Michal Marek <mmarek@suse.cz>\nSigned-off-by: Andrey Konovalov <adech.fo@gmail.com>\nCc: Dmitry Vyukov <dvyukov@google.com>\nCc: Konstantin Serebryany <kcc@google.com>\nCc: Dmitry Chernenkov <dmitryc@google.com>\nCc: Yuri Gribov <tetra2005@gmail.com>\nCc: Konstantin Khlebnikov <koct9i@gmail.com>\nCc: Sasha Levin <sasha.levin@oracle.com>\nCc: Christoph Lameter <cl@linux.com>\nCc: Joonsoo Kim <iamjoonsoo.kim@lge.com>\nCc: Dave Hansen <dave.hansen@intel.com>\nCc: Andi Kleen <andi@firstfloor.org>\nCc: Ingo Molnar <mingo@elte.hu>\nCc: Thomas Gleixner <tglx@linutronix.de>\nCc: \"H. Peter Anvin\" <hpa@zytor.com>\nCc: Christoph Lameter <cl@linux.com>\nCc: Pekka Enberg <penberg@kernel.org>\nCc: David Rientjes <rientjes@google.com>\nCc: Stephen Rothwell <sfr@canb.auug.org.au>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>","distinct":true,"url":"https://api.github.com/repos/verygreen/linux/commits/0b24becc810dc3be6e3f94103a866f214c282394"},{"sha":"786a8959912eb94fc2381c2ae487a96ce55dabca","author":{"email":"d7a2c23eccda99639e3fab64d868a1b1895748fa@samsung.com","name":"Andrey Ryabinin"},"message":"kasan: disable memory hotplug\n\nCurrently memory hotplug won't work with KASan.  As we don't have shadow\nfor hotplugged memory, kernel will crash on the first access to it.  To\nmake this work we will need to allocate shadow for new memory.\n\nAt some future point proper memory hotplug support will be implemented.\nUntil then, print a warning at startup and disable memory hot-add.\n\nSigned-off-by: Andrey Ryabinin <a.ryabinin@samsung.com>\nCc: Dmitry Vyukov <dvyukov@google.com>\nCc: Konstantin Serebryany <kcc@google.com>\nCc: Dmitry Chernenkov <dmitryc@google.com>\nSigned-off-by: Andrey Konovalov <adech.fo@gmail.com>\nCc: Yuri Gribov <tetra2005@gmail.com>\nCc: Konstantin Khlebnikov <koct9i@gmail.com>\nCc: Sasha Levin <sasha.levin@oracle.com>\nCc: Christoph Lameter <cl@linux.com>\nCc: Joonsoo Kim <iamjoonsoo.kim@lge.com>\nCc: Dave Hansen <dave.hansen@intel.com>\nCc: Andi Kleen <andi@firstfloor.org>\nCc: Ingo Molnar <mingo@elte.hu>\nCc: Thomas Gleixner <tglx@linutronix.de>\nCc: \"H. Peter Anvin\" <hpa@zytor.com>\nCc: Christoph Lameter <cl@linux.com>\nCc: Pekka Enberg <penberg@kernel.org>\nCc: David Rientjes <rientjes@google.com>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>","distinct":true,"url":"https://api.github.com/repos/verygreen/linux/commits/786a8959912eb94fc2381c2ae487a96ce55dabca"},{"sha":"ef7f0d6a6ca8c9e4b27d78895af86c2fbfaeedb2","author":{"email":"d7a2c23eccda99639e3fab64d868a1b1895748fa@samsung.com","name":"Andrey Ryabinin"},"message":"x86_64: add KASan support\n\nThis patch adds arch specific code for kernel address sanitizer.\n\n16TB of virtual addressed used for shadow memory.  It's located in range\n[ffffec0000000000 - fffffc0000000000] between vmemmap and %esp fixup\nstacks.\n\nAt early stage we map whole shadow region with zero page.  Latter, after\npages mapped to direct mapping address range we unmap zero pages from\ncorresponding shadow (see kasan_map_shadow()) and allocate and map a real\nshadow memory reusing vmemmap_populate() function.\n\nAlso replace __pa with __pa_nodebug before shadow initialized.  __pa with\nCONFIG_DEBUG_VIRTUAL=y make external function call (__phys_addr)\n__phys_addr is instrumented, so __asan_load could be called before shadow\narea initialized.\n\nSigned-off-by: Andrey Ryabinin <a.ryabinin@samsung.com>\nCc: Dmitry Vyukov <dvyukov@google.com>\nCc: Konstantin Serebryany <kcc@google.com>\nCc: Dmitry Chernenkov <dmitryc@google.com>\nSigned-off-by: Andrey Konovalov <adech.fo@gmail.com>\nCc: Yuri Gribov <tetra2005@gmail.com>\nCc: Konstantin Khlebnikov <koct9i@gmail.com>\nCc: Sasha Levin <sasha.levin@oracle.com>\nCc: Christoph Lameter <cl@linux.com>\nCc: Joonsoo Kim <iamjoonsoo.kim@lge.com>\nCc: Dave Hansen <dave.hansen@intel.com>\nCc: Andi Kleen <andi@firstfloor.org>\nCc: Ingo Molnar <mingo@elte.hu>\nCc: Thomas Gleixner <tglx@linutronix.de>\nCc: \"H. Peter Anvin\" <hpa@zytor.com>\nCc: Christoph Lameter <cl@linux.com>\nCc: Pekka Enberg <penberg@kernel.org>\nCc: David Rientjes <rientjes@google.com>\nCc: Jim Davis <jim.epost@gmail.com>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>","distinct":true,"url":"https://api.github.com/repos/verygreen/linux/commits/ef7f0d6a6ca8c9e4b27d78895af86c2fbfaeedb2"},{"sha":"b8c73fc2493d42517be95cf2c89659fc6c6f4d02","author":{"email":"d7a2c23eccda99639e3fab64d868a1b1895748fa@samsung.com","name":"Andrey Ryabinin"},"message":"mm: page_alloc: add kasan hooks on alloc and free paths\n\nAdd kernel address sanitizer hooks to mark allocated page's addresses as\naccessible in corresponding shadow region.  Mark freed pages as\ninaccessible.\n\nSigned-off-by: Andrey Ryabinin <a.ryabinin@samsung.com>\nCc: Dmitry Vyukov <dvyukov@google.com>\nCc: Konstantin Serebryany <kcc@google.com>\nCc: Dmitry Chernenkov <dmitryc@google.com>\nSigned-off-by: Andrey Konovalov <adech.fo@gmail.com>\nCc: Yuri Gribov <tetra2005@gmail.com>\nCc: Konstantin Khlebnikov <koct9i@gmail.com>\nCc: Sasha Levin <sasha.levin@oracle.com>\nCc: Christoph Lameter <cl@linux.com>\nCc: Joonsoo Kim <iamjoonsoo.kim@lge.com>\nCc: Dave Hansen <dave.hansen@intel.com>\nCc: Andi Kleen <andi@firstfloor.org>\nCc: Ingo Molnar <mingo@elte.hu>\nCc: Thomas Gleixner <tglx@linutronix.de>\nCc: \"H. Peter Anvin\" <hpa@zytor.com>\nCc: Christoph Lameter <cl@linux.com>\nCc: Pekka Enberg <penberg@kernel.org>\nCc: David Rientjes <rientjes@google.com>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>","distinct":true,"url":"https://api.github.com/repos/verygreen/linux/commits/b8c73fc2493d42517be95cf2c89659fc6c6f4d02"},{"sha":"912f5fbf1d3060f25d6994aed0265c55b974b2e9","author":{"email":"d7a2c23eccda99639e3fab64d868a1b1895748fa@samsung.com","name":"Andrey Ryabinin"},"message":"mm: slub: introduce virt_to_obj function\n\nvirt_to_obj takes kmem_cache address, address of slab page, address x\npointing somewhere inside slab object, and returns address of the\nbeginning of object.\n\nSigned-off-by: Andrey Ryabinin <a.ryabinin@samsung.com>\nAcked-by: Christoph Lameter <cl@linux.com>\nCc: Dmitry Vyukov <dvyukov@google.com>\nCc: Konstantin Serebryany <kcc@google.com>\nCc: Dmitry Chernenkov <dmitryc@google.com>\nSigned-off-by: Andrey Konovalov <adech.fo@gmail.com>\nCc: Yuri Gribov <tetra2005@gmail.com>\nCc: Konstantin Khlebnikov <koct9i@gmail.com>\nCc: Sasha Levin <sasha.levin@oracle.com>\nCc: Christoph Lameter <cl@linux.com>\nCc: Joonsoo Kim <iamjoonsoo.kim@lge.com>\nCc: Dave Hansen <dave.hansen@intel.com>\nCc: Andi Kleen <andi@firstfloor.org>\nCc: Ingo Molnar <mingo@elte.hu>\nCc: Thomas Gleixner <tglx@linutronix.de>\nCc: \"H. Peter Anvin\" <hpa@zytor.com>\nCc: Pekka Enberg <penberg@kernel.org>\nCc: David Rientjes <rientjes@google.com>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>","distinct":true,"url":"https://api.github.com/repos/verygreen/linux/commits/912f5fbf1d3060f25d6994aed0265c55b974b2e9"},{"sha":"75c66def8d815201aa0386ecc7c66a5c8dbca1ee","author":{"email":"d7a2c23eccda99639e3fab64d868a1b1895748fa@samsung.com","name":"Andrey Ryabinin"},"message":"mm: slub: share object_err function\n\nRemove static and add function declarations to linux/slub_def.h so it\ncould be used by kernel address sanitizer.\n\nSigned-off-by: Andrey Ryabinin <a.ryabinin@samsung.com>\nCc: Dmitry Vyukov <dvyukov@google.com>\nCc: Konstantin Serebryany <kcc@google.com>\nCc: Dmitry Chernenkov <dmitryc@google.com>\nSigned-off-by: Andrey Konovalov <adech.fo@gmail.com>\nCc: Yuri Gribov <tetra2005@gmail.com>\nCc: Konstantin Khlebnikov <koct9i@gmail.com>\nCc: Sasha Levin <sasha.levin@oracle.com>\nCc: Christoph Lameter <cl@linux.com>\nCc: Joonsoo Kim <iamjoonsoo.kim@lge.com>\nCc: Dave Hansen <dave.hansen@intel.com>\nCc: Andi Kleen <andi@firstfloor.org>\nCc: Ingo Molnar <mingo@elte.hu>\nCc: Thomas Gleixner <tglx@linutronix.de>\nCc: \"H. Peter Anvin\" <hpa@zytor.com>\nCc: Christoph Lameter <cl@linux.com>\nCc: Pekka Enberg <penberg@kernel.org>\nCc: David Rientjes <rientjes@google.com>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>","distinct":true,"url":"https://api.github.com/repos/verygreen/linux/commits/75c66def8d815201aa0386ecc7c66a5c8dbca1ee"},{"sha":"a79316c6178ca419e35feef47d47f50b4e0ee9f2","author":{"email":"d7a2c23eccda99639e3fab64d868a1b1895748fa@samsung.com","name":"Andrey Ryabinin"},"message":"mm: slub: introduce metadata_access_enable()/metadata_access_disable()\n\nIt's ok for slub to access memory that marked by kasan as inaccessible\n(object's metadata).  Kasan shouldn't print report in that case because\nthese accesses are valid.  Disabling instrumentation of slub.c code is not\nenough to achieve this because slub passes pointer to object's metadata\ninto external functions like memchr_inv().\n\nWe don't want to disable instrumentation for memchr_inv() because this is\nquite generic function, and we don't want to miss bugs.\n\nmetadata_access_enable/metadata_access_disable used to tell KASan where\naccesses to metadata starts/end, so we could temporarily disable KASan\nreports.\n\nSigned-off-by: Andrey Ryabinin <a.ryabinin@samsung.com>\nCc: Dmitry Vyukov <dvyukov@google.com>\nCc: Konstantin Serebryany <kcc@google.com>\nCc: Dmitry Chernenkov <dmitryc@google.com>\nSigned-off-by: Andrey Konovalov <adech.fo@gmail.com>\nCc: Yuri Gribov <tetra2005@gmail.com>\nCc: Konstantin Khlebnikov <koct9i@gmail.com>\nCc: Sasha Levin <sasha.levin@oracle.com>\nCc: Christoph Lameter <cl@linux.com>\nCc: Joonsoo Kim <iamjoonsoo.kim@lge.com>\nCc: Dave Hansen <dave.hansen@intel.com>\nCc: Andi Kleen <andi@firstfloor.org>\nCc: Ingo Molnar <mingo@elte.hu>\nCc: Thomas Gleixner <tglx@linutronix.de>\nCc: \"H. Peter Anvin\" <hpa@zytor.com>\nCc: Christoph Lameter <cl@linux.com>\nCc: Pekka Enberg <penberg@kernel.org>\nCc: David Rientjes <rientjes@google.com>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>","distinct":true,"url":"https://api.github.com/repos/verygreen/linux/commits/a79316c6178ca419e35feef47d47f50b4e0ee9f2"},{"sha":"0316bec22ec95ea2faca6406437b0b5950553b7c","author":{"email":"d7a2c23eccda99639e3fab64d868a1b1895748fa@samsung.com","name":"Andrey Ryabinin"},"message":"mm: slub: add kernel address sanitizer support for slub allocator\n\nWith this patch kasan will be able to catch bugs in memory allocated by\nslub.  Initially all objects in newly allocated slab page, marked as\nredzone.  Later, when allocation of slub object happens, requested by\ncaller number of bytes marked as accessible, and the rest of the object\n(including slub's metadata) marked as redzone (inaccessible).\n\nWe also mark object as accessible if ksize was called for this object.\nThere is some places in kernel where ksize function is called to inquire\nsize of really allocated area.  Such callers could validly access whole\nallocated memory, so it should be marked as accessible.\n\nCode in slub.c and slab_common.c files could validly access to object's\nmetadata, so instrumentation for this files are disabled.\n\nSigned-off-by: Andrey Ryabinin <a.ryabinin@samsung.com>\nSigned-off-by: Dmitry Chernenkov <dmitryc@google.com>\nCc: Dmitry Vyukov <dvyukov@google.com>\nCc: Konstantin Serebryany <kcc@google.com>\nSigned-off-by: Andrey Konovalov <adech.fo@gmail.com>\nCc: Yuri Gribov <tetra2005@gmail.com>\nCc: Konstantin Khlebnikov <koct9i@gmail.com>\nCc: Sasha Levin <sasha.levin@oracle.com>\nCc: Christoph Lameter <cl@linux.com>\nCc: Joonsoo Kim <iamjoonsoo.kim@lge.com>\nCc: Dave Hansen <dave.hansen@intel.com>\nCc: Andi Kleen <andi@firstfloor.org>\nCc: Ingo Molnar <mingo@elte.hu>\nCc: Thomas Gleixner <tglx@linutronix.de>\nCc: \"H. Peter Anvin\" <hpa@zytor.com>\nCc: Christoph Lameter <cl@linux.com>\nCc: Pekka Enberg <penberg@kernel.org>\nCc: David Rientjes <rientjes@google.com>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>","distinct":true,"url":"https://api.github.com/repos/verygreen/linux/commits/0316bec22ec95ea2faca6406437b0b5950553b7c"},{"sha":"df4c0e36f1b1782b0611a77c52cc240e5c4752dd","author":{"email":"d7a2c23eccda99639e3fab64d868a1b1895748fa@samsung.com","name":"Andrey Ryabinin"},"message":"fs: dcache: manually unpoison dname after allocation to shut up kasan's reports\n\nWe need to manually unpoison rounded up allocation size for dname to avoid\nkasan's reports in dentry_string_cmp().  When CONFIG_DCACHE_WORD_ACCESS=y\ndentry_string_cmp may access few bytes beyound requested in kmalloc()\nsize.\n\ndentry_string_cmp() relates on that fact that dentry allocated using\nkmalloc and kmalloc internally round up allocation size.  So this is not a\nbug, but this makes kasan to complain about such accesses.  To avoid such\nreports we mark rounded up allocation size in shadow as accessible.\n\nSigned-off-by: Andrey Ryabinin <a.ryabinin@samsung.com>\nReported-by: Dmitry Vyukov <dvyukov@google.com>\nCc: Konstantin Serebryany <kcc@google.com>\nCc: Dmitry Chernenkov <dmitryc@google.com>\nSigned-off-by: Andrey Konovalov <adech.fo@gmail.com>\nCc: Yuri Gribov <tetra2005@gmail.com>\nCc: Konstantin Khlebnikov <koct9i@gmail.com>\nCc: Sasha Levin <sasha.levin@oracle.com>\nCc: Christoph Lameter <cl@linux.com>\nCc: Joonsoo Kim <iamjoonsoo.kim@lge.com>\nCc: Dave Hansen <dave.hansen@intel.com>\nCc: Andi Kleen <andi@firstfloor.org>\nCc: Ingo Molnar <mingo@elte.hu>\nCc: Thomas Gleixner <tglx@linutronix.de>\nCc: \"H. Peter Anvin\" <hpa@zytor.com>\nCc: Christoph Lameter <cl@linux.com>\nCc: Pekka Enberg <penberg@kernel.org>\nCc: David Rientjes <rientjes@google.com>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>","distinct":true,"url":"https://api.github.com/repos/verygreen/linux/commits/df4c0e36f1b1782b0611a77c52cc240e5c4752dd"},{"sha":"e79ed2f13faab8fc9d4ad76d5f5a241724e45836","author":{"email":"d7a2c23eccda99639e3fab64d868a1b1895748fa@samsung.com","name":"Andrey Ryabinin"},"message":"kmemleak: disable kasan instrumentation for kmemleak\n\nkmalloc internally round up allocation size, and kmemleak uses rounded up\nsize as object's size.  This makes kasan to complain while kmemleak scans\nmemory or calculates of object's checksum.  The simplest solution here is\nto disable kasan.\n\nSigned-off-by: Andrey Ryabinin <a.ryabinin@samsung.com>\nAcked-by: Catalin Marinas <catalin.marinas@arm.com>\nCc: Dmitry Vyukov <dvyukov@google.com>\nCc: Konstantin Serebryany <kcc@google.com>\nCc: Dmitry Chernenkov <dmitryc@google.com>\nSigned-off-by: Andrey Konovalov <adech.fo@gmail.com>\nCc: Yuri Gribov <tetra2005@gmail.com>\nCc: Konstantin Khlebnikov <koct9i@gmail.com>\nCc: Sasha Levin <sasha.levin@oracle.com>\nCc: Christoph Lameter <cl@linux.com>\nCc: Joonsoo Kim <iamjoonsoo.kim@lge.com>\nCc: Dave Hansen <dave.hansen@intel.com>\nCc: Andi Kleen <andi@firstfloor.org>\nCc: Ingo Molnar <mingo@elte.hu>\nCc: Thomas Gleixner <tglx@linutronix.de>\nCc: \"H. Peter Anvin\" <hpa@zytor.com>\nCc: Christoph Lameter <cl@linux.com>\nCc: Pekka Enberg <penberg@kernel.org>\nCc: David Rientjes <rientjes@google.com>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>","distinct":true,"url":"https://api.github.com/repos/verygreen/linux/commits/e79ed2f13faab8fc9d4ad76d5f5a241724e45836"}]}