mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 18:51:56 -04:00
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
Pull single_open() leak fixes from Al Viro: "A bunch of fixes for a moderately common class of bugs: file with single_open() done by its ->open() and seq_release as its ->release(). That leaks; fortunately, it's not _too_ common (either people manage to RTFM that says "When using single_open(), the programmer should use single_release() instead of seq_release() in the file_operations structure to avoid a memory leak", or they just copy a correct instance), but grepping through the tree has caught quite a pile. All of that is, AFAICS, -stable fodder, for as far as the patches apply. I tried to carve it up into reasonably-sized pieces (more or less "comes from the same tree")" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: rcutrace: single_open() leaks gadget: single_open() leaks staging: single_open() leaks megaraid: single_open() leak wireless: single_open() leaks input: single_open() leak rtc: single_open() leaks ds1620: single_open() leak sh: single_open() leaks parisc: single_open() leaks mips: single_open() leaks ia64: single_open() leaks h8300: single_open() leaks cris: single_open() leaks arm: single_open() leaks
This commit is contained in:
commit
24d0c2542b
33 changed files with 41 additions and 41 deletions
|
|
@ -1502,7 +1502,7 @@ static const struct file_operations atmel_proc_fops = {
|
|||
.open = atmel_proc_open,
|
||||
.read = seq_read,
|
||||
.llseek = seq_lseek,
|
||||
.release = seq_release,
|
||||
.release = single_release,
|
||||
};
|
||||
|
||||
static const struct net_device_ops atmel_netdev_ops = {
|
||||
|
|
|
|||
|
|
@ -89,7 +89,7 @@ static const struct file_operations ap_debug_proc_fops = {
|
|||
.open = ap_debug_proc_open,
|
||||
.read = seq_read,
|
||||
.llseek = seq_lseek,
|
||||
.release = seq_release,
|
||||
.release = single_release,
|
||||
};
|
||||
#endif /* PRISM2_NO_PROCFS_DEBUG */
|
||||
|
||||
|
|
@ -1116,7 +1116,7 @@ static const struct file_operations prism2_sta_proc_fops = {
|
|||
.open = prism2_sta_proc_open,
|
||||
.read = seq_read,
|
||||
.llseek = seq_lseek,
|
||||
.release = seq_release,
|
||||
.release = single_release,
|
||||
};
|
||||
|
||||
static void handle_add_proc_queue(struct work_struct *work)
|
||||
|
|
|
|||
|
|
@ -2957,7 +2957,7 @@ static const struct file_operations prism2_registers_proc_fops = {
|
|||
.open = prism2_registers_proc_open,
|
||||
.read = seq_read,
|
||||
.llseek = seq_lseek,
|
||||
.release = seq_release,
|
||||
.release = single_release,
|
||||
};
|
||||
|
||||
#endif /* PRISM2_NO_PROCFS_DEBUG */
|
||||
|
|
|
|||
|
|
@ -52,7 +52,7 @@ static const struct file_operations prism2_debug_proc_fops = {
|
|||
.open = prism2_debug_proc_open,
|
||||
.read = seq_read,
|
||||
.llseek = seq_lseek,
|
||||
.release = seq_release,
|
||||
.release = single_release,
|
||||
};
|
||||
#endif /* PRISM2_NO_PROCFS_DEBUG */
|
||||
|
||||
|
|
@ -103,7 +103,7 @@ static const struct file_operations prism2_stats_proc_fops = {
|
|||
.open = prism2_stats_proc_open,
|
||||
.read = seq_read,
|
||||
.llseek = seq_lseek,
|
||||
.release = seq_release,
|
||||
.release = single_release,
|
||||
};
|
||||
|
||||
|
||||
|
|
@ -265,7 +265,7 @@ static const struct file_operations prism2_crypt_proc_fops = {
|
|||
.open = prism2_crypt_proc_open,
|
||||
.read = seq_read,
|
||||
.llseek = seq_lseek,
|
||||
.release = seq_release,
|
||||
.release = single_release,
|
||||
};
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue