{"push_id":781905256,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"448c18679f06c798fab721330253ff009541943d","before":"f7761ba7ccdd31331531828677487de8a36896b0","commits":[{"sha":"448c18679f06c798fab721330253ff009541943d","author":{"email":"ca2e34e1958955302f317311f66bb8462b7e1dce@gmail.com","name":"alexax66"},"message":"sysrq: Emergency Remount R/O in reverse order\n\nThis change fixes a problem where reboot on Android panics the kernel\nalmost every time when file systems are mounted over loop devices.\n\nAndroid reboot command does:\n- sync\n- echo u > /proc/sysrq-trigger\n- syscall_reboot\n\nThe problem is with sysrq emergency remount R/O trying to remount-ro\nin wrong order.\nsince /data is re-mounted ro before loop devices, loop device\nremount-ro fails to flush the journal and panics the kernel:\n\n  EXT4-fs (loop0): Remounting filesystem read-only\n  EXT4-fs (loop0): previous I/O error to superblock detected\n  loop: Write error at byte offset 0, length 4096.\n  Buffer I/O error on device loop0, logical block 0\n  lost page write due to I/O error on loop0\n  Kernel panic - not syncing: EXT4-fs panic from previous error\n\nThe fix is quite simple. In do_emergency_remount(), use\nlist_for_each_entry_reverse() on sb list instead of list_for_each_entry().\nIt makes a lot of sense to umount the file systems in reverse order in\nwhich they were added to sb list.\n\nChange-Id: I4370e39b5873bd16ade5d5f9ddb2704beb02a2bb\nSigned-off-by: Amir Goldstein <amir@cellrox.com>\nAcked-by: Oren Laadan <orenl@cellrox.com>\n\nOriginal commit: https://github.com/CyanogenMod/android_kernel_samsung_msm8930-common/commit/8c45994fed4ae31a4df565ff9cac62ebee52eddb","distinct":true,"url":"https://api.github.com/repos/alexax66/CM12.1_kernel_serranodsxx/commits/448c18679f06c798fab721330253ff009541943d"}]}