patches/strace/4.5.17/190-dirent-include.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Fri Nov 04 19:22:29 2011 +0100 (2011-11-04)
changeset 2735 f09ed6dd71a3
permissions -rw-r--r--
kernel/linux: fix packed attribute in exported headers

UBI headers (and maybe others as well) are broken because the 'packed'
attribute is not sanitised when the headers are exported to userspace.

Apply the fix from upstream:
https://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commitdiff;h=f210735fe2f17a6225432ee3d1239bcf23a8659c

(Also, buildroot does the same, BTW)

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
     1 --- strace-orig/file.c	2008/05/20 04:56:18	1.92
     2 +++ strace/file.c	2008/08/01 01:13:10	1.93
     3 @@ -28,21 +28,22 @@
     4   * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
     5   * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     6   *
     7 - *	$Id: file.c,v 1.92 2008/05/20 04:56:18 roland Exp $
     8 + *	$Id: file.c,v 1.93 2008/08/01 01:13:10 roland Exp $
     9   */
    10  
    11  #include "defs.h"
    12  
    13  #include <dirent.h>
    14 +
    15  #ifdef LINUX
    16 -#define dirent kernel_dirent
    17 -#define dirent64 kernel_dirent64
    18 -#include <linux/types.h>
    19 -#include <linux/dirent.h>
    20 -#undef dirent
    21 -#undef dirent64
    22 +struct kernel_dirent {
    23 +	unsigned long   d_ino;
    24 +	unsigned long   d_off;
    25 +	unsigned short  d_reclen;
    26 +	char            d_name[1];
    27 +};
    28  #else
    29 -#define kernel_dirent dirent
    30 +# define kernel_dirent dirent
    31  #endif
    32  
    33  #ifdef LINUX