diff options
author | Frank Ch. Eigler <fche@elastic.org> | 2009-02-06 12:19:22 -0500 |
---|---|---|
committer | Frank Ch. Eigler <fche@elastic.org> | 2009-02-06 12:19:59 -0500 |
commit | 2c48e4162100e7cbc53eeaee13cfbdd538b15380 (patch) | |
tree | b9b9ad83ff7525683d045f7f8c39c978cda30deb /runtime | |
parent | e3687b9e6c8c0fe634ee2d33e770581d3a1e33ba (diff) | |
download | systemtap-steved-2c48e4162100e7cbc53eeaee13cfbdd538b15380.tar.gz systemtap-steved-2c48e4162100e7cbc53eeaee13cfbdd538b15380.tar.xz systemtap-steved-2c48e4162100e7cbc53eeaee13cfbdd538b15380.zip |
2.6.29rc build fix: autoconf for proc_dir_entry->owner going away
Diffstat (limited to 'runtime')
-rw-r--r-- | runtime/ChangeLog | 5 | ||||
-rw-r--r-- | runtime/autoconf-procfs-owner.c | 8 | ||||
-rw-r--r-- | runtime/procfs.c | 6 |
3 files changed, 18 insertions, 1 deletions
diff --git a/runtime/ChangeLog b/runtime/ChangeLog index 81a78c4b..5cdcec81 100644 --- a/runtime/ChangeLog +++ b/runtime/ChangeLog @@ -1,3 +1,8 @@ +2009-02-06 Frank Ch. Eigler <fche@elastic.org> + + * autoconf-procfs-owner.c: New test. + * procfs.c (_stp_mkdir_proc_module, _stp_create_procfs): Use it. + 2009-02-05 Frank Ch. Eigler <fche@elastic.org> PR 9740/9816? diff --git a/runtime/autoconf-procfs-owner.c b/runtime/autoconf-procfs-owner.c new file mode 100644 index 00000000..d64bf5e8 --- /dev/null +++ b/runtime/autoconf-procfs-owner.c @@ -0,0 +1,8 @@ +#include <linux/proc_fs.h> + +/* kernel commit 4d38a69c6 */ + +void bar (void) { + struct proc_dir_entry foo; + foo.owner = (void*) 0; +} diff --git a/runtime/procfs.c b/runtime/procfs.c index 98d0af98..4011ebfc 100644 --- a/runtime/procfs.c +++ b/runtime/procfs.c @@ -1,7 +1,7 @@ /* -*- linux-c -*- * * /proc command channels - * Copyright (C) 2007 Red Hat Inc. + * Copyright (C) 2007-2009 Red Hat Inc. * * This file is part of systemtap, and is free software. You can * redistribute it and/or modify it under the terms of the GNU General @@ -105,8 +105,10 @@ static int _stp_mkdir_proc_module(void) } _stp_proc_root = proc_mkdir(THIS_MODULE->name, _stp_proc_stap); +#ifdef AUTOCONF_PROCFS_OWNER if (_stp_proc_root != NULL) _stp_proc_root->owner = THIS_MODULE; +#endif _stp_unlock_debugfs(); } @@ -161,7 +163,9 @@ static int _stp_create_procfs(const char *path, int num) goto err; } _stp_pde[_stp_num_pde++] = last_dir; +#ifdef AUTOCONF_PROCFS_OWNER last_dir->owner = THIS_MODULE; +#endif last_dir->uid = _stp_uid; last_dir->gid = _stp_gid; } else { |