Re: [PATCH 09/10] HID: add compat support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, May 16, 2008 at 3:19 PM, Jiri Slaby <jirislaby@xxxxxxxxx> wrote:
> Add compat option to hid code to allow loading of all modules on
> systems which don't allow autoloading because of old userspace.
>
> Signed-off-by: Jiri Slaby <jirislaby@xxxxxxxxx>
> ---
>  Documentation/feature-removal-schedule.txt |    7 +++++++
>  drivers/hid/Kconfig                        |   11 +++++++++++
>  drivers/hid/Makefile                       |    4 ++++
>  drivers/hid/hid-apple.c                    |    2 ++
>  drivers/hid/hid-core.c                     |   12 ++++++++++++
>  drivers/hid/hid-dummy.c                    |   13 +++++++++++++
>  drivers/hid/hid-logitech.c                 |    2 ++
>  include/linux/hid.h                        |   17 +++++++++++++++--
>  8 files changed, 66 insertions(+), 2 deletions(-)
>  create mode 100644 drivers/hid/hid-dummy.c
>

> diff --git a/include/linux/hid.h b/include/linux/hid.h
> index c67e5fe..447aed9 100644
> --- a/include/linux/hid.h
> +++ b/include/linux/hid.h

> +#ifdef CONFIG_HID_COMPAT
> +#define HID_COMPAT_LOAD_DRIVER(name)   \
> +void hid_compat_##name(void) { }       \
> +EXPORT_SYMBOL(hid_compat_##name)
> +#else
> +#define HID_COMPAT_LOAD_DRIVER(name)
> +#endif /* HID_COMPAT */
> +#define HID_COMPAT_CALL_DRIVER(name)   do {    \
> +       extern void hid_compat_##name(void);    \
> +       hid_compat_##name();                    \
> +} while (0)
> +
>  #endif
>

This leads to 3 headers_check warnings:

 usr/include/linux/hid.h:66: leaks CONFIG_HID to userspace where it is not valid
 usr/include/linux/hid.h:69: extern's make no sense in userspace
 usr/include/linux/hid.h:76: extern's make no sense in userspace

So I  am moving whole above block in #ifdef __KEREL__

If you have any objections, then let me know, now it will look like this:

 #endif /* HID_FF */

+#ifdef __KERNEL__
 #ifdef CONFIG_HID_COMPAT
 #define HID_COMPAT_LOAD_DRIVER(name)   \
 /* prototype to avoid sparse warning */        \
@@ -804,6 +805,7 @@ EXPORT_SYMBOL(hid_compat_##name)
        extern void hid_compat_##name(void);    \
        hid_compat_##name();                    \
 } while (0)
+#endif /* __KERNEL__ */

 #endif


--
JSR
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux