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
| ||
|
Date: Thu, 22 Mar 2012 14:20:28 -0700 From: <Parav.Pandit@...lex.Com> To: <Parav.Pandit@...lex.Com>, <jgunthorpe@...idianresearch.com> CC: <David.Laight@...LAB.COM>, <roland@...estorage.com>, <linux-rdma@...r.kernel.org>, <netdev@...r.kernel.org> Subject: RE: [PATCH 2/9] ocrdma: Driver for Emulex OneConnect RDMA adapter I got a question here lately. aligned directive will ensure that it will fall on boundary. Say aligned(4) ensures that structure is aligned to 4 byte boundary. Compiler can (at least theoretically) still have 4 byte structure aligned to 8 byte boundary on 64-bit platform (which is 4 byte aligned too). struct { u32 field; } attribute ((aligned(4)); However requirement is to have this structure only 4 byte size( because adapter excepts it to be 4B sise) and therefor packed is used. I don't know the way to ensure size of 4 byte and alignment too. Or I am misunderstanding? Parav > -----Original Message----- > From: linux-rdma-owner@...r.kernel.org [mailto:linux-rdma- > owner@...r.kernel.org] On Behalf Of Parav.Pandit@...lex.Com > Sent: Friday, March 23, 2012 2:41 AM > To: jgunthorpe@...idianresearch.com > Cc: David.Laight@...LAB.COM; roland@...estorage.com; linux- > rdma@...r.kernel.org; netdev@...r.kernel.org > Subject: RE: [PATCH 2/9] ocrdma: Driver for Emulex OneConnect RDMA > adapter > > > > > -----Original Message----- > > From: Jason Gunthorpe [mailto:jgunthorpe@...idianresearch.com] > > Sent: Friday, March 23, 2012 2:28 AM > > To: Pandit, Parav > > Cc: David.Laight@...LAB.COM; roland@...estorage.com; linux- > > rdma@...r.kernel.org; netdev@...r.kernel.org > > Subject: Re: [PATCH 2/9] ocrdma: Driver for Emulex OneConnect RDMA > > adapter > > > > On Thu, Mar 22, 2012 at 01:52:30PM -0700, Parav.Pandit@...lex.Com > > wrote: > > > > > > This can be used to force 32bit alignment in amd64 code in order > > > > to match definitions in 32bit userspace. > > > > For new things it would make sense to force 64bit alignment of > > > > 64bit fields for 32bit code. > > > > > > o.k. so I'll use aligned attribute to align user-kernel interface > > > data structure to 8 byte boundary. That should work for 32-bit and > > > 64-bit user and kernel space and does't hurt performance either? > > > > If the structure is only for user/kernel interfacing then it is much > > better to add explicit padding fields to naturally place 64 bit > > quantities on an 8 byte alignment than to mess with gcc specific > > attributes (user space has a much wide choice of compilers). > > > > This was David's second suggestion. Better to do this now before the > > driver is accepted :) > > > o.k. I'll align them to naturally 8 byte boundary. > > > Jason > -- > To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the > body of a message to majordomo@...r.kernel.org More majordomo info at > http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists