shithub: riscv

Download patch

ref: 15755a5f8329aa5395e1bc83231eefad86321ca1
parent: 21618850343af89d5a70f7d53a2ec32066e2ec20
author: cinap_lenrek <cinap_lenrek@felloff.net>
date: Thu Aug 21 06:56:15 EDT 2014

ether8139: fix pointer truncation by ulong cast, use mallocalign()

--- a/sys/src/9/pc/ether8139.c
+++ b/sys/src/9/pc/ether8139.c
@@ -403,7 +403,7 @@
 	/*
 	 * Receiver
 	 */
-	alloc = (uchar*)ROUNDUP((ulong)ctlr->alloc, 32);
+	alloc = ctlr->alloc;
 	ctlr->rbstart = alloc;
 	alloc += ctlr->rblen+16;
 	memset(ctlr->rbstart, 0, ctlr->rblen+16);
@@ -453,7 +453,7 @@
 	qlock(&ctlr->alock);
 	if(ctlr->alloc == nil){
 		ctlr->rblen = 1<<((Rblen>>RblenSHIFT)+13);
-		ctlr->alloc = mallocz(ctlr->rblen+16 + Ntd*Tdbsz + 32, 0);
+		ctlr->alloc = mallocalign(ctlr->rblen+16 + Ntd*Tdbsz, 32, 0, 0);
 		if(ctlr->alloc == nil){
 			qunlock(&ctlr->alock);
 			error(Enomem);
--