2010-12-01 15:11:12

by Alexander Shishkin

[permalink] [raw]
Subject: [PATCH 0/4] trivial header fixes

Hi,

These four patches contain trivial headers_check warnings in current kernel.
Two of them were obtained with a patch to headers_check [1] that slightly
improves its ability to detect exported function prototypes.

[1] http://marc.info/?l=linux-kernel&m=129113414531152&w=2

Regards,
--
Alex


2010-12-01 15:11:30

by Alexander Shishkin

[permalink] [raw]
Subject: [PATCH 1/4] drm: fix headers to include linux/types.h

For headers that get exported to userland and make use of u32 style
type names, it is advised to include linux/types.h.

This fixes 5 headers_check warnings.

Signed-off-by: Alexander Shishkin <[email protected]>
CC: Andrew Morton <[email protected]>
CC: David Airlie <[email protected]>
CC: Chris Wilson <[email protected]>
CC: [email protected]
CC: [email protected]
CC: [email protected]
---
include/drm/drm_mode.h | 2 ++
include/drm/i915_drm.h | 1 +
include/drm/mga_drm.h | 1 +
include/drm/radeon_drm.h | 1 +
include/drm/via_drm.h | 1 +
5 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/include/drm/drm_mode.h b/include/drm/drm_mode.h
index 0fc7397..1678d7b 100644
--- a/include/drm/drm_mode.h
+++ b/include/drm/drm_mode.h
@@ -27,6 +27,8 @@
#ifndef _DRM_MODE_H
#define _DRM_MODE_H

+#include <linux/types.h>
+
#define DRM_DISPLAY_INFO_LEN 32
#define DRM_CONNECTOR_NAME_LEN 32
#define DRM_DISPLAY_MODE_LEN 32
diff --git a/include/drm/i915_drm.h b/include/drm/i915_drm.h
index 8c641bed..c07c043 100644
--- a/include/drm/i915_drm.h
+++ b/include/drm/i915_drm.h
@@ -27,6 +27,7 @@
#ifndef _I915_DRM_H_
#define _I915_DRM_H_

+#include <linux/types.h>
#include "drm.h"

/* Please note that modifications to all structs defined here are
diff --git a/include/drm/mga_drm.h b/include/drm/mga_drm.h
index c16097f..1107097 100644
--- a/include/drm/mga_drm.h
+++ b/include/drm/mga_drm.h
@@ -35,6 +35,7 @@
#ifndef __MGA_DRM_H__
#define __MGA_DRM_H__

+#include <linux/types.h>
#include "drm.h"

/* WARNING: If you change any of these defines, make sure to change the
diff --git a/include/drm/radeon_drm.h b/include/drm/radeon_drm.h
index 10f8b53..78d9344 100644
--- a/include/drm/radeon_drm.h
+++ b/include/drm/radeon_drm.h
@@ -33,6 +33,7 @@
#ifndef __RADEON_DRM_H__
#define __RADEON_DRM_H__

+#include <linux/types.h>
#include "drm.h"

/* WARNING: If you change any of these defines, make sure to change the
diff --git a/include/drm/via_drm.h b/include/drm/via_drm.h
index fd11a5b..23880b0 100644
--- a/include/drm/via_drm.h
+++ b/include/drm/via_drm.h
@@ -24,6 +24,7 @@
#ifndef _VIA_DRM_H_
#define _VIA_DRM_H_

+#include <linux/types.h>
#include "drm.h"

/* WARNING: These defines must be the same as what the Xserver uses.
--
1.7.2.1.45.gb66c2

2010-12-01 15:11:37

by Alexander Shishkin

[permalink] [raw]
Subject: [PATCH 2/4] cramfs: hide function prototypes behind __KERNEL__ macro

Currently, 3 kernel function prototypes are present in a header
file exported to userland. This patch fixes it.

Signed-off-by: Alexander Shishkin <[email protected]>
CC: Andrew Morton <[email protected]>
CC: [email protected]
---
include/linux/cramfs_fs.h | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/include/linux/cramfs_fs.h b/include/linux/cramfs_fs.h
index 6fc2bed..0e7bf27 100644
--- a/include/linux/cramfs_fs.h
+++ b/include/linux/cramfs_fs.h
@@ -84,9 +84,11 @@ struct cramfs_super {
| CRAMFS_FLAG_WRONG_SIGNATURE \
| CRAMFS_FLAG_SHIFTED_ROOT_OFFSET )

+#ifdef __KERNEL__
/* Uncompression interfaces to the underlying zlib */
int cramfs_uncompress_block(void *dst, int dstlen, void *src, int srclen);
int cramfs_uncompress_init(void);
void cramfs_uncompress_exit(void);
+#endif /* __KERNEL__ */

#endif
--
1.7.2.1.45.gb66c2

2010-12-01 15:11:45

by Alexander Shishkin

[permalink] [raw]
Subject: [PATCH 3/4] scsi: fix a header to include linux/types.h

For headers that get exported to userland and make use of u32 style
type names, it is advised to include linux/types.h.

This fixes a headers_check warning.

Signed-off-by: Alexander Shishkin <[email protected]>
CC: Andrew Morton <[email protected]>
CC: "James E.J. Bottomley" <[email protected]>
CC: [email protected]
CC: [email protected]
---
include/scsi/scsi_netlink.h | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/include/scsi/scsi_netlink.h b/include/scsi/scsi_netlink.h
index 58ce8fe..5cb20cc 100644
--- a/include/scsi/scsi_netlink.h
+++ b/include/scsi/scsi_netlink.h
@@ -23,7 +23,7 @@
#define SCSI_NETLINK_H

#include <linux/netlink.h>
-
+#include <linux/types.h>

/*
* This file intended to be included by both kernel and user space
--
1.7.2.1.45.gb66c2

2010-12-01 15:11:57

by Alexander Shishkin

[permalink] [raw]
Subject: [PATCH 4/4] toshiba.h: hide a function prototypes behind __KERNEL__ macro

Currently, tosh_smm() prototype is present in a header
file exported to userland. This patch fixes it.

Signed-off-by: Alexander Shishkin <[email protected]>
CC: Andrew Morton <[email protected]>
CC: Jonathan Buzzard <[email protected]>
CC: [email protected]
CC: [email protected]
---
include/linux/toshiba.h | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/include/linux/toshiba.h b/include/linux/toshiba.h
index 6a7c4ed..772dedb 100644
--- a/include/linux/toshiba.h
+++ b/include/linux/toshiba.h
@@ -33,6 +33,8 @@ typedef struct {
unsigned int edi __attribute__ ((packed));
} SMMRegisters;

+#ifdef __KERNEL__
int tosh_smm(SMMRegisters *regs);
+#endif /* __KERNEL__ */

#endif
--
1.7.2.1.45.gb66c2

2010-12-01 17:00:22

by Julien Cristau

[permalink] [raw]
Subject: Re: [PATCH 1/4] drm: fix headers to include linux/types.h

On Wed, Dec 1, 2010 at 17:10:42 +0200, Alexander Shishkin wrote:

> For headers that get exported to userland and make use of u32 style
> type names, it is advised to include linux/types.h.
>
> This fixes 5 headers_check warnings.
>
How many times does this need to be NAKed? These headers are shared
with the BSDs, and they include drm.h which has the linux/types.h
include on linux already.

Cheers,
Julien

2010-12-01 17:37:24

by Alexander Shishkin

[permalink] [raw]
Subject: Re: [PATCH 1/4] drm: fix headers to include linux/types.h

On Wed, Dec 01, 2010 at 05:54:18PM +0100, Julien Cristau wrote:
> On Wed, Dec 1, 2010 at 17:10:42 +0200, Alexander Shishkin wrote:
>
> > For headers that get exported to userland and make use of u32 style
> > type names, it is advised to include linux/types.h.
> >
> > This fixes 5 headers_check warnings.
> >
> How many times does this need to be NAKed? These headers are shared
> with the BSDs, and they include drm.h which has the linux/types.h
> include on linux already.

One of the rules of including files that comes to mind is that one should
never rely on stuff being included from other headers but always explicitly
include those which are needed.
But if compatibility with other OS kernels is a valid reason to disregard
common coding practices, maybe at least it deserves a comment in those files?

But I really couldn't care less about these headers, so this is totally up
to you.

Regards,
--
Alex

2010-12-01 17:55:05

by Kristian H. Kristensen

[permalink] [raw]
Subject: Re: [PATCH 1/4] drm: fix headers to include linux/types.h

On Wed, Dec 1, 2010 at 11:54 AM, Julien Cristau <[email protected]> wrote:
> On Wed, Dec  1, 2010 at 17:10:42 +0200, Alexander Shishkin wrote:
>
>> For headers that get exported to userland and make use of u32 style
>> type names, it is advised to include linux/types.h.
>>
>> This fixes 5 headers_check warnings.
>>
> How many times does this need to be NAKed?  These headers are shared
> with the BSDs, and they include drm.h which has the linux/types.h
> include on linux already.

I'll NAK it too, if that helps.

Kristian

2010-12-01 19:39:16

by Andrew Morton

[permalink] [raw]
Subject: Re: [PATCH 1/4] drm: fix headers to include linux/types.h

On Wed, 1 Dec 2010 17:54:18 +0100
Julien Cristau <[email protected]> wrote:

> On Wed, Dec 1, 2010 at 17:10:42 +0200, Alexander Shishkin wrote:
>
> > For headers that get exported to userland and make use of u32 style
> > type names, it is advised to include linux/types.h.
> >
> > This fixes 5 headers_check warnings.
> >
> How many times does this need to be NAKed?

Until someone gets a clue and puts comments in there explaining this?

2010-12-01 19:56:02

by Dave Airlie

[permalink] [raw]
Subject: Re: [Intel-gfx] [PATCH 1/4] drm: fix headers to include linux/types.h

On Thu, Dec 2, 2010 at 5:38 AM, Andrew Morton <[email protected]> wrote:
> On Wed, 1 Dec 2010 17:54:18 +0100
> Julien Cristau <[email protected]> wrote:
>
>> On Wed, Dec ?1, 2010 at 17:10:42 +0200, Alexander Shishkin wrote:
>>
>> > For headers that get exported to userland and make use of u32 style
>> > type names, it is advised to include linux/types.h.
>> >
>> > This fixes 5 headers_check warnings.
>> >
>> How many times does this need to be NAKed?
>
> Until someone gets a clue and puts comments in there explaining this?

how about someone fixing the dumb scripts to understand that C header
includes aren't single level.

Like 10 people have posted this patch and not one has come back with a
fix for the app after I pointed it out, like really if people think
they can write C good enough to send kernel patches,
maybe they could put some more effort in and actually fix a real problem.

We should start hashing signed-off-by's so people can't get any glory from them.

Dave.

2010-12-01 20:12:31

by Randy Dunlap

[permalink] [raw]
Subject: Re: [Intel-gfx] [PATCH 1/4] drm: fix headers to include linux/types.h

On Thu, 2 Dec 2010 05:55:59 +1000 Dave Airlie wrote:

> On Thu, Dec 2, 2010 at 5:38 AM, Andrew Morton <[email protected]> wrote:
> > On Wed, 1 Dec 2010 17:54:18 +0100
> > Julien Cristau <[email protected]> wrote:
> >
> >> On Wed, Dec ?1, 2010 at 17:10:42 +0200, Alexander Shishkin wrote:
> >>
> >> > For headers that get exported to userland and make use of u32 style
> >> > type names, it is advised to include linux/types.h.
> >> >
> >> > This fixes 5 headers_check warnings.
> >> >
> >> How many times does this need to be NAKed?
> >
> > Until someone gets a clue and puts comments in there explaining this?
>
> how about someone fixing the dumb scripts to understand that C header
> includes aren't single level.

Still, drm is an exception here, so it needs to be documented as such.


> Like 10 people have posted this patch and not one has come back with a
> fix for the app after I pointed it out, like really if people think
> they can write C good enough to send kernel patches,
> maybe they could put some more effort in and actually fix a real problem.
>
> We should start hashing signed-off-by's so people can't get any glory from them.

---
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***