{"push_id":818198890,"size":4,"distinct_size":4,"ref":"refs/heads/master","head":"3f5e4a311619533bfc742f2d8e04510334dd0dd5","before":"a0eeb8dd34f21fddfe85b37832b5f3d02ee6e34b","commits":[{"sha":"03a0e8a7c5ea29b5c4e72dfd64900b47a8fb6f2d","author":{"email":"4e91513d4f418754031d3d36b3fc73980c40a38c@free-electrons.com","name":"Boris BREZILLON"},"message":"mtd: nand: sunxi: fix OOB handling in ->write_xxx() functions\n\nThe USER_DATA register cannot be accessed using byte accessors on A13\nSoCs, thus triggering a bug when using memcpy_toio on this register.\nDeclare an helper macros to convert an OOB buffer into a suitable\nUSER_DATA value and vice-versa.\n\nThis patch also fixes an error in the oob_required logic (some OOB data\nare not written even if the user required it) by removing the\noob_required condition, which is perfectly valid since the core already\nfill ->oob_poi with FFs when oob_required is false.\n\nSigned-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>\nCc: <stable@vger.kernel.org> # 3.19+\nFixes: 1fef62c1423b (\"mtd: nand: add sunxi NAND flash controller support\")\nSigned-off-by: Brian Norris <computersforpeace@gmail.com>","distinct":true,"url":"https://api.github.com/repos/torvalds/linux/commits/03a0e8a7c5ea29b5c4e72dfd64900b47a8fb6f2d"},{"sha":"8e375ccda31ccc73b087134e263c48d2114534f4","author":{"email":"4e91513d4f418754031d3d36b3fc73980c40a38c@free-electrons.com","name":"Boris BREZILLON"},"message":"mtd: nand: sunxi: fix sunxi_nand_chips_cleanup()\n\nThe sunxi_nand_chips_cleanup() function is missing a call to list_del()\nwhich generates a double free error.\n\nReported-by: Priit Laes <plaes@plaes.org>\nSigned-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>\nCc: <stable@vger.kernel.org> # 3.19+\nFixes: 1fef62c1423b (\"mtd: nand: add sunxi NAND flash controller support\")\nTested-by: Priit Laes <plaes@plaes.org>\nSigned-off-by: Brian Norris <computersforpeace@gmail.com>","distinct":true,"url":"https://api.github.com/repos/torvalds/linux/commits/8e375ccda31ccc73b087134e263c48d2114534f4"},{"sha":"e5a5d92d9dc36055b971d79e408e345f5ce88701","author":{"email":"96f164ad4d9b2b0dacf8ebee2bb1eeb3aa69adf1@eukrea.com","name":"Eric Benard"},"message":"mxc_nand: fix copy_spare\n\nit was broken by 35d5d20efad8a04c8c002c7f31241dff973977a6\n\"mtd: mxc_nand: cleanup copy_spare function\"\n\nelse we get the following error :\n[   22.709507] ubi0: attaching mtd3\n[   23.613470] ubi0: scanning is finished\n[   23.617278] ubi0: empty MTD device detected\n[   23.623219] Unhandled fault: imprecise external abort (0x1c06) at 0x9e62f0ec\n[   23.630291] pgd = 9df80000\n[   23.633005] [9e62f0ec] *pgd=8e60041e(bad)\n[   23.637064] Internal error: : 1c06 [#1] SMP ARM\n[   23.641605] Modules linked in:\n[   23.644687] CPU: 0 PID: 99 Comm: ubiattach Not tainted 4.2.0-dirty #22\n[   23.651222] Hardware name: Freescale i.MX53 (Device Tree Support)\n[   23.657322] task: 9e687300 ti: 9dcfc000 task.ti: 9dcfc000\n[   23.662744] PC is at memcpy16_toio+0x4c/0x74\n[   23.667026] LR is at mxc_nand_command+0x484/0x640\n[   23.671739] pc : [<803f9c08>]    lr : [<803faeb0>]    psr: 60000013\n[   23.671739] sp : 9dcfdb10  ip : 9e62f0ea  fp : 9dcfdb1c\n[   23.683222] r10: a09c1000  r9 : 0000001a  r8 : ffffffff\n[   23.688453] r7 : ffffffff  r6 : 9e674810  r5 : 9e674810  r4 : 000000b6\n[   23.694985] r3 : a09c16a4  r2 : a09c16a4  r1 : a09c16a4  r0 : 0000ffff\n[   23.701521] Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment user\n[   23.708662] Control: 10c5387d  Table: 8df80019  DAC: 00000015\n[   23.714413] Process ubiattach (pid: 99, stack limit = 0x9dcfc210)\n[   23.720514] Stack: (0x9dcfdb10 to 0x9dcfe000)\n[   23.724881] db00:                                     9dcfdb6c 9dcfdb20 803faeb0 803f9bc8\n[   23.733069] db20: 803f227c 803f9b74 ffffffff 9e674810 9e674810 9e674810 00000040 9e62f010\n[   23.741255] db40: 803faa2c 9e674b40 9e674810 803faa2c 00000400 803faa2c 00000000 9df42800\n[   23.749441] db60: 9dcfdb9c 9dcfdb70 803f2024 803faa38 9e4201cc 00000000 803f0a78 9e674b40\n[   23.757627] db80: 803f1f80 9e674810 00000400 00000400 9dcfdc14 9dcfdba0 803f3bd8 803f1f8c\n[   23.765814] dba0: 9e4201cc 00000000 00000580 00000000 00000000 800718c0 0000007f 00001000\n[   23.774000] dbc0: 9df42800 000000e0 00000000 00000000 9e4201cc 00000000 00000000 00000000\n[   23.782186] dbe0: 00000580 00000580 00000000 9e674810 9dcfdc20 9dcfdce8 9df42800 00580000\n[   23.790372] dc00: 00000000 00000400 9dcfdc6c 9dcfdc18 803f3f94 803f39a4 9dcfdc20 00000000\n[   23.798558] dc20: 00000000 00000400 00000000 00000000 00000000 00000000 9df42800 00000000\n[   23.806744] dc40: 9dcfdd0c 00580000 00000000 00000400 00000000 9df42800 9dee1000 9d802000\n[   23.814930] dc60: 9dcfdc94 9dcfdc70 803eb63c 803f3f38 00000400 9dcfdce8 9df42800 dead4ead\n[   23.823116] dc80: 803eb5f4 00000000 9dcfdcc4 9dcfdc98 803e82ac 803eb600 00000400 9dcfdce8\n[   23.831301] dca0: 9df42800 00000400 9dee0000 00000000 00000400 00000000 9dcfdd1c 9dcfdcc8\n[   23.839488] dcc0: 80406048 803e8230 00000400 9dcfdce8 9df42800 9dcfdc78 00000008 00000000\n[   23.847673] dce0: 00000000 00000000 00000000 00000004 00000000 9df42800 9dee0000 00000000\n[   23.855859] dd00: 9d802030 00000000 9dc8b214 9d802000 9dcfdd44 9dcfdd20 804066cc 80405f50\n[   23.864047] dd20: 00000400 9dc8b200 9d802030 9df42800 9dee0000 9dc8b200 9dcfdd84 9dcfdd48\n[   23.872233] dd40: 8040a544 804065ac 9e401c80 000080d0 9dcfdd84 00000001 800fc828 9df42400\n[   23.880418] dd60: 00000000 00000080 9dc8b200 9dc8b200 9dc8b200 9dee0000 9dcfdddc 9dcfdd88\n[   23.888605] dd80: 803fb560 8040a440 9dcfddc4 9dcfdd98 800f1428 9dee1000 a0acf000 00000000\n[   23.896792] dda0: 00000000 ffffffff 00000006 00000000 9dee0000 9dee0000 00005600 00000080\n[   23.904979] ddc0: 9dc8b200 a0acf000 9dc8b200 8112514c 9dcfde24 9dcfdde0 803fc08c 803fb4f0\n[   23.913165] dde0: 9e401c80 00000013 9dcfde04 9dcfddf8 8006bbf8 8006ba00 9dcfde24 00000000\n[   23.921351] de00: 9dee0000 00000065 9dee0000 00000001 9dc8b200 8112514c 9dcfde84 9dcfde28\n[   23.929538] de20: 8040afa0 803fb948 ffffffff 00000000 9dc8b214 9dcfde40 800f1428 800f11dc\n[   23.937724] de40: 9dc8b21c 9dc8b20c 9dc8b204 9dee1000 9dc8b214 8069bb60 fffff000 fffff000\n[   23.945911] de60: 9e7b5400 00000000 9dee0000 9dee1000 00001000 9e7b5400 9dcfdecc 9dcfde88\n[   23.954097] de80: 803ff1bc 8040a630 9dcfdea4 9dcfde98 00000800 00000800 9dcfdecc 9dcfdea8\n[   23.962284] dea0: 803e8f6c 00000000 7e87ab70 9e7b5400 80113e30 00000003 9dcfc000 00000000\n[   23.970470] dec0: 9dcfdf04 9dcfded0 804008cc 803feb98 ffffffff 00000003 00000000 00000000\n[   23.978656] dee0: 00000000 00000000 9e7cb000 9dc193e0 7e87ab70 9dd92140 9dcfdf7c 9dcfdf08\n[   23.986842] df00: 80113b5c 8040080c 800fbed8 8006bbf0 9e7cb000 00000003 9e7cb000 9dd92140\n[   23.995029] df20: 9dc193e0 9dd92148 9dcfdf4c 9dcfdf38 8011022c 800fbe78 8000f9cc 9e687300\n[   24.003216] df40: 9dcfdf6c 9dcfdf50 8011f798 8007ffe8 7e87ab70 9dd92140 00000003 9dd92140\n[   24.011402] df60: 40186f40 7e87ab70 9dcfc000 00000000 9dcfdfa4 9dcfdf80 80113e30 8011373c\n[   24.019588] df80: 7e87ab70 7e87ab70 7e87aea9 00000036 8000fb84 9dcfc000 00000000 9dcfdfa8\n[   24.027775] dfa0: 8000f9a0 80113e00 7e87ab70 7e87ab70 00000003 40186f40 7e87ab70 00000000\n[   24.035962] dfc0: 7e87ab70 7e87ab70 7e87aea9 00000036 00000000 00000000 76fd1f70 00000000\n[   24.044148] dfe0: 76f80f8c 7e87ab28 00009810 76f80fc4 60000010 00000003 00000000 00000000\n[   24.052328] Backtrace:\n[   24.054806] [<803f9bbc>] (memcpy16_toio) from [<803faeb0>] (mxc_nand_command+0x484/0x640)\n[   24.062996] [<803faa2c>] (mxc_nand_command) from [<803f2024>] (nand_write_page+0xa4/0x154)\n[   24.071264]  r10:9df42800 r9:00000000 r8:803faa2c r7:00000400 r6:803faa2c r5:9e674810\n[   24.079180]  r4:9e674b40\n[   24.081738] [<803f1f80>] (nand_write_page) from [<803f3bd8>] (nand_do_write_ops+0x240/0x444)\n[   24.090180]  r8:00000400 r7:00000400 r6:9e674810 r5:803f1f80 r4:9e674b40\n[   24.096970] [<803f3998>] (nand_do_write_ops) from [<803f3f94>] (nand_write+0x68/0x88)\n[   24.104804]  r10:00000400 r9:00000000 r8:00580000 r7:9df42800 r6:9dcfdce8 r5:9dcfdc20\n[   24.112719]  r4:9e674810\n[   24.115287] [<803f3f2c>] (nand_write) from [<803eb63c>] (part_write+0x48/0x50)\n[   24.122514]  r10:9d802000 r9:9dee1000 r8:9df42800 r7:00000000 r6:00000400 r5:00000000\n[   24.130429]  r4:00580000\n[   24.132989] [<803eb5f4>] (part_write) from [<803e82ac>] (mtd_write+0x88/0xa0)\n[   24.140129]  r5:00000000 r4:803eb5f4\n[   24.143748] [<803e8224>] (mtd_write) from [<80406048>] (ubi_io_write+0x104/0x65c)\n[   24.151235]  r7:00000000 r6:00000400 r5:00000000 r4:9dee0000\n[   24.156968] [<80405f44>] (ubi_io_write) from [<804066cc>] (ubi_io_write_ec_hdr+0x12c/0x190)\n[   24.165323]  r10:9d802000 r9:9dc8b214 r8:00000000 r7:9d802030 r6:00000000 r5:9dee0000\n[   24.173239]  r4:9df42800\n[   24.175798] [<804065a0>] (ubi_io_write_ec_hdr) from [<8040a544>] (ubi_early_get_peb+0x110/0x1f0)\n[   24.184587]  r6:9dc8b200 r5:9dee0000 r4:9df42800\n[   24.189262] [<8040a434>] (ubi_early_get_peb) from [<803fb560>] (create_vtbl+0x7c/0x238)\n[   24.197271]  r10:9dee0000 r9:9dc8b200 r8:9dc8b200 r7:9dc8b200 r6:00000080 r5:00000000\n[   24.205187]  r4:9df42400\n[   24.207746] [<803fb4e4>] (create_vtbl) from [<803fc08c>] (ubi_read_volume_table+0x750/0xa64)\n[   24.216187]  r10:8112514c r9:9dc8b200 r8:a0acf000 r7:9dc8b200 r6:00000080 r5:00005600\n[   24.224103]  r4:9dee0000\n[   24.226662] [<803fb93c>] (ubi_read_volume_table) from [<8040afa0>] (ubi_attach+0x97c/0x152c)\n[   24.235103]  r10:8112514c r9:9dc8b200 r8:00000001 r7:9dee0000 r6:00000065 r5:9dee0000\n[   24.243018]  r4:00000000\n[   24.245579] [<8040a624>] (ubi_attach) from [<803ff1bc>] (ubi_attach_mtd_dev+0x630/0xbac)\n[   24.253673]  r10:9e7b5400 r9:00001000 r8:9dee1000 r7:9dee0000 r6:00000000 r5:9e7b5400\n[   24.261588]  r4:fffff000\n[   24.264148] [<803feb8c>] (ubi_attach_mtd_dev) from [<804008cc>] (ctrl_cdev_ioctl+0xcc/0x1cc)\n[   24.272589]  r10:00000000 r9:9dcfc000 r8:00000003 r7:80113e30 r6:9e7b5400 r5:7e87ab70\n[   24.280505]  r4:00000000\n[   24.283070] [<80400800>] (ctrl_cdev_ioctl) from [<80113b5c>] (do_vfs_ioctl+0x42c/0x6c4)\n[   24.291077]  r6:9dd92140 r5:7e87ab70 r4:9dc193e0\n[   24.295753] [<80113730>] (do_vfs_ioctl) from [<80113e30>] (SyS_ioctl+0x3c/0x64)\n[   24.303066]  r10:00000000 r9:9dcfc000 r8:7e87ab70 r7:40186f40 r6:9dd92140 r5:00000003\n[   24.310981]  r4:9dd92140\n[   24.313549] [<80113df4>] (SyS_ioctl) from [<8000f9a0>] (ret_fast_syscall+0x0/0x54)\n[   24.321123]  r9:9dcfc000 r8:8000fb84 r7:00000036 r6:7e87aea9 r5:7e87ab70 r4:7e87ab70\n[   24.328957] Code: e1c300b0 e1510002 e1a03001 1afffff9 (e89da800)\n[   24.335066] ---[ end trace ab1cb17887f21bbb ]---\n[   24.340249] Unhandled fault: imprecise external abort (0x1c06) at 0x7ee8bcf0\n[   24.347310] pgd = 9df3c000\n[   24.350023] [7ee8bcf0] *pgd=8dcbf831, *pte=8eb3334f, *ppte=8eb3383f\nSegmentation fault\n\nFixes: 35d5d20efad8 (\"mtd: mxc_nand: cleanup copy_spare function\")\nSigned-off-by: Eric Bénard <eric@eukrea.com>\nReviewed-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>\nReviewed-by: Baruch Siach <baruch@tkos.co.il>\nCc: <stable@vger.kernel.org>\nSigned-off-by: Brian Norris <computersforpeace@gmail.com>","distinct":true,"url":"https://api.github.com/repos/torvalds/linux/commits/e5a5d92d9dc36055b971d79e408e345f5ce88701"},{"sha":"3f5e4a311619533bfc742f2d8e04510334dd0dd5","author":{"email":"69652caca27c8b940640ad396ab71f93cacec34f@linux-foundation.org","name":"Linus Torvalds"},"message":"Merge tag 'for-linus-20151006' of git://git.infradead.org/linux-mtd\n\nPull MTD fixes from Brian Norris:\n \"A few MTD fixes:\n\n   - mxc_nand: a \"refactoring only\" change in 4.3-rc1 had some bad\n     pointer (array) arithmetic.  Fix that\n\n   - sunxi_nand:\n\n   - Fix an old list manipulation / memory management bug in the device\n     release() code path\n\n   - Correct a few mistakes in OOB write support\"\n\n* tag 'for-linus-20151006' of git://git.infradead.org/linux-mtd:\n  mxc_nand: fix copy_spare\n  mtd: nand: sunxi: fix sunxi_nand_chips_cleanup()\n  mtd: nand: sunxi: fix OOB handling in ->write_xxx() functions","distinct":true,"url":"https://api.github.com/repos/torvalds/linux/commits/3f5e4a311619533bfc742f2d8e04510334dd0dd5"}]}