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-prev] [thread-next>] [day] [month] [year] [list]
Date:	Mon, 20 Apr 2015 09:33:04 +0200
From:	Yorick Rommers <yorick-rommers@...mail.com>
To:	joe@...ches.com
CC:	lidza.louina@...il.com, markh@...pro.net,
	gregkh@...uxfoundation.org, driverdev-devel@...uxdriverproject.org,
	devel@...verdev.osuosl.org, linux-kernel@...r.kernel.org,
	Yorick Rommers <yorick-rommers@...mail.com>
Subject: [PATCH] Staging: dgnc: Using a temporary value for repeated dereferences.

Sorry, it has been changed in the patch below.

---------------------------------------

A patch for a line being too long (>80) in dgnc_mgmt.c,
fixed by making a temporary value for dgnc_Board[brd],
replacing all instanced of dgnc_Board[brd] with temporary value,
and removing unnecessary typecasts.

Signed-off-by: Yorick Rommers <yorick-rommers@...mail.com>
---
 drivers/staging/dgnc/dgnc_mgmt.c | 19 +++++++++++--------
 1 file changed, 11 insertions(+), 8 deletions(-)

diff --git a/drivers/staging/dgnc/dgnc_mgmt.c b/drivers/staging/dgnc/dgnc_mgmt.c
index b13318a..ac2581a 100644
--- a/drivers/staging/dgnc/dgnc_mgmt.c
+++ b/drivers/staging/dgnc/dgnc_mgmt.c
@@ -131,6 +131,7 @@ long dgnc_mgmt_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
 		int brd;

 		struct digi_info di;
+		struct dgnc_board *bd;

 		if (copy_from_user(&brd, uarg, sizeof(int)))
 			return -EFAULT;
@@ -142,19 +143,21 @@ long dgnc_mgmt_ioctl(struct file *file, unsigned int cmd, unsigned long arg)

 		di.info_bdnum = brd;

-		spin_lock_irqsave(&dgnc_Board[brd]->bd_lock, flags);
+		bd = dgnc_Board[brd];

-		di.info_bdtype = dgnc_Board[brd]->dpatype;
-		di.info_bdstate = dgnc_Board[brd]->dpastatus;
+		spin_lock_irqsave(&bd->bd_lock, flags);
+
+		di.info_bdtype = bd->dpatype;
+		di.info_bdstate = bd->dpastatus;
 		di.info_ioport = 0;
-		di.info_physaddr = (ulong) dgnc_Board[brd]->membase;
-		di.info_physsize = (ulong) dgnc_Board[brd]->membase - dgnc_Board[brd]->membase_end;
-		if (dgnc_Board[brd]->state != BOARD_FAILED)
-			di.info_nports = dgnc_Board[brd]->nasync;
+		di.info_physaddr = bd->membase;
+		di.info_physsize = bd->membase - bd->membase_end;
+		if (bd->state != BOARD_FAILED)
+			di.info_nports = bd->nasync;
 		else
 			di.info_nports = 0;

-		spin_unlock_irqrestore(&dgnc_Board[brd]->bd_lock, flags);
+		spin_unlock_irqrestore(&bd->bd_lock, flags);

 		if (copy_to_user(uarg, &di, sizeof(di)))
 			return -EFAULT;
--
2.3.5

--
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