{"push_id":1059395084,"size":9,"distinct_size":9,"ref":"refs/heads/cm-13.0","head":"e244e87d87dee8c4cf9dc5cd55c68e19c4949435","before":"97302bd8bc17981dc2498a4ebc5c63f25276d7be","commits":[{"sha":"f40ef4a3ffaaf059b5a04418aca12b51b3215ecf","author":{"email":"206af32863b9fd2fc412cf38757e7321a0f2bd37@oracle.com","name":"Darrick J. Wong"},"message":"jbd2: free bh when descriptor block checksum fails\n\ncommit 064d83892e9ba547f7d4eae22cbca066d95210ce upstream.\n\nFree the buffer head if the journal descriptor block fails checksum\nverification.\n\nThis is the jbd2 port of the e2fsprogs patch \"e2fsck: free bh on csum\nverify error in do_one_pass\".\n\nSigned-off-by: Darrick J. Wong <darrick.wong@oracle.com>\nSigned-off-by: Theodore Ts'o <tytso@mit.edu>\nReviewed-by: Eric Sandeen <sandeen@redhat.com>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>\nSigned-off-by: Pranav Vashi <neobuddy89@gmail.com>","distinct":true,"url":"https://api.github.com/repos/The-DarkBeast/DarkBeast_Kernel/commits/f40ef4a3ffaaf059b5a04418aca12b51b3215ecf"},{"sha":"8a7cb79aba50a2fe61f07b1568f356a852385330","author":{"email":"596727c8a0ea4db3ba2ceceedccbacd3d7b371b8@suse.cz","name":"Jan Kara"},"message":"quota: Properly return errors from dquot_writeback_dquots()\n\ncommit 474d2605d119479e5aa050f738632e63589d4bb5 upstream.\n\nDue to a switched left and right side of an assignment,\ndquot_writeback_dquots() never returned error. This could result in\nerrors during quota writeback to not be reported to userspace properly.\nFix it.\n\nCoverity-id: 1226884\nSigned-off-by: Jan Kara <jack@suse.cz>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>\nSigned-off-by: Pranav Vashi <neobuddy89@gmail.com>","distinct":true,"url":"https://api.github.com/repos/The-DarkBeast/DarkBeast_Kernel/commits/8a7cb79aba50a2fe61f07b1568f356a852385330"},{"sha":"67988706d1e24cd783228bc6a2268b04931bb0d6","author":{"email":"596727c8a0ea4db3ba2ceceedccbacd3d7b371b8@suse.cz","name":"Jan Kara"},"message":"quota: provide interface for readding allocated space into reserved space\n\ncommit 1c8924eb106c1ac755d5d35ce9b3ff42e89e2511 upstream.\n\next4 needs to convert allocated (metadata) blocks back into blocks\nreserved for delayed allocation. Add functions into quota code for\nsupporting such operation.\n\nSigned-off-by: Jan Kara <jack@suse.cz>\nSigned-off-by: \"Theodore Ts'o\" <tytso@mit.edu>\nCc: Josh Hunt <johunt@akamai.com>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>\nSigned-off-by: Pranav Vashi <neobuddy89@gmail.com>","distinct":true,"url":"https://api.github.com/repos/The-DarkBeast/DarkBeast_Kernel/commits/67988706d1e24cd783228bc6a2268b04931bb0d6"},{"sha":"31fa02fe708e872ae5f2bbeb86b46af4a3a925f9","author":{"email":"3d00b54ad717112934d0b63b7ac2975b44022a61@I-love.SAKURA.ne.jp","name":"Tetsuo Handa"},"message":"fs: Fix theoretical division by 0 in super_cache_scan().\n\ncommit 475d0db742e3755c6b267f48577ff7cbb7dfda0d upstream.\n\ntotal_objects could be 0 and is used as a denom.\n\nWhile total_objects is a \"long\", total_objects == 0 unlikely happens for\n3.12 and later kernels because 32-bit architectures would not be able to\nhold (1 << 32) objects. However, total_objects == 0 may happen for kernels\nbetween 3.1 and 3.11 because total_objects in prune_super() was an \"int\"\nand (e.g.) x86_64 architecture might be able to hold (1 << 32) objects.\n\nSigned-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>\nReviewed-by: Christoph Hellwig <hch@lst.de>\nSigned-off-by: Al Viro <viro@zeniv.linux.org.uk>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>\nSigned-off-by: Pranav Vashi <neobuddy89@gmail.com>","distinct":true,"url":"https://api.github.com/repos/The-DarkBeast/DarkBeast_Kernel/commits/31fa02fe708e872ae5f2bbeb86b46af4a3a925f9"},{"sha":"71ee21094cf53508e5eb5b25ee79e6dbeea01088","author":{"email":"90630119938f61c1e8dca1e38e83054970a7029b@cam.ac.uk","name":"Anton Altaparmakov"},"message":"Fix nasty 32-bit overflow bug in buffer i/o code.\n\ncommit f2d5a94436cc7cc0221b9a81bba2276a25187dd3 upstream.\n\nOn 32-bit architectures, the legacy buffer_head functions are not always\nhandling the sector number with the proper 64-bit types, and will thus\nfail on 4TB+ disks.\n\nAny code that uses __getblk() (and thus bread(), breadahead(),\nsb_bread(), sb_breadahead(), sb_getblk()), and calls it using a 64-bit\nblock on a 32-bit arch (where \"long\" is 32-bit) causes an inifinite loop\nin __getblk_slow() with an infinite stream of errors logged to dmesg\nlike this:\n\n  __find_get_block_slow() failed. block=6740375944, b_blocknr=2445408648\n  b_state=0x00000020, b_size=512\n  device sda1 blocksize: 512\n\nNote how in hex block is 0x191C1F988 and b_blocknr is 0x91C1F988 i.e. the\ntop 32-bits are missing (in this case the 0x1 at the top).\n\nThis is because grow_dev_page() is broken and has a 32-bit overflow due\nto shifting the page index value (a pgoff_t - which is just 32 bits on\n32-bit architectures) left-shifted as the block number.  But the top\nbits to get lost as the pgoff_t is not type cast to sector_t / 64-bit\nbefore the shift.\n\nThis patch fixes this issue by type casting \"index\" to sector_t before\ndoing the left shift.\n\nNote this is not a theoretical bug but has been seen in the field on a\n4TiB hard drive with logical sector size 512 bytes.\n\nThis patch has been verified to fix the infinite loop problem on 3.17-rc5\nkernel using a 4TB disk image mounted using \"-o loop\".  Without this patch\ndoing a \"find /nt\" where /nt is an NTFS volume causes the inifinite loop\n100% reproducibly whilst with the patch it works fine as expected.\n\nSigned-off-by: Anton Altaparmakov <aia21@cantab.net>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>\nSigned-off-by: Pranav Vashi <neobuddy89@gmail.com>","distinct":true,"url":"https://api.github.com/repos/The-DarkBeast/DarkBeast_Kernel/commits/71ee21094cf53508e5eb5b25ee79e6dbeea01088"},{"sha":"2350259bb50427574dc94cb3a73d9b4df1f6cb9f","author":{"email":"70becbe43127a4bc17dee0650a3bb96353930cd0@codeaurora.org","name":"Venkat Gopalakrishnan"},"message":"block/fs: make tracking dirty task debug only\n\nAdding a new element \"tsk_dirty\" to struct page increases the size\nof mem_map/vmemmap, restrict this to a debug only functionality to\nsave few MB of memory.\n\nConsidering a system with 1G of RAM, there will be nearly 262144\npages and thus that many number of page structures in mem_map/vmemmap.\nWith pointer size of 8 bytes on a 64 bit system, adding this\npointer to \"struct page\" means an increase of \"2MB\" for mem_map.\n\nCRs-Fixed: 738692\nChange-Id: Idf3217dcbe17cf1ab4d462d2aa8d39da1ffd8b13\nSigned-off-by: Venkat Gopalakrishnan <venkatg@codeaurora.org>\nSigned-off-by: Pranav Vashi <neobuddy89@gmail.com>","distinct":true,"url":"https://api.github.com/repos/The-DarkBeast/DarkBeast_Kernel/commits/2350259bb50427574dc94cb3a73d9b4df1f6cb9f"},{"sha":"7d37bb861fa0dfccd7c7600c0d99c0d1049d622c","author":{"email":"52f8f9962b7f38d8269c63c0859d68147c8d10f0@redhat.com","name":"Mikulas Patocka"},"message":"fs: make cont_expand_zero interruptible\n\ncommit c2ca0fcd202863b14bd041a7fece2e789926c225 upstream.\n\nThis patch makes it possible to kill a process looping in\ncont_expand_zero. A process may spend a lot of time in this function, so\nit is desirable to be able to kill it.\n\nIt happened to me that I wanted to copy a piece data from the disk to a\nfile. By mistake, I used the \"seek\" parameter to dd instead of \"skip\". Due\nto the \"seek\" parameter, dd attempted to extend the file and became stuck\ndoing so - the only possibility was to reset the machine or wait many\nhours until the filesystem runs out of space and cont_expand_zero fails.\nWe need this patch to be able to terminate the process.\n\nSigned-off-by: Mikulas Patocka <mpatocka@redhat.com>\nSigned-off-by: Al Viro <viro@zeniv.linux.org.uk>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>\nSigned-off-by: Pranav Vashi <neobuddy89@gmail.com>","distinct":true,"url":"https://api.github.com/repos/The-DarkBeast/DarkBeast_Kernel/commits/7d37bb861fa0dfccd7c7600c0d99c0d1049d622c"},{"sha":"07bbb0c01328df7fb94f579916729153b1347f21","author":{"email":"596727c8a0ea4db3ba2ceceedccbacd3d7b371b8@suse.cz","name":"Jan Kara"},"message":"vfs: fix data corruption when blocksize < pagesize for mmaped data\n\ncommit 90a8020278c1598fafd071736a0846b38510309c upstream.\n\n->page_mkwrite() is used by filesystems to allocate blocks under a page\nwhich is becoming writeably mmapped in some process' address space. This\nallows a filesystem to return a page fault if there is not enough space\navailable, user exceeds quota or similar problem happens, rather than\nsilently discarding data later when writepage is called.\n\nHowever VFS fails to call ->page_mkwrite() in all the cases where\nfilesystems need it when blocksize < pagesize. For example when\nblocksize = 1024, pagesize = 4096 the following is problematic:\n  ftruncate(fd, 0);\n  pwrite(fd, buf, 1024, 0);\n  map = mmap(NULL, 1024, PROT_WRITE, MAP_SHARED, fd, 0);\n  map[0] = 'a';       ----> page_mkwrite() for index 0 is called\n  ftruncate(fd, 10000); /* or even pwrite(fd, buf, 1, 10000) */\n  mremap(map, 1024, 10000, 0);\n  map[4095] = 'a';    ----> no page_mkwrite() called\n\nAt the moment ->page_mkwrite() is called, filesystem can allocate only\none block for the page because i_size == 1024. Otherwise it would create\nblocks beyond i_size which is generally undesirable. But later at\n->writepage() time, we also need to store data at offset 4095 but we\ndon't have block allocated for it.\n\nThis patch introduces a helper function filesystems can use to have\n->page_mkwrite() called at all the necessary moments.\n\nSigned-off-by: Jan Kara <jack@suse.cz>\nSigned-off-by: Theodore Ts'o <tytso@mit.edu>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>\nSigned-off-by: Pranav Vashi <neobuddy89@gmail.com>","distinct":true,"url":"https://api.github.com/repos/The-DarkBeast/DarkBeast_Kernel/commits/07bbb0c01328df7fb94f579916729153b1347f21"},{"sha":"e244e87d87dee8c4cf9dc5cd55c68e19c4949435","author":{"email":"de609eb4d5d70b1d38ec6642adbfc33a2781f63c@zeniv.linux.org.uk","name":"Al Viro"},"message":"dcache.c: get rid of pointless macros\n\ncommit 482db9066199813d6b999b65a3171afdbec040b6 upstream.\n\nD_HASH{MASK,BITS} are used once each, both in the same function (d_hash()).\nAt this point they are actively misguiding - they imply that values are\ncompiler constants, which is no longer true.\n\nSigned-off-by: Al Viro <viro@zeniv.linux.org.uk>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>\nSigned-off-by: Pranav Vashi <neobuddy89@gmail.com>","distinct":true,"url":"https://api.github.com/repos/The-DarkBeast/DarkBeast_Kernel/commits/e244e87d87dee8c4cf9dc5cd55c68e19c4949435"}]}