Re: [PATCH] linux/hdsmart.h: fix goofups

Previous thread: request for v2.6.22.19-queue by Oliver Pinter on Sunday, February 17, 2008 - 1:03 pm. (1 message)

Next thread: [PATCH] return useful error when accessing /proc/<pid>/maps by Jean-Marc Saffroy on Sunday, February 17, 2008 - 1:02 pm. (1 message)
To: <linux-kernel@...>
Cc: Robert P. J. Day <rpjday@...>
Date: Sunday, February 17, 2008 - 1:07 pm

Fix goofups of commit 76166952bbc81dda1c8a8c14e75a2aa06f6c052c
("<linux/hdsmart.h> is not used by kernel code").

Reported-by: "Robert P. J. Day" <rpjday@crashcourse.ca>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
---
include/linux/hdsmart.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Index: b/include/linux/hdsmart.h
===================================================================
--- a/include/linux/hdsmart.h
+++ b/include/linux/hdsmart.h
@@ -17,7 +17,7 @@
#ifndef _LINUX_HDSMART_H
#define _LINUX_HDSMART_H

-#ifndef __KERNEL
+#ifndef __KERNEL__
#define OFFLINE_FULL_SCAN 0
#define SHORT_SELF_TEST 1
#define EXTEND_SELF_TEST 2
@@ -121,6 +121,6 @@ typedef struct ata_smart_selftestlog_s {
unsigned char resevered[2];
unsigned char chksum;
} __attribute__ ((packed)) ata_smart_selftestlog_t;
-#endif /* __KERNEL__ *
+#endif /* __KERNEL__ */

#endif /* _LINUX_HDSMART_H */
--

To: Bartlomiej Zolnierkiewicz <bzolnier@...>
Cc: <linux-kernel@...>
Date: Sunday, February 17, 2008 - 1:17 pm

if that header file isn't used by any kernel code, why bother having a
check for __KERNEL__ in the first place? it's being exported to
userspace unchecked:

include/linux/Kbuild:header-y += hdsmart.h

so why not just toss that check entirely? otherwise, you're going to
get a header file exported to userspace that has a superfluous
__KERNEL__ test in it.

rday
--

========================================================================
Robert P. J. Day
Linux Consulting, Training and Annoying Kernel Pedantry:
Have classroom, will lecture.

http://crashcourse.ca Waterloo, Ontario, CANADA
========================================================================
--

To: Robert P. J. Day <rpjday@...>
Cc: Bartlomiej Zolnierkiewicz <bzolnier@...>, <linux-kernel@...>
Date: Monday, February 18, 2008 - 1:06 am

Umm... if the kernel isn't using it, why are we bothering to export it to
userspace at all? Or is the kernel using something *else* that should be going
to userspace instead?

To: <Valdis.Kletnieks@...>
Cc: Bartlomiej Zolnierkiewicz <bzolnier@...>, <linux-kernel@...>
Date: Monday, February 18, 2008 - 5:50 am

beats me, i just observe 'em, i don't make those judgment calls. :-)

rday
--

========================================================================
Robert P. J. Day
Linux Consulting, Training and Annoying Kernel Pedantry:
Have classroom, will lecture.

http://crashcourse.ca Waterloo, Ontario, CANADA
========================================================================
--

To: Robert P. J. Day <rpjday@...>
Cc: <linux-kernel@...>
Date: Sunday, February 17, 2008 - 1:40 pm

We don't want new (accidental etc.) kernel users of this header.

How's about this version?

From: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Subject: [PATCH] linux/hdsmart.h: fix goofups (take 2)

Fix goofups of commit 76166952bbc81dda1c8a8c14e75a2aa06f6c052c
("<linux/hdsmart.h> is not used by kernel code").

Also update include/linux/Kbuild to reflect the fact that hdsmart.h
uses __KERNEL__ ifdefs now.

Reported-by: "Robert P. J. Day" <rpjday@crashcourse.ca>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
---
include/linux/Kbuild | 2 +-
include/linux/hdsmart.h | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)

Index: b/include/linux/Kbuild
===================================================================
--- a/include/linux/Kbuild
+++ b/include/linux/Kbuild
@@ -70,7 +70,6 @@ header-y += fuse.h
header-y += genetlink.h
header-y += gen_stats.h
header-y += gigaset_dev.h
-header-y += hdsmart.h
header-y += hysdn_if.h
header-y += i2o-dev.h
header-y += i8k.h
@@ -211,6 +210,7 @@ unifdef-y += hayesesp.h
unifdef-y += hdlcdrv.h
unifdef-y += hdlc.h
unifdef-y += hdreg.h
+unifdef-y += hdsmart.h
unifdef-y += hiddev.h
unifdef-y += hpet.h
unifdef-y += i2c.h
Index: b/include/linux/hdsmart.h
===================================================================
--- a/include/linux/hdsmart.h
+++ b/include/linux/hdsmart.h
@@ -17,7 +17,7 @@
#ifndef _LINUX_HDSMART_H
#define _LINUX_HDSMART_H

-#ifndef __KERNEL
+#ifndef __KERNEL__
#define OFFLINE_FULL_SCAN 0
#define SHORT_SELF_TEST 1
#define EXTEND_SELF_TEST 2
@@ -121,6 +121,6 @@ typedef struct ata_smart_selftestlog_s {
unsigned char resevered[2];
unsigned char chksum;
} __attribute__ ((packed)) ata_smart_selftestlog_t;
-#endif /* __KERNEL__ *
+#endif /* __KERNEL__ */

#endif /* _LINUX_HDSMART_H */
--

To: Bartlomiej Zolnierkiewicz <bzolnier@...>
Cc: Robert P. J. Day <rpjday@...>, <linux-kernel@...>
Date: Sunday, February 17, 2008 - 1:36 pm

Why can't we simply remove it?

cu
Adrian

--

"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed

--

To: Adrian Bunk <bunk@...>
Cc: Robert P. J. Day <rpjday@...>, <linux-kernel@...>
Date: Sunday, February 17, 2008 - 2:04 pm

If it is safe w.r.t. userspace then please do it.

[ I don't know and I couldn't get an answer on LKML so... ]

Thanks,
Bart
--

To: Bartlomiej Zolnierkiewicz <bzolnier@...>
Cc: Robert P. J. Day <rpjday@...>, <linux-kernel@...>
Date: Tuesday, February 19, 2008 - 3:29 pm

The purpose of the kernel userapce headers is to contain the interfaces
between the kernel and userspace.

If nothing in the kernel uses it there's not much value in keeping it.

cu
Adrian

<-- snip -->

include/linux/hdsmart.h is not used by the kernel and should therefore
be removed.

Signed-off-by: Adrian Bunk <bunk@kernel.org>

include/linux/Kbuild | 1
include/linux/hdsmart.h | 126 ----------------------------------------
2 files changed, 127 deletions(-)

a93fe7221c62dbe655e646321a0f1f276f4d05f2 diff --git a/include/linux/Kbuild b/include/linux/Kbuild
index aada32f..0743c5e 100644
--- a/include/linux/Kbuild
+++ b/include/linux/Kbuild
@@ -210,7 +210,6 @@ unifdef-y += hayesesp.h
unifdef-y += hdlcdrv.h
unifdef-y += hdlc.h
unifdef-y += hdreg.h
-unifdef-y += hdsmart.h
unifdef-y += hiddev.h
unifdef-y += hpet.h
unifdef-y += i2c.h
diff --git a/include/linux/hdsmart.h b/include/linux/hdsmart.h
deleted file mode 100644
index 4f4faf9..0000000
--- a/include/linux/hdsmart.h
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- * linux/include/linux/hdsmart.h
- *
- * Copyright (C) 1999-2000 Michael Cornwell <cornwell@acm.org>
- * Copyright (C) 2000 Andre Hedrick <andre@linux-ide.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2, or (at your option)
- * any later version.
- *
- * You should have received a copy of the GNU General Public License
- * (for example /usr/src/linux/COPYING); if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-#ifndef _LINUX_HDSMART_H
-#define _LINUX_HDSMART_H
-
-#ifndef __KERNEL__
-#define OFFLINE_FULL_SCAN 0
-#define SHORT_SELF_TEST 1
-#define EXTEND_SELF_TEST 2
-#define SHORT_CAPTIVE_SELF_TEST 129
-#define EXTEND_CAPTIVE_SELF_TEST 130
-
-/* smart_attribute is the vendor specific in SF...

To: Adrian Bunk <bunk@...>
Cc: Robert P. J. Day <rpjday@...>, <linux-kernel@...>
Date: Tuesday, February 19, 2008 - 5:51 pm

applied
--

To: Bartlomiej Zolnierkiewicz <bzolnier@...>
Cc: Adrian Bunk <bunk@...>, <linux-kernel@...>
Date: Sunday, February 17, 2008 - 1:53 pm

i'll leave that decision in someone else's hands. have fun.

rday
--

========================================================================
Robert P. J. Day
Linux Consulting, Training and Annoying Kernel Pedantry:
Have classroom, will lecture.

http://crashcourse.ca Waterloo, Ontario, CANADA
========================================================================
--

Previous thread: request for v2.6.22.19-queue by Oliver Pinter on Sunday, February 17, 2008 - 1:03 pm. (1 message)

Next thread: [PATCH] return useful error when accessing /proc/<pid>/maps by Jean-Marc Saffroy on Sunday, February 17, 2008 - 1:02 pm. (1 message)