Bug 2748
Summary: | Missing locks in video1394_ioctl | ||
---|---|---|---|
Product: | Drivers | Reporter: | Herbert Xu (herbert) |
Component: | IEEE1394 | Assignee: | Stefan Richter (stefanr) |
Status: | CLOSED CODE_FIX | ||
Severity: | normal | CC: | bonnaud |
Priority: | P2 | ||
Hardware: | i386 | ||
OS: | Linux | ||
Kernel Version: | 2.6.6 | Subsystem: | |
Regression: | --- | Bisected commit-id: |
Description
Herbert Xu
2004-05-22 04:01:00 UTC
This may have been fixed (although inelegantly using the big kernel lock) by patch "Convert video1394 driver to compat_ioctl" which went into linux1394.org's repo in r1253 on 2005-02-02. --- trunk/video1394.c (revision 1252) +++ trunk/video1394.c (revision 1253) @@ -710,8 +710,8 @@ reg_write(ohci, OHCI1394_IsoXmitIntMaskSet, 1<<d->ctx); } -static int video1394_ioctl(struct inode *inode, struct file *file, - unsigned int cmd, unsigned long arg) +static int __video1394_ioctl(struct file *file, + unsigned int cmd, unsigned long arg) { struct file_ctx *ctx = (struct file_ctx *)file->private_data; struct ti_ohci *ohci = ctx->ohci; @@ -1170,6 +1170,15 @@ } } +static long video1394_ioctl(struct file *file, unsigned int cmd, unsigned long arg) +{ + int err; + lock_kernel(); + err = __video1394_ioctl(file, cmd, arg); + unlock_kernel(); + return err; +} + /* * This maps the vmalloced and reserved buffer to user space. * [...rest of patch omitted...] I assume this case is closed. Please reopen if I'm wrong. |