{"push_id":576270030,"size":13,"distinct_size":13,"ref":"refs/heads/lollipop","head":"313679d53ddf4e90cf1b025bd2be13450ffe358b","before":"79a73f5e7dcf8316568c17a1e5c4680bde64edf7","commits":[{"sha":"ad643237933fca7c9e284f8a6f4de46ca78ab6bc","author":{"email":"927570c33013ae711b16b2f69d88304bb3fcc969@taobao.com","name":"Zheng Liu"},"message":"ext4: handle symlink properly with inline_data\n\nThis commit tries to fix a bug that we can't read symlink properly with\ninline data feature when the length of symlink is greater than 60 bytes\nbut less than extra space.\n\nThe key issue is in ext4_inode_is_fast_symlink() that it doesn't check\nwhether or not an inode has inline data.  When the user creates a new\nsymlink, an inode will be allocated with MAY_INLINE_DATA flag.  Then\nsymlink will be stored in ->i_block and extended attribute space.  In\nthe mean time, this inode is with inline data flag.  After remounting\nit, ext4_inode_is_fast_symlink() function thinks that this inode is a\nfast symlink so that the data in ->i_block is copied to the user, and\nthe data in extra space is trimmed.  In fact this inode should be as a\nnormal symlink.\n\nThe following script can hit this bug.\n\n  #!/bin/bash\n\n  cd ${MNT}\n  filename=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\n  rm -rf test\n  mkdir test\n  cd test\n  echo \"hello\" >$filename\n  ln -s $filename symlinkfile\n  cd\n  sudo umount /mnt/sda1\n  sudo mount -t ext4 /dev/sda1 /mnt/sda1\n  readlink /mnt/sda1/test/symlinkfile\n\nAfter applying this patch, it will break the assumption in e2fsck\nbecause the original implementation doesn't want to support symlink\nwith inline data.\n\nReported-by: \"Darrick J. Wong\" <darrick.wong@oracle.com>\nReported-by: Ian Nartowicz <claws@nartowicz.co.uk>\nCc: Ian Nartowicz <claws@nartowicz.co.uk>\nCc: Tao Ma <tm@tao.ma>\nCc: \"Darrick J. Wong\" <darrick.wong@oracle.com>\nCc: Andreas Dilger <adilger.kernel@dilger.ca>\nSigned-off-by: Zheng Liu <wenqing.lz@taobao.com>\nSigned-off-by: Theodore Ts'o <tytso@mit.edu>","distinct":true,"url":"https://api.github.com/repos/Euphoria-OS/kernel_motorola_shamu/commits/ad643237933fca7c9e284f8a6f4de46ca78ab6bc"},{"sha":"0470a25e4b92c71a0cdbf21a51a74363d28bfc0e","author":{"email":"eecfa5af1016ca9db755569d9919e212ab6a1c94@openvz.org","name":"Dmitry Monakhov"},"message":"ext4: get rid of code duplication\n\nReviewed-by: Jan Kara <jack@suse.cz>\nSigned-off-by: Dmitry Monakhov <dmonakhov@openvz.org>\nSigned-off-by: Theodore Ts'o <tytso@mit.edu>","distinct":true,"url":"https://api.github.com/repos/Euphoria-OS/kernel_motorola_shamu/commits/0470a25e4b92c71a0cdbf21a51a74363d28bfc0e"},{"sha":"7569af5333dbb48efd0fa4be4602188284d95307","author":{"email":"3e1f6bc3f57a77fb276e7ac9018adc534c863417@samsung.com","name":"Ashish Sangwan"},"message":"ext4: optimize starting extent in ext4_ext_rm_leaf()\n\nBoth hole punch and truncate use ext4_ext_rm_leaf() for removing\nblocks.  Currently we choose the last extent as the starting\npoint for removing blocks:\n\n\tex = EXT_LAST_EXTENT(eh);\n\nThis is OK for truncate but for hole punch we can optimize the extent\nselection as the path is already initialized.  We could use this\ninformation to select proper starting extent.  The code change in this\npatch will not affect truncate as for truncate path[depth].p_ext will\nalways be NULL.\n\nSigned-off-by: Ashish Sangwan <a.sangwan@samsung.com>\nSigned-off-by: Namjae Jeon <namjae.jeon@samsung.com>\nSigned-off-by: \"Theodore Ts'o\" <tytso@mit.edu>","distinct":true,"url":"https://api.github.com/repos/Euphoria-OS/kernel_motorola_shamu/commits/7569af5333dbb48efd0fa4be4602188284d95307"},{"sha":"fd9edc0e073e74bd895f57c5c8b00acb0e9d2604","author":{"email":"4ed386e0495d3e109932df055831d9ec2f824927@mit.edu","name":"Theodore Ts'o"},"message":"ext4: optimize test_root()\n\nThe test_root() function could potentially loop forever due to\noverflow issues.  So rewrite test_root() to avoid this issue; as a\nbonus, it is 38% faster when benchmarked via a test loop:\n\nint main(int argc, char **argv)\n{\n\tint  i;\n\n\tfor (i = 0; i < 1 << 24; i++) {\n\t\tif (test_root(i, 7))\n\t\t\tprintf(\"%d\\n\", i);\n\t}\n}\n\nSigned-off-by: \"Theodore Ts'o\" <tytso@mit.edu>","distinct":true,"url":"https://api.github.com/repos/Euphoria-OS/kernel_motorola_shamu/commits/fd9edc0e073e74bd895f57c5c8b00acb0e9d2604"},{"sha":"8e1784323abdf9db22d8c2c0fe058c2217f531df","author":{"email":"742cc7da48fa788d384ec77ccfb9a4657661404c@gmail.com","name":"imoseyon"},"message":"bcmdhd: reduce rx wakelock timeout via sysfs node\n\n/sys/module/bcmdhd/parameters/wl_divide\n\nConflicts:\n\tdrivers/net/wireless/bcmdhd/dhd_linux.c","distinct":true,"url":"https://api.github.com/repos/Euphoria-OS/kernel_motorola_shamu/commits/8e1784323abdf9db22d8c2c0fe058c2217f531df"},{"sha":"cb49f3090b9c6f92bad865cb02348636ee197351","author":{"email":"742cc7da48fa788d384ec77ccfb9a4657661404c@gmail.com","name":"imoseyon"},"message":"hsic: introduce user configurable timeout for msm_hsic_host wakelock","distinct":true,"url":"https://api.github.com/repos/Euphoria-OS/kernel_motorola_shamu/commits/cb49f3090b9c6f92bad865cb02348636ee197351"},{"sha":"ed2d59d03ae3e22f87488d1c411bd0c60c256fd8","author":{"email":"742cc7da48fa788d384ec77ccfb9a4657661404c@gmail.com","name":"imoseyon"},"message":"hsic: allow wl_divide = 0 to completely disable hsic wake source","distinct":true,"url":"https://api.github.com/repos/Euphoria-OS/kernel_motorola_shamu/commits/ed2d59d03ae3e22f87488d1c411bd0c60c256fd8"},{"sha":"1d3badc8ad3cda27ed96e5451d3752475551775e","author":{"email":"742cc7da48fa788d384ec77ccfb9a4657661404c@gmail.com","name":"imoseyon"},"message":"hsic: avoid keeping the ws activated after sysfs disable","distinct":true,"url":"https://api.github.com/repos/Euphoria-OS/kernel_motorola_shamu/commits/1d3badc8ad3cda27ed96e5451d3752475551775e"},{"sha":"a69542cb67b6692da388ec4d8debb0d8d0840a25","author":{"email":"742cc7da48fa788d384ec77ccfb9a4657661404c@gmail.com","name":"imoseyon"},"message":"ramdisk: fix up selinux permissions for sensors.qcom and more\n\n* include supolicy in ramdisk\n* move live policy changes earlier during init","distinct":true,"url":"https://api.github.com/repos/Euphoria-OS/kernel_motorola_shamu/commits/a69542cb67b6692da388ec4d8debb0d8d0840a25"},{"sha":"b919f59e83c4b16d0e4b502e0898feeba1f23949","author":{"email":"742cc7da48fa788d384ec77ccfb9a4657661404c@gmail.com","name":"imoseyon"},"message":"ramdisk: add init support and lkconfig option to set selinux mode","distinct":true,"url":"https://api.github.com/repos/Euphoria-OS/kernel_motorola_shamu/commits/b919f59e83c4b16d0e4b502e0898feeba1f23949"},{"sha":"7436812c12676fe3f462dece277fa563efa0717e","author":{"email":"742cc7da48fa788d384ec77ccfb9a4657661404c@gmail.com","name":"imoseyon"},"message":"ramdisk: lkconfig: add controls for wlan_rx and msm_hsic wakelocks","distinct":true,"url":"https://api.github.com/repos/Euphoria-OS/kernel_motorola_shamu/commits/7436812c12676fe3f462dece277fa563efa0717e"},{"sha":"4474b66ff323844de2a4afc33386773f96a7e7f1","author":{"email":"742cc7da48fa788d384ec77ccfb9a4657661404c@gmail.com","name":"imoseyon"},"message":"ramdisk: lkconfig: add cpu frequency control options","distinct":true,"url":"https://api.github.com/repos/Euphoria-OS/kernel_motorola_shamu/commits/4474b66ff323844de2a4afc33386773f96a7e7f1"},{"sha":"313679d53ddf4e90cf1b025bd2be13450ffe358b","author":{"email":"742cc7da48fa788d384ec77ccfb9a4657661404c@gmail.com","name":"imoseyon"},"message":"leanKernel v1.14","distinct":true,"url":"https://api.github.com/repos/Euphoria-OS/kernel_motorola_shamu/commits/313679d53ddf4e90cf1b025bd2be13450ffe358b"}]}