* [GIT PATCH] driver core patches for 2.6.33-git
@ 2009-12-23 19:49 Greg KH
2009-12-23 19:52 ` [PATCH 01/10] devtmpfs: Convert dirlock to a mutex Greg Kroah-Hartman
` (9 more replies)
0 siblings, 10 replies; 19+ messages in thread
From: Greg KH @ 2009-12-23 19:49 UTC (permalink / raw)
To: Linus Torvalds, Andrew Morton; +Cc: linux-kernel
Here are some 2.6.33-rc1 patches for the driver core:
Nothing major here:
- fixes for devtmpfs warnings on lockdep and command line
options
- documentation updates
- api change to make attributes const. This is added now so
that subsystem maintainers can queue up patches for .34. This
was submitted now at the recommendation of Stephen Rothwell.
- stable kernel rules clarification in the documentation
Please pull from:
master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-core-2.6.git/
All of these patches have been in the linux-next and mm trees.
The patches will be sent as a follow-on to this message to lkml for people
to see.
thanks,
greg k-h
------------
Documentation/driver-model/driver.txt | 4 ++--
Documentation/filesystems/sysfs.txt | 12 ++++++------
Documentation/stable_kernel_rules.txt | 24 ++++++++++++++++++++++--
drivers/base/bus.c | 2 +-
drivers/base/core.c | 16 +++++++++++-----
drivers/base/devtmpfs.c | 19 ++++++++++---------
drivers/base/driver.c | 4 ++--
drivers/base/platform.c | 1 +
fs/super.c | 3 ++-
fs/sysfs/bin.c | 6 ++++--
include/linux/device.h | 12 ++++++------
include/linux/sysfs.h | 9 +++++----
12 files changed, 72 insertions(+), 40 deletions(-)
---------------
Kay Sievers (2):
vfs: get_sb_single() - do not pass options twice
devtmpfs: unlock mutex in case of string allocation error
Michael Hennerich (1):
Driver core: export platform_device_register_data as a GPL symbol
Phil Carmody (4):
Driver core: device_attribute parameters can often be const*
Driver core: bin_attribute parameters can often be const*
Driver core: driver_attribute parameters can often be const*
driver core: Prevent reference to freed memory on error path
Sebastian Andrzej Siewior (1):
Doc/stable rules: add new cherry-pick logic
Thomas Gleixner (2):
devtmpfs: Convert dirlock to a mutex
Driver-core: Fix bogus 0 error return in device_add()
^ permalink raw reply [flat|nested] 19+ messages in thread
* [PATCH 01/10] devtmpfs: Convert dirlock to a mutex
2009-12-23 19:49 [GIT PATCH] driver core patches for 2.6.33-git Greg KH
@ 2009-12-23 19:52 ` Greg Kroah-Hartman
2009-12-23 19:52 ` [PATCH 02/10] vfs: get_sb_single() - do not pass options twice Greg Kroah-Hartman
` (8 subsequent siblings)
9 siblings, 0 replies; 19+ messages in thread
From: Greg Kroah-Hartman @ 2009-12-23 19:52 UTC (permalink / raw)
To: linux-kernel; +Cc: Thomas Gleixner, Kay Sievers, stable, Greg Kroah-Hartman
From: Thomas Gleixner <tglx@linutronix.de>
devtmpfs has a rw_lock dirlock which serializes delete_path and
create_path.
This code was obviously never tested with the usual set of debugging
facilities enabled. In the dirlock held sections the code calls:
- vfs functions which take mutexes
- kmalloc(, GFP_KERNEL)
In both code pathes the might sleep warning triggers and spams dmesg.
Convert the rw_lock to a mutex. There is no reason why this needs to
be a rwlock.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Kay Sievers <kay.sievers@vrfy.org>
Cc: stable <stable@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
drivers/base/devtmpfs.c | 12 +++++-------
1 files changed, 5 insertions(+), 7 deletions(-)
diff --git a/drivers/base/devtmpfs.c b/drivers/base/devtmpfs.c
index 50375bb..278371c 100644
--- a/drivers/base/devtmpfs.c
+++ b/drivers/base/devtmpfs.c
@@ -32,7 +32,7 @@ static int dev_mount = 1;
static int dev_mount;
#endif
-static rwlock_t dirlock;
+static DEFINE_MUTEX(dirlock);
static int __init mount_param(char *str)
{
@@ -93,7 +93,7 @@ static int create_path(const char *nodepath)
{
int err;
- read_lock(&dirlock);
+ mutex_lock(&dirlock);
err = dev_mkdir(nodepath, 0755);
if (err == -ENOENT) {
char *path;
@@ -117,7 +117,7 @@ static int create_path(const char *nodepath)
}
kfree(path);
}
- read_unlock(&dirlock);
+ mutex_unlock(&dirlock);
return err;
}
@@ -229,7 +229,7 @@ static int delete_path(const char *nodepath)
if (!path)
return -ENOMEM;
- write_lock(&dirlock);
+ mutex_lock(&dirlock);
for (;;) {
char *base;
@@ -241,7 +241,7 @@ static int delete_path(const char *nodepath)
if (err)
break;
}
- write_unlock(&dirlock);
+ mutex_unlock(&dirlock);
kfree(path);
return err;
@@ -352,8 +352,6 @@ int __init devtmpfs_init(void)
int err;
struct vfsmount *mnt;
- rwlock_init(&dirlock);
-
err = register_filesystem(&dev_fs_type);
if (err) {
printk(KERN_ERR "devtmpfs: unable to register devtmpfs "
--
1.6.5.7
^ permalink raw reply [flat|nested] 19+ messages in thread
* [PATCH 02/10] vfs: get_sb_single() - do not pass options twice
2009-12-23 19:49 [GIT PATCH] driver core patches for 2.6.33-git Greg KH
2009-12-23 19:52 ` [PATCH 01/10] devtmpfs: Convert dirlock to a mutex Greg Kroah-Hartman
@ 2009-12-23 19:52 ` Greg Kroah-Hartman
2009-12-27 12:36 ` OGAWA Hirofumi
2009-12-23 19:52 ` [PATCH 03/10] Doc/stable rules: add new cherry-pick logic Greg Kroah-Hartman
` (7 subsequent siblings)
9 siblings, 1 reply; 19+ messages in thread
From: Greg Kroah-Hartman @ 2009-12-23 19:52 UTC (permalink / raw)
To: linux-kernel; +Cc: Kay Sievers, Miklos Szeredi, Greg Kroah-Hartman
From: Kay Sievers <kay.sievers@vrfy.org>
Filesystem code usually destroys the option buffer while
parsing it. This leads to errors when the same buffer is
passed twice. In case we fill a new superblock do not call
remount.
This is needed to quite a warning that the debugfs code
causes every boot.
Cc: Miklos Szeredi <miklos@szeredi.hu>
Signed-off-by: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
fs/super.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/fs/super.c b/fs/super.c
index 19eb70b..aff046b 100644
--- a/fs/super.c
+++ b/fs/super.c
@@ -901,8 +901,9 @@ int get_sb_single(struct file_system_type *fs_type,
return error;
}
s->s_flags |= MS_ACTIVE;
+ } else {
+ do_remount_sb(s, flags, data, 0);
}
- do_remount_sb(s, flags, data, 0);
simple_set_mnt(mnt, s);
return 0;
}
--
1.6.5.7
^ permalink raw reply [flat|nested] 19+ messages in thread
* [PATCH 03/10] Doc/stable rules: add new cherry-pick logic
2009-12-23 19:49 [GIT PATCH] driver core patches for 2.6.33-git Greg KH
2009-12-23 19:52 ` [PATCH 01/10] devtmpfs: Convert dirlock to a mutex Greg Kroah-Hartman
2009-12-23 19:52 ` [PATCH 02/10] vfs: get_sb_single() - do not pass options twice Greg Kroah-Hartman
@ 2009-12-23 19:52 ` Greg Kroah-Hartman
2009-12-23 19:52 ` [PATCH 04/10] Driver core: device_attribute parameters can often be const* Greg Kroah-Hartman
` (6 subsequent siblings)
9 siblings, 0 replies; 19+ messages in thread
From: Greg Kroah-Hartman @ 2009-12-23 19:52 UTC (permalink / raw)
To: linux-kernel
Cc: Sebastian Andrzej Siewior, Brandon Philips, Greg Kroah-Hartman
From: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
- it is possible to submit patches for the stable queue without sending
them directly stable@kernel.org. If the tag (Cc: stable@kernel.org) is
available in the sign-off area than hpa's script will filter them into
the stable mailbox once it hits Linus' tree.
- Patches which require others to be applied first can be also specified.
This was discussued in http://lkml.org/lkml/2009/11/9/474
Signed-off-by: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
Cc: Brandon Philips <brandon@ifup.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
Documentation/stable_kernel_rules.txt | 24 ++++++++++++++++++++++--
1 files changed, 22 insertions(+), 2 deletions(-)
diff --git a/Documentation/stable_kernel_rules.txt b/Documentation/stable_kernel_rules.txt
index a452227..5effa5b 100644
--- a/Documentation/stable_kernel_rules.txt
+++ b/Documentation/stable_kernel_rules.txt
@@ -26,13 +26,33 @@ Procedure for submitting patches to the -stable tree:
- Send the patch, after verifying that it follows the above rules, to
stable@kernel.org.
+ - To have the patch automatically included in the stable tree, add the
+ the tag
+ Cc: stable@kernel.org
+ in the sign-off area. Once the patch is merged it will be applied to
+ the stable tree without anything else needing to be done by the author
+ or subsystem maintainer.
+ - If the patch requires other patches as prerequisites which can be
+ cherry-picked than this can be specified in the following format in
+ the sign-off area:
+
+ Cc: <stable@kernel.org> # .32.x: a1f84a3: sched: Check for idle
+ Cc: <stable@kernel.org> # .32.x: 1b9508f: sched: Rate-limit newidle
+ Cc: <stable@kernel.org> # .32.x: fd21073: sched: Fix affinity logic
+ Cc: <stable@kernel.org> # .32.x
+ Signed-off-by: Ingo Molnar <mingo@elte.hu>
+
+ The tag sequence has the meaning of:
+ git cherry-pick a1f84a3
+ git cherry-pick 1b9508f
+ git cherry-pick fd21073
+ git cherry-pick <this commit>
+
- The sender will receive an ACK when the patch has been accepted into the
queue, or a NAK if the patch is rejected. This response might take a few
days, according to the developer's schedules.
- If accepted, the patch will be added to the -stable queue, for review by
other developers and by the relevant subsystem maintainer.
- - If the stable@kernel.org address is added to a patch, when it goes into
- Linus's tree it will automatically be emailed to the stable team.
- Security patches should not be sent to this alias, but instead to the
documented security@kernel.org address.
--
1.6.5.7
^ permalink raw reply [flat|nested] 19+ messages in thread
* [PATCH 04/10] Driver core: device_attribute parameters can often be const*
2009-12-23 19:49 [GIT PATCH] driver core patches for 2.6.33-git Greg KH
` (2 preceding siblings ...)
2009-12-23 19:52 ` [PATCH 03/10] Doc/stable rules: add new cherry-pick logic Greg Kroah-Hartman
@ 2009-12-23 19:52 ` Greg Kroah-Hartman
2009-12-23 19:52 ` [PATCH 05/10] Driver core: bin_attribute " Greg Kroah-Hartman
` (5 subsequent siblings)
9 siblings, 0 replies; 19+ messages in thread
From: Greg Kroah-Hartman @ 2009-12-23 19:52 UTC (permalink / raw)
To: linux-kernel; +Cc: Phil Carmody, Greg Kroah-Hartman
From: Phil Carmody <ext-phil.2.carmody@nokia.com>
Most device_attributes are const, and are begging to be
put in a ro section. However, the create and remove
file interfaces were failing to propagate the const promise
which the only functions they call offer.
Signed-off-by: Phil Carmody <ext-phil.2.carmody@nokia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
Documentation/filesystems/sysfs.txt | 8 ++++----
drivers/base/core.c | 6 ++++--
include/linux/device.h | 4 ++--
3 files changed, 10 insertions(+), 8 deletions(-)
diff --git a/Documentation/filesystems/sysfs.txt b/Documentation/filesystems/sysfs.txt
index b245d52..a4ac2b9 100644
--- a/Documentation/filesystems/sysfs.txt
+++ b/Documentation/filesystems/sysfs.txt
@@ -91,8 +91,8 @@ struct device_attribute {
const char *buf, size_t count);
};
-int device_create_file(struct device *, struct device_attribute *);
-void device_remove_file(struct device *, struct device_attribute *);
+int device_create_file(struct device *, const struct device_attribute *);
+void device_remove_file(struct device *, const struct device_attribute *);
It also defines this helper for defining device attributes:
@@ -316,8 +316,8 @@ DEVICE_ATTR(_name, _mode, _show, _store);
Creation/Removal:
-int device_create_file(struct device *device, struct device_attribute * attr);
-void device_remove_file(struct device * dev, struct device_attribute * attr);
+int device_create_file(struct device *dev, const struct device_attribute * attr);
+void device_remove_file(struct device *dev, const struct device_attribute * attr);
- bus drivers (include/linux/device.h)
diff --git a/drivers/base/core.c b/drivers/base/core.c
index f1290cb..2fd9e61 100644
--- a/drivers/base/core.c
+++ b/drivers/base/core.c
@@ -446,7 +446,8 @@ struct kset *devices_kset;
* @dev: device.
* @attr: device attribute descriptor.
*/
-int device_create_file(struct device *dev, struct device_attribute *attr)
+int device_create_file(struct device *dev,
+ const struct device_attribute *attr)
{
int error = 0;
if (dev)
@@ -459,7 +460,8 @@ int device_create_file(struct device *dev, struct device_attribute *attr)
* @dev: device.
* @attr: device attribute descriptor.
*/
-void device_remove_file(struct device *dev, struct device_attribute *attr)
+void device_remove_file(struct device *dev,
+ const struct device_attribute *attr)
{
if (dev)
sysfs_remove_file(&dev->kobj, &attr->attr);
diff --git a/include/linux/device.h b/include/linux/device.h
index 2a73d9b..aa5b3e6 100644
--- a/include/linux/device.h
+++ b/include/linux/device.h
@@ -319,9 +319,9 @@ struct device_attribute {
struct device_attribute dev_attr_##_name = __ATTR(_name, _mode, _show, _store)
extern int __must_check device_create_file(struct device *device,
- struct device_attribute *entry);
+ const struct device_attribute *entry);
extern void device_remove_file(struct device *dev,
- struct device_attribute *attr);
+ const struct device_attribute *attr);
extern int __must_check device_create_bin_file(struct device *dev,
struct bin_attribute *attr);
extern void device_remove_bin_file(struct device *dev,
--
1.6.5.7
^ permalink raw reply [flat|nested] 19+ messages in thread
* [PATCH 05/10] Driver core: bin_attribute parameters can often be const*
2009-12-23 19:49 [GIT PATCH] driver core patches for 2.6.33-git Greg KH
` (3 preceding siblings ...)
2009-12-23 19:52 ` [PATCH 04/10] Driver core: device_attribute parameters can often be const* Greg Kroah-Hartman
@ 2009-12-23 19:52 ` Greg Kroah-Hartman
2009-12-23 19:52 ` [PATCH 06/10] Driver core: driver_attribute " Greg Kroah-Hartman
` (4 subsequent siblings)
9 siblings, 0 replies; 19+ messages in thread
From: Greg Kroah-Hartman @ 2009-12-23 19:52 UTC (permalink / raw)
To: linux-kernel; +Cc: Phil Carmody, Greg Kroah-Hartman
From: Phil Carmody <ext-phil.2.carmody@nokia.com>
Many struct bin_attribute descriptors are purely read-only
structures, and there's no need to change them. Therefore
make the promise not to, which will let those descriptors
be put in a ro section.
Signed-off-by: Phil Carmody <ext-phil.2.carmody@nokia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
drivers/base/core.c | 6 ++++--
fs/sysfs/bin.c | 6 ++++--
include/linux/device.h | 6 +++---
include/linux/sysfs.h | 9 +++++----
4 files changed, 16 insertions(+), 11 deletions(-)
diff --git a/drivers/base/core.c b/drivers/base/core.c
index 2fd9e61..83afc8b 100644
--- a/drivers/base/core.c
+++ b/drivers/base/core.c
@@ -472,7 +472,8 @@ void device_remove_file(struct device *dev,
* @dev: device.
* @attr: device binary attribute descriptor.
*/
-int device_create_bin_file(struct device *dev, struct bin_attribute *attr)
+int device_create_bin_file(struct device *dev,
+ const struct bin_attribute *attr)
{
int error = -EINVAL;
if (dev)
@@ -486,7 +487,8 @@ EXPORT_SYMBOL_GPL(device_create_bin_file);
* @dev: device.
* @attr: device binary attribute descriptor.
*/
-void device_remove_bin_file(struct device *dev, struct bin_attribute *attr)
+void device_remove_bin_file(struct device *dev,
+ const struct bin_attribute *attr)
{
if (dev)
sysfs_remove_bin_file(&dev->kobj, attr);
diff --git a/fs/sysfs/bin.c b/fs/sysfs/bin.c
index 60c702b..a0a500a 100644
--- a/fs/sysfs/bin.c
+++ b/fs/sysfs/bin.c
@@ -483,7 +483,8 @@ void unmap_bin_file(struct sysfs_dirent *attr_sd)
* @attr: attribute descriptor.
*/
-int sysfs_create_bin_file(struct kobject * kobj, struct bin_attribute * attr)
+int sysfs_create_bin_file(struct kobject *kobj,
+ const struct bin_attribute *attr)
{
BUG_ON(!kobj || !kobj->sd || !attr);
@@ -497,7 +498,8 @@ int sysfs_create_bin_file(struct kobject * kobj, struct bin_attribute * attr)
* @attr: attribute descriptor.
*/
-void sysfs_remove_bin_file(struct kobject * kobj, struct bin_attribute * attr)
+void sysfs_remove_bin_file(struct kobject *kobj,
+ const struct bin_attribute *attr)
{
sysfs_hash_and_remove(kobj->sd, attr->attr.name);
}
diff --git a/include/linux/device.h b/include/linux/device.h
index aa5b3e6..10d74ce 100644
--- a/include/linux/device.h
+++ b/include/linux/device.h
@@ -319,13 +319,13 @@ struct device_attribute {
struct device_attribute dev_attr_##_name = __ATTR(_name, _mode, _show, _store)
extern int __must_check device_create_file(struct device *device,
- const struct device_attribute *entry);
+ const struct device_attribute *entry);
extern void device_remove_file(struct device *dev,
const struct device_attribute *attr);
extern int __must_check device_create_bin_file(struct device *dev,
- struct bin_attribute *attr);
+ const struct bin_attribute *attr);
extern void device_remove_bin_file(struct device *dev,
- struct bin_attribute *attr);
+ const struct bin_attribute *attr);
extern int device_schedule_callback_owner(struct device *dev,
void (*func)(struct device *dev), struct module *owner);
diff --git a/include/linux/sysfs.h b/include/linux/sysfs.h
index 9d68fed..cfa8308 100644
--- a/include/linux/sysfs.h
+++ b/include/linux/sysfs.h
@@ -99,8 +99,9 @@ int __must_check sysfs_chmod_file(struct kobject *kobj, struct attribute *attr,
void sysfs_remove_file(struct kobject *kobj, const struct attribute *attr);
int __must_check sysfs_create_bin_file(struct kobject *kobj,
- struct bin_attribute *attr);
-void sysfs_remove_bin_file(struct kobject *kobj, struct bin_attribute *attr);
+ const struct bin_attribute *attr);
+void sysfs_remove_bin_file(struct kobject *kobj,
+ const struct bin_attribute *attr);
int __must_check sysfs_create_link(struct kobject *kobj, struct kobject *target,
const char *name);
@@ -175,13 +176,13 @@ static inline void sysfs_remove_file(struct kobject *kobj,
}
static inline int sysfs_create_bin_file(struct kobject *kobj,
- struct bin_attribute *attr)
+ const struct bin_attribute *attr)
{
return 0;
}
static inline void sysfs_remove_bin_file(struct kobject *kobj,
- struct bin_attribute *attr)
+ const struct bin_attribute *attr)
{
}
--
1.6.5.7
^ permalink raw reply [flat|nested] 19+ messages in thread
* [PATCH 06/10] Driver core: driver_attribute parameters can often be const*
2009-12-23 19:49 [GIT PATCH] driver core patches for 2.6.33-git Greg KH
` (4 preceding siblings ...)
2009-12-23 19:52 ` [PATCH 05/10] Driver core: bin_attribute " Greg Kroah-Hartman
@ 2009-12-23 19:52 ` Greg Kroah-Hartman
2009-12-23 19:52 ` [PATCH 07/10] Driver-core: Fix bogus 0 error return in device_add() Greg Kroah-Hartman
` (3 subsequent siblings)
9 siblings, 0 replies; 19+ messages in thread
From: Greg Kroah-Hartman @ 2009-12-23 19:52 UTC (permalink / raw)
To: linux-kernel; +Cc: Phil Carmody, Greg Kroah-Hartman
From: Phil Carmody <ext-phil.2.carmody@nokia.com>
Many struct driver_attribute descriptors are purely read-only
structures, and there's no need to change them. Therefore make
the promise not to, which will let those descriptors be put in
a ro section.
Signed-off-by: Phil Carmody <ext-phil.2.carmody@nokia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
Documentation/driver-model/driver.txt | 4 ++--
Documentation/filesystems/sysfs.txt | 4 ++--
drivers/base/driver.c | 4 ++--
include/linux/device.h | 4 ++--
4 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/Documentation/driver-model/driver.txt b/Documentation/driver-model/driver.txt
index 60120fb..d2cd6fb 100644
--- a/Documentation/driver-model/driver.txt
+++ b/Documentation/driver-model/driver.txt
@@ -226,5 +226,5 @@ struct driver_attribute driver_attr_debug;
This can then be used to add and remove the attribute from the
driver's directory using:
-int driver_create_file(struct device_driver *, struct driver_attribute *);
-void driver_remove_file(struct device_driver *, struct driver_attribute *);
+int driver_create_file(struct device_driver *, const struct driver_attribute *);
+void driver_remove_file(struct device_driver *, const struct driver_attribute *);
diff --git a/Documentation/filesystems/sysfs.txt b/Documentation/filesystems/sysfs.txt
index a4ac2b9..931c806 100644
--- a/Documentation/filesystems/sysfs.txt
+++ b/Documentation/filesystems/sysfs.txt
@@ -358,7 +358,7 @@ DRIVER_ATTR(_name, _mode, _show, _store)
Creation/Removal:
-int driver_create_file(struct device_driver *, struct driver_attribute *);
-void driver_remove_file(struct device_driver *, struct driver_attribute *);
+int driver_create_file(struct device_driver *, const struct driver_attribute *);
+void driver_remove_file(struct device_driver *, const struct driver_attribute *);
diff --git a/drivers/base/driver.c b/drivers/base/driver.c
index f367885..90c9fff 100644
--- a/drivers/base/driver.c
+++ b/drivers/base/driver.c
@@ -98,7 +98,7 @@ EXPORT_SYMBOL_GPL(driver_find_device);
* @attr: driver attribute descriptor.
*/
int driver_create_file(struct device_driver *drv,
- struct driver_attribute *attr)
+ const struct driver_attribute *attr)
{
int error;
if (drv)
@@ -115,7 +115,7 @@ EXPORT_SYMBOL_GPL(driver_create_file);
* @attr: driver attribute descriptor.
*/
void driver_remove_file(struct device_driver *drv,
- struct driver_attribute *attr)
+ const struct driver_attribute *attr)
{
if (drv)
sysfs_remove_file(&drv->p->kobj, &attr->attr);
diff --git a/include/linux/device.h b/include/linux/device.h
index 10d74ce..a62799f 100644
--- a/include/linux/device.h
+++ b/include/linux/device.h
@@ -166,9 +166,9 @@ struct driver_attribute driver_attr_##_name = \
__ATTR(_name, _mode, _show, _store)
extern int __must_check driver_create_file(struct device_driver *driver,
- struct driver_attribute *attr);
+ const struct driver_attribute *attr);
extern void driver_remove_file(struct device_driver *driver,
- struct driver_attribute *attr);
+ const struct driver_attribute *attr);
extern int __must_check driver_add_kobj(struct device_driver *drv,
struct kobject *kobj,
--
1.6.5.7
^ permalink raw reply [flat|nested] 19+ messages in thread
* [PATCH 07/10] Driver-core: Fix bogus 0 error return in device_add()
2009-12-23 19:49 [GIT PATCH] driver core patches for 2.6.33-git Greg KH
` (5 preceding siblings ...)
2009-12-23 19:52 ` [PATCH 06/10] Driver core: driver_attribute " Greg Kroah-Hartman
@ 2009-12-23 19:52 ` Greg Kroah-Hartman
2009-12-23 19:52 ` [PATCH 08/10] driver core: Prevent reference to freed memory on error path Greg Kroah-Hartman
` (2 subsequent siblings)
9 siblings, 0 replies; 19+ messages in thread
From: Greg Kroah-Hartman @ 2009-12-23 19:52 UTC (permalink / raw)
To: linux-kernel
Cc: Thomas Gleixner, Kay Sievers, Hans J. Koch, Greg Kroah-Hartman
From: Thomas Gleixner <tglx@linutronix.de>
If device_add() is called with a device which does not have dev->p set
up, then device_private_init() is called. If that succeeds, then the
error variable is set to 0. Now if the dev_name(dev) check further
down fails, then device_add() correctly terminates, but returns 0.
That of course lets the driver progress. If later another driver uses
this half set up device as parent then device_add() of the child
device explodes and renders sysfs completely unusable.
Set the error to -EINVAL if dev_name() check fails.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Kay Sievers <kay.sievers@vrfy.org>
Cc: "Hans J. Koch" <hjk@linutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
drivers/base/core.c | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/drivers/base/core.c b/drivers/base/core.c
index 83afc8b..2820257 100644
--- a/drivers/base/core.c
+++ b/drivers/base/core.c
@@ -909,8 +909,10 @@ int device_add(struct device *dev)
dev->init_name = NULL;
}
- if (!dev_name(dev))
+ if (!dev_name(dev)) {
+ error = -EINVAL;
goto name_error;
+ }
pr_debug("device: '%s': %s\n", dev_name(dev), __func__);
--
1.6.5.7
^ permalink raw reply [flat|nested] 19+ messages in thread
* [PATCH 08/10] driver core: Prevent reference to freed memory on error path
2009-12-23 19:49 [GIT PATCH] driver core patches for 2.6.33-git Greg KH
` (6 preceding siblings ...)
2009-12-23 19:52 ` [PATCH 07/10] Driver-core: Fix bogus 0 error return in device_add() Greg Kroah-Hartman
@ 2009-12-23 19:52 ` Greg Kroah-Hartman
2009-12-23 19:52 ` [PATCH 09/10] Driver core: export platform_device_register_data as a GPL symbol Greg Kroah-Hartman
2009-12-23 19:52 ` [PATCH 10/10] devtmpfs: unlock mutex in case of string allocation error Greg Kroah-Hartman
9 siblings, 0 replies; 19+ messages in thread
From: Greg Kroah-Hartman @ 2009-12-23 19:52 UTC (permalink / raw)
To: linux-kernel; +Cc: Phil Carmody, Greg Kroah-Hartman
From: Phil Carmody <ext-phil.2.carmody@nokia.com>
priv is drv->p. So only free drv->p after we've finished using priv.
Found using a static code analysis tool
Signed-off-by: Phil Carmody <ext-phil.2.carmody@nokia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
drivers/base/bus.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/base/bus.c b/drivers/base/bus.c
index 63c143e..c0c5a43 100644
--- a/drivers/base/bus.c
+++ b/drivers/base/bus.c
@@ -703,9 +703,9 @@ int bus_add_driver(struct device_driver *drv)
return 0;
out_unregister:
+ kobject_put(&priv->kobj);
kfree(drv->p);
drv->p = NULL;
- kobject_put(&priv->kobj);
out_put_bus:
bus_put(bus);
return error;
--
1.6.5.7
^ permalink raw reply [flat|nested] 19+ messages in thread
* [PATCH 09/10] Driver core: export platform_device_register_data as a GPL symbol
2009-12-23 19:49 [GIT PATCH] driver core patches for 2.6.33-git Greg KH
` (7 preceding siblings ...)
2009-12-23 19:52 ` [PATCH 08/10] driver core: Prevent reference to freed memory on error path Greg Kroah-Hartman
@ 2009-12-23 19:52 ` Greg Kroah-Hartman
2009-12-23 19:52 ` [PATCH 10/10] devtmpfs: unlock mutex in case of string allocation error Greg Kroah-Hartman
9 siblings, 0 replies; 19+ messages in thread
From: Greg Kroah-Hartman @ 2009-12-23 19:52 UTC (permalink / raw)
To: linux-kernel; +Cc: Michael Hennerich, Mike Frysinger, Greg Kroah-Hartman
From: Michael Hennerich <michael.hennerich@analog.com>
This allows MFD's to register/bind drivers for their sub devices while
still being compiled as a module.
Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
drivers/base/platform.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/drivers/base/platform.c b/drivers/base/platform.c
index 9d2ee25..58efaf2 100644
--- a/drivers/base/platform.c
+++ b/drivers/base/platform.c
@@ -441,6 +441,7 @@ error:
platform_device_put(pdev);
return ERR_PTR(retval);
}
+EXPORT_SYMBOL_GPL(platform_device_register_data);
static int platform_drv_probe(struct device *_dev)
{
--
1.6.5.7
^ permalink raw reply [flat|nested] 19+ messages in thread
* [PATCH 10/10] devtmpfs: unlock mutex in case of string allocation error
2009-12-23 19:49 [GIT PATCH] driver core patches for 2.6.33-git Greg KH
` (8 preceding siblings ...)
2009-12-23 19:52 ` [PATCH 09/10] Driver core: export platform_device_register_data as a GPL symbol Greg Kroah-Hartman
@ 2009-12-23 19:52 ` Greg Kroah-Hartman
9 siblings, 0 replies; 19+ messages in thread
From: Greg Kroah-Hartman @ 2009-12-23 19:52 UTC (permalink / raw)
To: linux-kernel; +Cc: Kay Sievers, Greg Kroah-Hartman
From: Kay Sievers <kay.sievers@vrfy.org>
Reported-by: Kirill A. Shutemov <kirill@shutemov.name>
Signed-off-by: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
drivers/base/devtmpfs.c | 7 +++++--
1 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/drivers/base/devtmpfs.c b/drivers/base/devtmpfs.c
index 278371c..090dd48 100644
--- a/drivers/base/devtmpfs.c
+++ b/drivers/base/devtmpfs.c
@@ -101,8 +101,10 @@ static int create_path(const char *nodepath)
/* parent directories do not exist, create them */
path = kstrdup(nodepath, GFP_KERNEL);
- if (!path)
- return -ENOMEM;
+ if (!path) {
+ err = -ENOMEM;
+ goto out;
+ }
s = path;
for (;;) {
s = strchr(s, '/');
@@ -117,6 +119,7 @@ static int create_path(const char *nodepath)
}
kfree(path);
}
+out:
mutex_unlock(&dirlock);
return err;
}
--
1.6.5.7
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH 02/10] vfs: get_sb_single() - do not pass options twice
2009-12-23 19:52 ` [PATCH 02/10] vfs: get_sb_single() - do not pass options twice Greg Kroah-Hartman
@ 2009-12-27 12:36 ` OGAWA Hirofumi
2009-12-30 18:05 ` Kay Sievers
0 siblings, 1 reply; 19+ messages in thread
From: OGAWA Hirofumi @ 2009-12-27 12:36 UTC (permalink / raw)
To: Greg Kroah-Hartman; +Cc: linux-kernel, Kay Sievers, Miklos Szeredi
Hi,
Greg Kroah-Hartman <gregkh@suse.de> writes:
> From: Kay Sievers <kay.sievers@vrfy.org>
>
> Filesystem code usually destroys the option buffer while
> parsing it. This leads to errors when the same buffer is
> passed twice. In case we fill a new superblock do not call
> remount.
>
> This is needed to quite a warning that the debugfs code
> causes every boot.
>
> Cc: Miklos Szeredi <miklos@szeredi.hu>
> Signed-off-by: Kay Sievers <kay.sievers@vrfy.org>
> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
> ---
> fs/super.c | 3 ++-
> 1 files changed, 2 insertions(+), 1 deletions(-)
>
> diff --git a/fs/super.c b/fs/super.c
> index 19eb70b..aff046b 100644
> --- a/fs/super.c
> +++ b/fs/super.c
> @@ -901,8 +901,9 @@ int get_sb_single(struct file_system_type *fs_type,
> return error;
> }
> s->s_flags |= MS_ACTIVE;
> + } else {
> + do_remount_sb(s, flags, data, 0);
> }
> - do_remount_sb(s, flags, data, 0);
> simple_set_mnt(mnt, s);
> return 0;
> }
This breaks the historical behavior. Several users of get_sb_single() is
parse data only on ->remount_fs. Well, ok, I like new behavior actually.
But we need to convert to new behavior such users.
I've listed all possibly affected users up (if I'm not missing). This
means, using both data on ->fill_super and ->remount_fs is devtmpfs
only. And capifs, usbfs, devpts would be needed the patch.
arch/powerpc/platforms/cell/spufs/inode.c
->fill_super
arch/s390/hypfs/inode.c
->fill_super
drivers/isdn/capi/capifs.c
->remount_fs
drivers/base/devtmpfs.c
->fill_super
->remount_fs
drivers/usb/core/inode.c
->remount_fs
fs/devpts/inode.c
->remount_fs
Currently, I'm working on other bugs, so I just attached quick fix for
regression.
--
OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
---
fs/super.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff -puN fs/super.c~get_sb_single-fix fs/super.c
--- linux-2.6/fs/super.c~get_sb_single-fix 2009-12-27 20:48:07.000000000 +0900
+++ linux-2.6-hirofumi/fs/super.c 2009-12-27 20:48:29.000000000 +0900
@@ -912,9 +912,8 @@ int get_sb_single(struct file_system_typ
return error;
}
s->s_flags |= MS_ACTIVE;
- } else {
- do_remount_sb(s, flags, data, 0);
}
+ do_remount_sb(s, flags, data, 0);
simple_set_mnt(mnt, s);
return 0;
}
_
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH 02/10] vfs: get_sb_single() - do not pass options twice
2009-12-27 12:36 ` OGAWA Hirofumi
@ 2009-12-30 18:05 ` Kay Sievers
2009-12-30 19:30 ` OGAWA Hirofumi
0 siblings, 1 reply; 19+ messages in thread
From: Kay Sievers @ 2009-12-30 18:05 UTC (permalink / raw)
To: OGAWA Hirofumi; +Cc: Greg Kroah-Hartman, linux-kernel, Miklos Szeredi
On Sun, Dec 27, 2009 at 13:36, OGAWA Hirofumi
<hirofumi@mail.parknet.co.jp> wrote:
>> Filesystem code usually destroys the option buffer while
>> parsing it. This leads to errors when the same buffer is
>> passed twice. In case we fill a new superblock do not call
>> remount.
> This breaks the historical behavior. Several users of get_sb_single() is
> parse data only on ->remount_fs. Well, ok, I like new behavior actually.
> But we need to convert to new behavior such users.
>
> I've listed all possibly affected users up (if I'm not missing). This
> means, using both data on ->fill_super and ->remount_fs is devtmpfs
> only. And capifs, usbfs, devpts would be needed the patch.
Hmm, these filesystem are probably not going to overwrite their own
default options with their own special parameters to parse when they
allocate their superblock. That would be pretty weird, wouldn't it?
Seems they currently don't even pass "data" pointer around at that
time.
It's a bit different with tmpfs as we use it as a generic backend for
a special purpose filesystem.
What's the issue you are seeing, or have in mind?
Thanks,
Kay
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH 02/10] vfs: get_sb_single() - do not pass options twice
2009-12-30 18:05 ` Kay Sievers
@ 2009-12-30 19:30 ` OGAWA Hirofumi
0 siblings, 0 replies; 19+ messages in thread
From: OGAWA Hirofumi @ 2009-12-30 19:30 UTC (permalink / raw)
To: Kay Sievers; +Cc: Greg Kroah-Hartman, linux-kernel, Miklos Szeredi
Kay Sievers <kay.sievers@vrfy.org> writes:
> On Sun, Dec 27, 2009 at 13:36, OGAWA Hirofumi
> <hirofumi@mail.parknet.co.jp> wrote:
>>> Filesystem code usually destroys the option buffer while
>>> parsing it. This leads to errors when the same buffer is
>>> passed twice. In case we fill a new superblock do not call
>>> remount.
>
>> This breaks the historical behavior. Several users of get_sb_single() is
>> parse data only on ->remount_fs. Well, ok, I like new behavior actually.
>> But we need to convert to new behavior such users.
>>
>> I've listed all possibly affected users up (if I'm not missing). This
>> means, using both data on ->fill_super and ->remount_fs is devtmpfs
>> only. And capifs, usbfs, devpts would be needed the patch.
>
> Hmm, these filesystem are probably not going to overwrite their own
> default options with their own special parameters to parse when they
> allocate their superblock. That would be pretty weird, wouldn't it?
> Seems they currently don't even pass "data" pointer around at that
> time.
Oops, I was missing that those all fs was using kern_mount(). Sorry for
noise.
--
OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [GIT PATCH] driver core patches for 2.6.33-git
2010-03-08 17:28 ` Linus Torvalds
@ 2010-03-08 17:33 ` Greg KH
0 siblings, 0 replies; 19+ messages in thread
From: Greg KH @ 2010-03-08 17:33 UTC (permalink / raw)
To: Linus Torvalds; +Cc: Andrew Morton, linux-kernel
On Mon, Mar 08, 2010 at 09:28:09AM -0800, Linus Torvalds wrote:
>
>
> On Mon, 8 Mar 2010, Greg KH wrote:
> >
> > Please pull from:
> > master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-core-2.6.git/
>
> Forgot to push out?
Crap, yes, I did. It's there now.
thanks,
greg k-h
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [GIT PATCH] driver core patches for 2.6.33-git
2010-03-08 14:12 ` Greg KH
@ 2010-03-08 17:28 ` Linus Torvalds
2010-03-08 17:33 ` Greg KH
0 siblings, 1 reply; 19+ messages in thread
From: Linus Torvalds @ 2010-03-08 17:28 UTC (permalink / raw)
To: Greg KH; +Cc: Andrew Morton, linux-kernel
On Mon, 8 Mar 2010, Greg KH wrote:
>
> Please pull from:
> master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-core-2.6.git/
Forgot to push out?
Linus
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [GIT PATCH] driver core patches for 2.6.33-git
2010-03-02 23:09 [GIT PATCH] driver core patches for 2.6.33-git Greg KH
@ 2010-03-08 14:12 ` Greg KH
2010-03-08 17:28 ` Linus Torvalds
0 siblings, 1 reply; 19+ messages in thread
From: Greg KH @ 2010-03-08 14:12 UTC (permalink / raw)
To: Linus Torvalds, Andrew Morton, linux-kernel
On Tue, Mar 02, 2010 at 03:09:33PM -0800, Greg KH wrote:
> Here is the big driver core patchset for the 2.6.34 merge window.
>
> The msi-laptop driver also got updates through this patch series, at the
> blessing of the maintainer of that driver.
>
> Please pull from:
> master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-core-2.6.git/
>
> All of these patches have been in the linux-next and mm trees for a
> while.
>
> The patches will be sent as a follow-on to this message to lkml for
> people to see.
I've now updated this series, fixing the 'default y' option for the
DEVTMPFS config options, and respun it on top of your tree as of a few
days ago.
Please pull from:
master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-core-2.6.git/
The updated diffstat and shortlog is below.
thanks,
greg k-h
---------
Documentation/HOWTO | 113 +++------
Documentation/kobject.txt | 2 +-
arch/arm/mach-pxa/corgi_ssp.c | 2 +-
arch/arm/mach-pxa/sharpsl_pm.c | 2 +-
arch/arm/mach-s3c2410/h1940-bluetooth.c | 2 +-
arch/arm/mach-sa1100/jornada720_ssp.c | 2 +-
arch/ia64/kernel/topology.c | 2 +-
arch/mips/txx9/generic/7segled.c | 5 +-
arch/powerpc/kernel/cacheinfo.c | 2 +-
arch/s390/kernel/smp.c | 12 +-
arch/s390/kernel/time.c | 49 +++-
arch/sh/kernel/cpu/sh4/sq.c | 2 +-
arch/x86/kernel/cpu/intel_cacheinfo.c | 2 +-
arch/x86/kernel/cpu/mcheck/mce.c | 1 +
arch/x86/kernel/cpu/mcheck/mce_amd.c | 2 +-
block/blk-integrity.c | 2 +-
block/blk-sysfs.c | 2 +-
block/elevator.c | 2 +-
drivers/acpi/system.c | 2 +
drivers/auxdisplay/cfag12864bfb.c | 2 +-
drivers/base/Kconfig | 51 +++--
drivers/base/bus.c | 26 +-
drivers/base/class.c | 16 +-
drivers/base/core.c | 46 ++--
drivers/base/cpu.c | 105 ++++-----
drivers/base/dd.c | 38 ++--
drivers/base/devtmpfs.c | 13 +
drivers/base/firmware_class.c | 11 +-
drivers/base/memory.c | 20 +-
drivers/base/node.c | 81 +++----
drivers/base/platform.c | 76 ++++++-
drivers/base/power/main.c | 20 +-
drivers/base/sys.c | 17 +-
drivers/block/osdblk.c | 12 +-
drivers/block/pktcdvd.c | 14 +-
drivers/cpufreq/cpufreq.c | 2 +-
drivers/cpuidle/sysfs.c | 8 +-
drivers/dma/ioat/dma.c | 2 +-
drivers/dma/ioat/dma.h | 2 +-
drivers/edac/edac_device_sysfs.c | 6 +-
drivers/edac/edac_mc_sysfs.c | 4 +-
drivers/edac/edac_pci_sysfs.c | 4 +-
drivers/firewire/core-device.c | 5 +-
drivers/firmware/edd.c | 2 +-
drivers/firmware/efivars.c | 2 +-
drivers/firmware/iscsi_ibft.c | 2 +-
drivers/firmware/memmap.c | 2 +-
drivers/gpio/gpiolib.c | 8 +-
drivers/gpu/drm/drm_sysfs.c | 18 +-
drivers/gpu/drm/ttm/ttm_bo.c | 2 +-
drivers/gpu/drm/ttm/ttm_memory.c | 2 +-
drivers/i2c/busses/i2c-omap.c | 2 +-
drivers/ieee1394/nodemgr.c | 5 +-
drivers/infiniband/core/cm.c | 2 +-
drivers/infiniband/core/sysfs.c | 2 +-
drivers/infiniband/core/ucm.c | 13 +-
drivers/infiniband/core/user_mad.c | 9 +-
drivers/infiniband/core/uverbs_main.c | 9 +-
drivers/macintosh/windfarm_core.c | 1 +
drivers/macintosh/windfarm_smu_controls.c | 1 +
drivers/md/dm-sysfs.c | 2 +-
drivers/md/md.c | 4 +-
drivers/media/video/omap24xxcam.c | 2 +-
drivers/misc/phantom.c | 13 +-
drivers/mtd/ubi/build.c | 3 +-
drivers/net/bonding/bond_sysfs.c | 5 +-
drivers/net/ibmveth.c | 2 +-
drivers/net/iseries_veth.c | 4 +-
drivers/parisc/pdc_stable.c | 2 +-
drivers/pci/bus.c | 4 +-
drivers/pci/hotplug/fakephp.c | 2 +-
drivers/pci/pci-sysfs.c | 5 +
drivers/pci/pci.c | 4 +-
drivers/pci/slot.c | 2 +-
drivers/pcmcia/ds.c | 8 +-
drivers/platform/x86/Kconfig | 1 +
drivers/platform/x86/hp-wmi.c | 4 +-
drivers/platform/x86/msi-laptop.c | 360 ++++++++++++++++++++++++++++-
drivers/scsi/sgiwd93.c | 2 +-
drivers/scsi/sni_53c710.c | 2 +-
drivers/staging/asus_oled/asus_oled.c | 13 +-
drivers/uio/Kconfig | 24 +-
drivers/uio/Makefile | 2 +-
drivers/uio/uio.c | 4 +-
drivers/uio/uio_netx.c | 172 ++++++++++++++
drivers/uio/uio_smx.c | 140 -----------
drivers/usb/core/driver.c | 4 +-
drivers/uwb/driver.c | 5 +-
drivers/uwb/umc-bus.c | 4 +-
drivers/uwb/uwb-internal.h | 4 +-
drivers/uwb/wlp/sysfs.c | 3 +-
drivers/video/acornfb.c | 2 +-
drivers/video/arcfb.c | 2 +-
drivers/video/cobalt_lcdfb.c | 2 +-
drivers/video/efifb.c | 2 +-
drivers/video/epson1355fb.c | 2 +-
drivers/video/gbefb.c | 2 +-
drivers/video/hgafb.c | 2 +-
drivers/video/hitfb.c | 2 +-
drivers/video/omap2/dss/manager.c | 2 +-
drivers/video/omap2/dss/overlay.c | 2 +-
drivers/video/q40fb.c | 2 +-
drivers/video/s3c2410fb.c | 4 +-
drivers/video/sa1100fb.c | 2 +-
drivers/video/sgivwfb.c | 2 +-
drivers/video/sh_mobile_lcdcfb.c | 2 +-
drivers/video/vesafb.c | 2 +-
drivers/video/vfb.c | 2 +-
drivers/video/vga16fb.c | 2 +-
drivers/video/w100fb.c | 2 +-
drivers/w1/masters/omap_hdq.c | 4 +-
drivers/xen/sys-hypervisor.c | 2 +-
fs/btrfs/sysfs.c | 4 +-
fs/dlm/lockspace.c | 2 +-
fs/ext4/super.c | 2 +-
fs/gfs2/sys.c | 4 +-
fs/ocfs2/cluster/masklog.c | 2 +-
fs/sysfs/bin.c | 50 ++--
fs/sysfs/dir.c | 132 ++++++-----
fs/sysfs/file.c | 47 +++-
fs/sysfs/inode.c | 13 +-
fs/sysfs/mount.c | 4 +-
fs/sysfs/symlink.c | 38 +++
fs/sysfs/sysfs.h | 17 +-
include/linux/device.h | 40 +++-
include/linux/kobject.h | 14 +-
include/linux/platform_device.h | 9 +-
include/linux/sysdev.h | 21 ++-
include/linux/sysfs.h | 61 +++++
include/linux/usb.h | 6 +-
kernel/module.c | 3 +
kernel/params.c | 5 +-
kernel/perf_event.c | 13 +-
kernel/sched.c | 4 +
lib/kobject.c | 6 +-
lib/kobject_uevent.c | 2 +-
mm/slub.c | 4 +-
net/bluetooth/l2cap.c | 4 +-
net/bluetooth/rfcomm/core.c | 4 +-
net/bluetooth/rfcomm/sock.c | 4 +-
net/bluetooth/sco.c | 4 +-
net/bridge/br_private.h | 2 +-
net/bridge/br_sysfs_if.c | 2 +-
samples/kobject/kobject-example.c | 4 +-
samples/kobject/kset-example.c | 6 +-
145 files changed, 1463 insertions(+), 793 deletions(-)
create mode 100644 drivers/uio/uio_netx.c
delete mode 100644 drivers/uio/uio_smx.c
---------------
Andi Kleen (12):
sysdev: Pass attribute in sysdev_class attributes show/store
sysdev: Convert node driver class attributes to be data driven
sysdev: Convert cpu driver sysdev class attributes
sysfs: Add sysfs_add/remove_files utility functions
sysfs: Add attribute array to sysdev classes
sysdev: Convert node driver
sysdev: Use sysdev_class attribute arrays in node driver
sysdev: Add sysdev_create/remove_files
sysdev: Fix type of sysdev class attribute in memory driver
driver-core: Add attribute argument to class_attribute show/store
driver core: Add class_attr_string for simple read-only string
driver core: Convert some drivers to CLASS_ATTR_STRING
Ben Hutchings (1):
Driver core: Fix first line of kernel-doc for a few functions
Dmitry Torokhov (1):
Driver core: add platform_create_bundle() helper
Emese Revfy (2):
kobject: Constify struct kset_uevent_ops
Driver core: Constify struct sysfs_ops in struct kobj_type
Eric Miao (1):
driver core: make platform_device_id table const
Eric W. Biederman (13):
sysfs: Cache the last sysfs_dirent to improve readdir scalability v2
sysfs: Remove sysfs_get/put_active_two
sysfs: Only take active references on attributes.
sysfs: Use one lockdep class per sysfs attribute.
sysfs: Use sysfs_attr_init and sysfs_bin_attr_init on dynamic attributes
sysfs: Document sysfs_attr_init and sysfs_bin_attr_init
sysfs: Use sysfs_attr_init and sysfs_bin_attr_init on module dynamic attributes
sysfs: Serialize updates to the vfs inode
sysfs: Pack sysfs_dirent more tightly.
sysfs: Implement sysfs_rename_link
driver core: Use sysfs_rename_link in device_rename
sysfs: Pass super_block to sysfs_get_inode
sysfs: Kill unused sysfs_sb variable.
Greg Kroah-Hartman (2):
sysdev: fix up the probe/release attributes
Driver core: create lock/unlock functions for struct device
Hans J. Koch (2):
UIO: Add a driver for Hilscher netX-based fieldbus cards
UIO: Remove SMX Cryptengine driver
Heiko Carstens (1):
sysdev: fix missing s390 conversion
Johannes Berg (1):
sysfs: windfarm: init sysfs attributes
John Ogness (1):
UIO: minor Kconfig fixes
Kay Sievers (4):
Driver-Core: devtmpfs - reset inode permissions before unlinking
Driver-Core: devtmpfs - remove EXPERIMENTAL and flush out the description
Driver-Core: disable /sbin/hotplug by default
Driver-Core: require valid action string in uevent trigger
Lee, Chun-Yi (5):
msi-laptop: Support standard ec 66/62 command on MSI notebook and nebook
msi-laptop: Add threeg sysfs file for support query 3G state by standard 66/62 ec command
msi-laptop: Support some MSI 3G netbook that is need load SCM
msi-laptop: Add resume method for set the SCM load again
msi-laptop: Detect 3G device exists by standard ec command
Luis R. Rodriguez (1):
driver-core: firmware_class: remove base.h header inclusion
Radu Voicilas (2):
kobject-example: Spelling fixes.
kset-example: Spelling fixes.
Randy Dunlap (1):
msi-laptop: depends on RFKILL
Stefan Richter (1):
HOWTO: Updates on subsystem trees, patchwork, -next (vs. -mm)
Stephen Rothwell (1):
sysfs: fix for thinko with sysfs_bin_attr_init()
Tejun Heo (1):
driver-core: fix race condition in get_device_parent()
Uwe Kleine-König (9):
Driver core: make struct platform_driver.id_table const
platform-drivers: move probe to .devinit.text in arch/arm
platform-drivers: move probe to .devinit.text in drivers/scsi
platform-drivers: move probe to .devinit.text in drivers/video
x86: move hp-wmi's probe function to .devinit.text
i2c: move i2c_omap's probe function to .devinit.text
w1: move omap_hdq's probe function to .devinit.text
media: move omap24xxcam's probe function to .devinit.text
auxdisplay: move cfag12864bfb's probe function to .devinit.text
^ permalink raw reply [flat|nested] 19+ messages in thread
* [GIT PATCH] driver core patches for 2.6.33-git
@ 2010-03-02 23:09 Greg KH
2010-03-08 14:12 ` Greg KH
0 siblings, 1 reply; 19+ messages in thread
From: Greg KH @ 2010-03-02 23:09 UTC (permalink / raw)
To: Linus Torvalds, Andrew Morton; +Cc: linux-kernel
Here is the big driver core patchset for the 2.6.34 merge window.
The msi-laptop driver also got updates through this patch series, at the
blessing of the maintainer of that driver.
Please pull from:
master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-core-2.6.git/
All of these patches have been in the linux-next and mm trees for a
while.
The patches will be sent as a follow-on to this message to lkml for
people to see.
thanks,
greg k-h
------------
Documentation/HOWTO | 113 +++------
Documentation/kobject.txt | 2 +-
arch/arm/mach-pxa/corgi_ssp.c | 2 +-
arch/arm/mach-pxa/sharpsl_pm.c | 2 +-
arch/arm/mach-s3c2410/h1940-bluetooth.c | 2 +-
arch/arm/mach-sa1100/jornada720_ssp.c | 2 +-
arch/ia64/kernel/topology.c | 2 +-
arch/mips/txx9/generic/7segled.c | 5 +-
arch/powerpc/kernel/cacheinfo.c | 2 +-
arch/s390/kernel/smp.c | 12 +-
arch/s390/kernel/time.c | 49 +++-
arch/sh/kernel/cpu/sh4/sq.c | 2 +-
arch/x86/kernel/cpu/intel_cacheinfo.c | 2 +-
arch/x86/kernel/cpu/mcheck/mce.c | 1 +
arch/x86/kernel/cpu/mcheck/mce_amd.c | 2 +-
block/blk-integrity.c | 2 +-
block/blk-sysfs.c | 2 +-
block/elevator.c | 2 +-
drivers/acpi/system.c | 2 +
drivers/auxdisplay/cfag12864bfb.c | 2 +-
drivers/base/Kconfig | 55 +++--
drivers/base/bus.c | 26 +-
drivers/base/class.c | 16 +-
drivers/base/core.c | 33 +--
drivers/base/cpu.c | 105 ++++-----
drivers/base/dd.c | 38 ++--
drivers/base/devtmpfs.c | 13 +
drivers/base/firmware_class.c | 11 +-
drivers/base/memory.c | 20 +-
drivers/base/node.c | 81 +++----
drivers/base/platform.c | 76 ++++++-
drivers/base/power/main.c | 20 +-
drivers/base/sys.c | 17 +-
drivers/block/osdblk.c | 12 +-
drivers/block/pktcdvd.c | 14 +-
drivers/cpufreq/cpufreq.c | 2 +-
drivers/cpuidle/sysfs.c | 8 +-
drivers/dma/ioat/dma.c | 2 +-
drivers/dma/ioat/dma.h | 2 +-
drivers/edac/edac_device_sysfs.c | 6 +-
drivers/edac/edac_mc_sysfs.c | 4 +-
drivers/edac/edac_pci_sysfs.c | 4 +-
drivers/firewire/core-device.c | 5 +-
drivers/firmware/edd.c | 2 +-
drivers/firmware/efivars.c | 2 +-
drivers/firmware/iscsi_ibft.c | 2 +-
drivers/firmware/memmap.c | 2 +-
drivers/gpio/gpiolib.c | 8 +-
drivers/gpu/drm/drm_sysfs.c | 18 +-
drivers/gpu/drm/ttm/ttm_bo.c | 2 +-
drivers/gpu/drm/ttm/ttm_memory.c | 2 +-
drivers/i2c/busses/i2c-omap.c | 2 +-
drivers/ieee1394/nodemgr.c | 5 +-
drivers/infiniband/core/cm.c | 2 +-
drivers/infiniband/core/sysfs.c | 2 +-
drivers/infiniband/core/ucm.c | 13 +-
drivers/infiniband/core/user_mad.c | 9 +-
drivers/infiniband/core/uverbs_main.c | 9 +-
drivers/macintosh/windfarm_core.c | 1 +
drivers/macintosh/windfarm_smu_controls.c | 1 +
drivers/md/dm-sysfs.c | 2 +-
drivers/md/md.c | 4 +-
drivers/media/video/omap24xxcam.c | 2 +-
drivers/misc/phantom.c | 13 +-
drivers/mtd/ubi/build.c | 3 +-
drivers/net/arm/am79c961a.c | 2 +-
drivers/net/bonding/bond_sysfs.c | 5 +-
drivers/net/ibmveth.c | 2 +-
drivers/net/iseries_veth.c | 4 +-
drivers/parisc/pdc_stable.c | 2 +-
drivers/pci/bus.c | 4 +-
drivers/pci/hotplug/fakephp.c | 2 +-
drivers/pci/pci-sysfs.c | 5 +
drivers/pci/pci.c | 4 +-
drivers/pci/slot.c | 2 +-
drivers/pcmcia/ds.c | 8 +-
drivers/platform/x86/Kconfig | 1 +
drivers/platform/x86/hp-wmi.c | 4 +-
drivers/platform/x86/msi-laptop.c | 360 ++++++++++++++++++++++++++++-
drivers/scsi/sgiwd93.c | 2 +-
drivers/scsi/sni_53c710.c | 2 +-
drivers/staging/asus_oled/asus_oled.c | 13 +-
drivers/uio/Kconfig | 24 +-
drivers/uio/Makefile | 2 +-
drivers/uio/uio.c | 4 +-
drivers/uio/uio_netx.c | 172 ++++++++++++++
drivers/uio/uio_smx.c | 140 -----------
drivers/usb/core/driver.c | 4 +-
drivers/uwb/driver.c | 5 +-
drivers/uwb/umc-bus.c | 4 +-
drivers/uwb/uwb-internal.h | 4 +-
drivers/uwb/wlp/sysfs.c | 3 +-
drivers/video/acornfb.c | 2 +-
drivers/video/arcfb.c | 2 +-
drivers/video/cobalt_lcdfb.c | 2 +-
drivers/video/efifb.c | 2 +-
drivers/video/epson1355fb.c | 2 +-
drivers/video/gbefb.c | 2 +-
drivers/video/hgafb.c | 2 +-
drivers/video/hitfb.c | 2 +-
drivers/video/omap2/dss/manager.c | 2 +-
drivers/video/omap2/dss/overlay.c | 2 +-
drivers/video/q40fb.c | 2 +-
drivers/video/s3c2410fb.c | 4 +-
drivers/video/sa1100fb.c | 2 +-
drivers/video/sgivwfb.c | 2 +-
drivers/video/sh_mobile_lcdcfb.c | 2 +-
drivers/video/vesafb.c | 2 +-
drivers/video/vfb.c | 2 +-
drivers/video/vga16fb.c | 2 +-
drivers/video/w100fb.c | 2 +-
drivers/w1/masters/omap_hdq.c | 4 +-
drivers/xen/sys-hypervisor.c | 2 +-
fs/btrfs/sysfs.c | 4 +-
fs/dlm/lockspace.c | 2 +-
fs/ext4/super.c | 2 +-
fs/gfs2/sys.c | 4 +-
fs/ocfs2/cluster/masklog.c | 2 +-
fs/sysfs/bin.c | 50 ++--
fs/sysfs/dir.c | 132 ++++++-----
fs/sysfs/file.c | 47 +++-
fs/sysfs/inode.c | 13 +-
fs/sysfs/mount.c | 4 +-
fs/sysfs/symlink.c | 38 +++
fs/sysfs/sysfs.h | 17 +-
include/linux/device.h | 40 +++-
include/linux/kobject.h | 14 +-
include/linux/platform_device.h | 9 +-
include/linux/sysdev.h | 21 ++-
include/linux/sysfs.h | 61 +++++
include/linux/usb.h | 6 +-
kernel/module.c | 3 +
kernel/params.c | 5 +-
kernel/perf_event.c | 13 +-
kernel/sched.c | 4 +
lib/kobject.c | 6 +-
lib/kobject_uevent.c | 2 +-
mm/slub.c | 4 +-
net/bluetooth/l2cap.c | 4 +-
net/bluetooth/rfcomm/core.c | 4 +-
net/bluetooth/rfcomm/sock.c | 4 +-
net/bluetooth/sco.c | 4 +-
net/bridge/br_private.h | 2 +-
net/bridge/br_sysfs_if.c | 2 +-
samples/kobject/kobject-example.c | 4 +-
samples/kobject/kset-example.c | 6 +-
146 files changed, 1457 insertions(+), 792 deletions(-)
create mode 100644 drivers/uio/uio_netx.c
delete mode 100644 drivers/uio/uio_smx.c
---------------
Andi Kleen (12):
sysdev: Pass attribute in sysdev_class attributes show/store
sysdev: Convert node driver class attributes to be data driven
sysdev: Convert cpu driver sysdev class attributes
sysfs: Add sysfs_add/remove_files utility functions
sysfs: Add attribute array to sysdev classes
sysdev: Convert node driver
sysdev: Use sysdev_class attribute arrays in node driver
sysdev: Add sysdev_create/remove_files
sysdev: Fix type of sysdev class attribute in memory driver
driver-core: Add attribute argument to class_attribute show/store
driver core: Add class_attr_string for simple read-only string
driver core: Convert some drivers to CLASS_ATTR_STRING
Ben Hutchings (1):
Driver core: Fix first line of kernel-doc for a few functions
Dmitry Torokhov (1):
Driver core: add platform_create_bundle() helper
Emese Revfy (2):
kobject: Constify struct kset_uevent_ops
Driver core: Constify struct sysfs_ops in struct kobj_type
Eric Miao (1):
driver core: make platform_device_id table const
Eric W. Biederman (13):
sysfs: Cache the last sysfs_dirent to improve readdir scalability v2
sysfs: Remove sysfs_get/put_active_two
sysfs: Only take active references on attributes.
sysfs: Use one lockdep class per sysfs attribute.
sysfs: Use sysfs_attr_init and sysfs_bin_attr_init on dynamic attributes
sysfs: Document sysfs_attr_init and sysfs_bin_attr_init
sysfs: Use sysfs_attr_init and sysfs_bin_attr_init on module dynamic attributes
sysfs: Serialize updates to the vfs inode
sysfs: Pack sysfs_dirent more tightly.
sysfs: Implement sysfs_rename_link
driver core: Use sysfs_rename_link in device_rename
sysfs: Pass super_block to sysfs_get_inode
sysfs: Kill unused sysfs_sb variable.
Greg Kroah-Hartman (2):
sysdev: fix up the probe/release attributes
Driver core: create lock/unlock functions for struct device
Hans J. Koch (2):
UIO: Add a driver for Hilscher netX-based fieldbus cards
UIO: Remove SMX Cryptengine driver
Heiko Carstens (1):
sysdev: fix missing s390 conversion
Johannes Berg (1):
sysfs: windfarm: init sysfs attributes
John Ogness (1):
UIO: minor Kconfig fixes
Kay Sievers (4):
Driver-Core: devtmpfs - reset inode permissions before unlinking
Driver-Core: devtmpfs - remove EXPERIMENTAL and enable it by default
Driver-Core: disable /sbin/hotplug by default
Driver-Core: require valid action string in uevent trigger
Lee, Chun-Yi (5):
msi-laptop: Support standard ec 66/62 command on MSI notebook and nebook
msi-laptop: Add threeg sysfs file for support query 3G state by standard 66/62 ec command
msi-laptop: Support some MSI 3G netbook that is need load SCM
msi-laptop: Add resume method for set the SCM load again
msi-laptop: Detect 3G device exists by standard ec command
Luis R. Rodriguez (1):
driver-core: firmware_class: remove base.h header inclusion
Radu Voicilas (2):
kobject-example: Spelling fixes.
kset-example: Spelling fixes.
Randy Dunlap (1):
msi-laptop: depends on RFKILL
Stefan Richter (1):
HOWTO: Updates on subsystem trees, patchwork, -next (vs. -mm)
Stephen Rothwell (1):
sysfs: fix for thinko with sysfs_bin_attr_init()
Uwe Kleine-König (10):
Driver core: make struct platform_driver.id_table const
platform-drivers: move probe to .devinit.text in arch/arm
platform-drivers: move probe to .devinit.text in drivers/scsi
platform-drivers: move probe to .devinit.text in drivers/video
x86: move hp-wmi's probe function to .devinit.text
i2c: move i2c_omap's probe function to .devinit.text
w1: move omap_hdq's probe function to .devinit.text
media: move omap24xxcam's probe function to .devinit.text
auxdisplay: move cfag12864bfb's probe function to .devinit.text
net: move am79c961's probe function to .devinit.text
^ permalink raw reply [flat|nested] 19+ messages in thread
* [GIT PATCH] driver core patches for 2.6.33-git
@ 2009-12-11 21:26 Greg KH
0 siblings, 0 replies; 19+ messages in thread
From: Greg KH @ 2009-12-11 21:26 UTC (permalink / raw)
To: Linus Torvalds, Andrew Morton; +Cc: linux-kernel
Here is the big driver core merge for the 2.6.33-git tree.
Nothing major here:
- sysfs reworks to make things nicer and fix minor problems
- firmware api changes
- devtmpfs tweaks to resolve minor issues reported by users.
- platform devices early buffer changes
- debugfs bugfix
Please pull from:
master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-core-2.6.git/
All of these patches have been in the linux-next and mm trees for a
while.
The patches will be sent as a follow-on to this message to lkml for people
to see.
thanks,
greg k-h
------------
drivers/base/core.c | 14 +-
drivers/base/devtmpfs.c | 100 ++++----
drivers/base/firmware_class.c | 14 +-
drivers/base/platform.c | 29 ++-
drivers/firmware/dell_rbu.c | 9 +-
drivers/misc/hpilo.h | 13 +-
drivers/serial/ucc_uart.c | 8 +-
drivers/staging/comedi/drivers/usbdux.c | 5 +-
drivers/staging/comedi/drivers/usbduxfast.c | 5 +-
drivers/usb/atm/ueagle-atm.c | 7 +-
fs/debugfs/inode.c | 55 +++--
fs/namei.c | 22 --
fs/sysfs/dir.c | 388 +++++++++------------------
fs/sysfs/file.c | 41 +---
fs/sysfs/inode.c | 176 ++++++++-----
fs/sysfs/symlink.c | 11 +-
fs/sysfs/sysfs.h | 9 +-
include/linux/device.h | 2 +-
include/linux/firmware.h | 5 +-
include/linux/namei.h | 1 -
include/linux/platform_device.h | 20 +-
21 files changed, 428 insertions(+), 506 deletions(-)
---------------
Alan Stern (1):
Driver core: fix race in dev_driver_string
David Altobelli (1):
hpilo: add locking comment
Eric W. Biederman (15):
Driver core: Don't remove kobjects in device_shutdown.
sysfs: Update sysfs_setxattr so it updates secdata under the sysfs_mutex
sysfs: Rename sysfs_d_iput to sysfs_dentry_iput
sysfs: Use dentry_ops instead of directly playing with the dcache
sysfs: Simplify sysfs_chmod_file semantics
sysfs: Simplify iattr time assignments
sysfs: Fix locking and factor out sysfs_sd_setattr
sysfs: Update s_iattr on link and unlink.
sysfs: Nicely indent sysfs_symlink_inode_operations
sysfs: Implement sysfs_getattr & sysfs_permission
sysfs: In sysfs_chmod_file lazily propagate the mode change.
sysfs: Gut sysfs_addrm_start and sysfs_addrm_finish
sysfs: Propagate renames to the vfs on demand
sysfs: Factor out sysfs_rename from sysfs_rename_dir and sysfs_move_dir
sysfs: sysfs_setattr remove unnecessary permission check.
Johannes Berg (1):
firmware_class: make request_firmware_nowait more useful
Kay Sievers (6):
Driver Core: devtmpfs: ignore umask while setting file mode
Driver core: devtmpfs: prevent concurrent subdirectory creation and removal
Driver Core: devtmpfs: use sys_mount()
Driver Core: devtmpfs: do not remove non-kernel-created directories
Driver Core: devtmpfs: cleanup node on device creation error
Driver-Core: devtmpfs - set root directory mode to 0755
Magnus Damm (1):
Driver Core: Early platform driver buffer
Mathieu Desnoyers (1):
debugfs: fix create mutex racy fops and private data
Stefan Richter (1):
sysfs: mark a locally-only used function static
^ permalink raw reply [flat|nested] 19+ messages in thread
end of thread, other threads:[~2010-03-08 17:33 UTC | newest]
Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-12-23 19:49 [GIT PATCH] driver core patches for 2.6.33-git Greg KH
2009-12-23 19:52 ` [PATCH 01/10] devtmpfs: Convert dirlock to a mutex Greg Kroah-Hartman
2009-12-23 19:52 ` [PATCH 02/10] vfs: get_sb_single() - do not pass options twice Greg Kroah-Hartman
2009-12-27 12:36 ` OGAWA Hirofumi
2009-12-30 18:05 ` Kay Sievers
2009-12-30 19:30 ` OGAWA Hirofumi
2009-12-23 19:52 ` [PATCH 03/10] Doc/stable rules: add new cherry-pick logic Greg Kroah-Hartman
2009-12-23 19:52 ` [PATCH 04/10] Driver core: device_attribute parameters can often be const* Greg Kroah-Hartman
2009-12-23 19:52 ` [PATCH 05/10] Driver core: bin_attribute " Greg Kroah-Hartman
2009-12-23 19:52 ` [PATCH 06/10] Driver core: driver_attribute " Greg Kroah-Hartman
2009-12-23 19:52 ` [PATCH 07/10] Driver-core: Fix bogus 0 error return in device_add() Greg Kroah-Hartman
2009-12-23 19:52 ` [PATCH 08/10] driver core: Prevent reference to freed memory on error path Greg Kroah-Hartman
2009-12-23 19:52 ` [PATCH 09/10] Driver core: export platform_device_register_data as a GPL symbol Greg Kroah-Hartman
2009-12-23 19:52 ` [PATCH 10/10] devtmpfs: unlock mutex in case of string allocation error Greg Kroah-Hartman
-- strict thread matches above, loose matches on Subject: below --
2010-03-02 23:09 [GIT PATCH] driver core patches for 2.6.33-git Greg KH
2010-03-08 14:12 ` Greg KH
2010-03-08 17:28 ` Linus Torvalds
2010-03-08 17:33 ` Greg KH
2009-12-11 21:26 Greg KH
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®