1. 21 5月, 2015 4 次提交
  2. 19 5月, 2015 2 次提交
  3. 16 5月, 2015 6 次提交
  4. 15 5月, 2015 1 次提交
  5. 13 5月, 2015 1 次提交
    • B
      mtd: fix: avoid race condition when accessing mtd->usecount · 073db4a5
      Brian Norris 提交于
      On A MIPS 32-cores machine a BUG_ON was triggered because some acesses to
      mtd->usecount were done without taking mtd_table_mutex.
      kernel: Call Trace:
      kernel: [<ffffffff80401818>] __put_mtd_device+0x20/0x50
      kernel: [<ffffffff804086f4>] blktrans_release+0x8c/0xd8
      kernel: [<ffffffff802577e0>] __blkdev_put+0x1a8/0x200
      kernel: [<ffffffff802579a4>] blkdev_close+0x1c/0x30
      kernel: [<ffffffff8022006c>] __fput+0xac/0x250
      kernel: [<ffffffff80171208>] task_work_run+0xd8/0x120
      kernel: [<ffffffff8012c23c>] work_notifysig+0x10/0x18
      kernel:
      kernel:
              Code: 2442ffff  ac8202d8  000217fe <00020336> dc820128  10400003
                     00000000  0040f809  00000000
      kernel: ---[ end trace 080fbb4579b47a73 ]---
      
      Fixed by taking the mutex in blktrans_open and blktrans_release.
      
      Note that this locking is already suggested in
      include/linux/mtd/blktrans.h:
      
      struct mtd_blktrans_ops {
      ...
      	/* Called with mtd_table_mutex held; no race with add/remove */
      	int (*open)(struct mtd_blktrans_dev *dev);
      	void (*release)(struct mtd_blktrans_dev *dev);
      ...
      };
      
      But we weren't following it.
      
      Originally reported by (and patched by) Zhang and Giuseppe,
      independently. Improved and rewritten.
      
      Cc: stable@vger.kernel.org
      Reported-by: NZhang Xingcai <zhangxingcai@huawei.com>
      Reported-by: NGiuseppe Cantavenera <giuseppe.cantavenera.ext@nokia.com>
      Tested-by: NGiuseppe Cantavenera <giuseppe.cantavenera.ext@nokia.com>
      Acked-by: NAlexander Sverdlin <alexander.sverdlin@nokia.com>
      Signed-off-by: NBrian Norris <computersforpeace@gmail.com>
      073db4a5
  6. 12 5月, 2015 1 次提交
    • B
      mtd: nand: add common DT init code · 5844feea
      Brian Norris 提交于
      These are already-documented common bindings for NAND chips. Let's
      handle them in nand_base.
      
      If NAND controller drivers need to act on this data before bringing up
      the NAND chip (e.g., fill out ECC callback functions, change HW modes,
      etc.), then they can do so between calling nand_scan_ident() and
      nand_scan_tail().
      Signed-off-by: NBrian Norris <computersforpeace@gmail.com>
      5844feea
  7. 07 5月, 2015 19 次提交
  8. 16 4月, 2015 1 次提交
  9. 14 4月, 2015 1 次提交
  10. 06 4月, 2015 4 次提交