Re: [PATCH 5/13] score - New architecure port to SunplusCT S+CORE processor

From: Sam Ravnborg
Date: Fri Mar 27 2009 - 14:38:22 EST


> +
> +#endif /* __SETUP_H */
> diff -uprN -x linux-2.6-git.ori/Documentation/dontdiff
> linux-2.6-git.ori/arch/score/include/asm/shmbuf.h
> linux-2.6-git.new/arch/score/include/asm/shmbuf.h
> --- linux-2.6-git.ori/arch/score/include/asm/shmbuf.h 1970-01-01
> 08:00:00.000000000 +0800
> +++ linux-2.6-git.new/arch/score/include/asm/shmbuf.h 2009-03-13
> 14:26:33.000000000 +0800
> @@ -0,0 +1,29 @@
> +#ifndef _ASM_SHMBUF_H
> +#define _ASM_SHMBUF_H
> +
> +struct shmid64_ds {
> + struct ipc64_perm shm_perm; /* operation perms */
> + size_t shm_segsz; /* size of segment (bytes)
> */
> + __kernel_time_t shm_atime; /* last attach time */
> + __kernel_time_t shm_dtime; /* last detach time */
> + __kernel_time_t shm_ctime; /* last change time */
> + __kernel_pid_t shm_cpid; /* pid of creator */
> + __kernel_pid_t shm_lpid; /* pid of last operator */
> + unsigned long shm_nattch; /* no. of current attaches
> */
> + unsigned long __unused1;
> + unsigned long __unused2;
> +};

This is an exported header and you mix wide specific and generic types.
The recommended way is to stick to the __[u]{32,64}int versions + the kernel
specific types as __kernel_pid_t.
In other words avoid use of int, long etc in your exported headers.

For good measure try "make headers_check" and fix all warnings.
But that will NOT find uses of int/long so here you rely on a manual process.

The above is one of several files where this is used.
See full list of arch specific headers that are exported in the file:
include/asm-generic/Kbuild.asm

Sam
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/