lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:	Mon, 11 May 2015 15:56:08 -0700
From:	Asai Thambi SP <asamymuthupa@...ron.com>
To:	Jens Axboe <axboe@...nel.dk>
CC:	<linux-kernel@...r.kernel.org>,
	Sam Bradshaw <sbradshaw@...ron.com>,
	Selvan Mani <smani@...ron.com>
Subject: [PATCH 8/9] mtip32xx: abort secure erase operation if the device is
 mounted

Signed-off-by: Sam Bradshaw <sbradshaw@...ron.com>
Signed-off-by: Asai Thambi S P <asamymuthupa@...ron.com>
---
 drivers/block/mtip32xx/mtip32xx.c |   12 ++++++++++++
 1 files changed, 12 insertions(+), 0 deletions(-)

diff --git a/drivers/block/mtip32xx/mtip32xx.c b/drivers/block/mtip32xx/mtip32xx.c
index 0b223e3..f8c12e1 100644
--- a/drivers/block/mtip32xx/mtip32xx.c
+++ b/drivers/block/mtip32xx/mtip32xx.c
@@ -2147,6 +2147,18 @@ static int exec_drive_taskfile(struct driver_data *dd,
 		fis.lba_hi,
 		fis.device);
 
+	/* Check for secure erase while fs mounted */
+	if ((fis.command == ATA_CMD_SEC_ERASE_PREP) ||
+	    (fis.command == ATA_CMD_SEC_ERASE_UNIT) ||
+	    (fis.command == 0xFC && fis.features == 0x12)) {
+		if (dd->bdev && dd->bdev->bd_holders > 0) {
+			dev_warn(&dd->pdev->dev, "Drive erase aborted due to non-zero refcount (%d)\n",
+				dd->bdev->bd_holders);
+			err = -ERESTARTSYS;
+			goto abort;
+		}
+	}
+
 	/* check for erase mode support during secure erase.*/
 	if ((fis.command == ATA_CMD_SEC_ERASE_UNIT) && outbuf &&
 					(outbuf[0] & MTIP_SEC_ERASE_MODE)) {
-- 
1.7.1


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ