Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1161123AbbENXOs (ORCPT ); Thu, 14 May 2015 19:14:48 -0400 Received: from aserp1040.oracle.com ([141.146.126.69]:39382 "EHLO aserp1040.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753155AbbENXOr (ORCPT ); Thu, 14 May 2015 19:14:47 -0400 Date: Fri, 15 May 2015 02:14:27 +0300 From: Dan Carpenter To: Mateusz Kulikowski Cc: devel@driverdev.osuosl.org, gregkh@linuxfoundation.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v3 03/33] staging: rtl8192e: Mark unaligned memcpy() Message-ID: <20150514231427.GY14154@mwanda> References: <1431206361-13736-1-git-send-email-mateusz.kulikowski@gmail.com> <1431206361-13736-4-git-send-email-mateusz.kulikowski@gmail.com> <20150511082646.GI14154@mwanda> <55525BCD.5030901@gmail.com> <20150513082254.GQ14154@mwanda> <555505B3.3030107@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <555505B3.3030107@gmail.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-Source-IP: aserv0021.oracle.com [141.146.126.233] Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1351 Lines: 40 On Thu, May 14, 2015 at 10:29:39PM +0200, Mateusz Kulikowski wrote: > On 13.05.2015 10:22, Dan Carpenter wrote: > > On Tue, May 12, 2015 at 10:00:13PM +0200, Mateusz Kulikowski wrote: > >> On 11.05.2015 10:26, Dan Carpenter wrote: > (...) > >>> > >>> Which part isn't aligned? I think they both are. > >>> > >> struct rtllib_rxb *prxb = prxbIndicateArray[j]; > >> > >> struct rtllib_rxb { > >> u8 nr_subframes; > >> struct sk_buff *subframes[MAX_SUBFRAME_COUNT == 64]; > >> u8 dst[ETH_ALEN]; // here > >> u8 src[ETH_ALEN]; // here > >> } __packed; > >> > >> Either I forgot alignment / packing rules or this fields are never aligned "by design". > > > > You must have forgotten something... Everything after the pointer is > > going to be aligned sizeof(void *). > > That would be true, if structure was not __packed: > Oh. Duh... You are correct. I'm not positive it's "by design" though, this is staging code so maybe they just added __packed to every struct. In fact, I'm pretty sure unaligned pointers don't work on some arches so the __packed is probably a bug. regards, dan carpenter -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/