From: Muli Ben-Yehuda <muli@il.ibm.com>
To: Alexey Dobriyan <adobriyan@gmail.com>
Cc: akpm@osdl.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] OSS trident: switch from ->write_proc
Date: Thu, 15 May 2008 19:48:05 +0300 [thread overview]
Message-ID: <20080515164805.GA7162@il.ibm.com> (raw)
In-Reply-To: <20080514204930.GA10513@martell.zuzino.mipt.ru>
On Thu, May 15, 2008 at 12:49:30AM +0400, Alexey Dobriyan wrote:
> Sorry, I just want to remove ->write_proc totally and auditing proc
> users are for later.
Ok, here's an updated patch to not leak the proc entry. Fix is
trivial, so I took the liberty of keeping your 'From' and
'Signed-off-by' lines. Andrew, please push to Linus.
Subject: [PATCH] OSS trident: switch from ->write_proc
From: Alexey Dobriyan <adobriyan@gmail.com>
[muli: don't leak the proc entry]
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Muli Ben-Yehuda <muli@il.ibm.com>
---
sound/oss/trident.c | 18 ++++++++++--------
1 files changed, 10 insertions(+), 8 deletions(-)
diff --git a/sound/oss/trident.c b/sound/oss/trident.c
index f43f91e..ff70a81 100644
--- a/sound/oss/trident.c
+++ b/sound/oss/trident.c
@@ -4028,10 +4028,10 @@ ali_free_other_states_resources(struct trident_state *state)
static struct proc_dir_entry *res;
-static int
-ali_write_proc(struct file *file, const char __user *buffer, unsigned long count, void *data)
+static ssize_t
+ali_write_proc(struct file *file, const char __user *buffer, size_t count, loff_t *ppos)
{
- struct trident_card *card = (struct trident_card *) data;
+ struct trident_card *card = PDE(file->f_path.dentry->d_inode)->data;
unsigned long flags;
char c;
@@ -4068,6 +4068,11 @@ ali_write_proc(struct file *file, const char __user *buffer, unsigned long count
return count;
}
+static const struct file_operations ali_proc_fops = {
+ .owner = THIS_MODULE,
+ .write = ali_write_proc,
+};
+
/* OSS /dev/mixer file operation methods */
static int
trident_open_mixdev(struct inode *inode, struct file *file)
@@ -4441,11 +4446,8 @@ trident_probe(struct pci_dev *pci_dev, const struct pci_device_id *pci_id)
/* ALi SPDIF OUT function */
if (card->revision == ALI_5451_V02) {
ali_setup_spdif_out(card, ALI_PCM_TO_SPDIF_OUT);
- res = create_proc_entry("ALi5451", 0, NULL);
- if (res) {
- res->write_proc = ali_write_proc;
- res->data = card;
- }
+ res = proc_create_data("ALi5451", 0, NULL,
+ &ali_proc_fops, card);
}
/* Add H/W Volume Control By Matt Wu Jul. 06, 2001 */
--
1.5.2.5
next prev parent reply other threads:[~2008-05-15 20:25 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-05-13 21:05 [PATCH] OSS trident: switch from ->write_proc Alexey Dobriyan
2008-05-14 5:47 ` Muli Ben-Yehuda
2008-05-14 20:49 ` Alexey Dobriyan
2008-05-15 16:48 ` Muli Ben-Yehuda [this message]
2008-05-16 0:23 ` [RFC: 2.6 patch] remove the OSS trident driver Adrian Bunk
2008-05-18 6:45 ` Muli Ben-Yehuda
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20080515164805.GA7162@il.ibm.com \
--to=muli@il.ibm.com \
--cc=adobriyan@gmail.com \
--cc=akpm@osdl.org \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.