Commit bd7bf042 authored by Takashi Iwai's avatar Takashi Iwai Committed by Jaroslav Kysela

[ALSA] Fix permissions in some /proc files

PCM Midlevel,CA0106 driver,EMU10K1/EMU10K2 driver
Fix by Guillaume Chazarain <guichaz@yahoo.fr>:

Some tunables in /proc have a write() function, but as their
permission does not reflect it, it can be confusing to the user.

So here is a patch that corrects the mode of those files. Note that I
have only tested the 'xrun_debug' entry.
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent 0af68e5e
...@@ -451,6 +451,7 @@ static int snd_pcm_stream_proc_init(snd_pcm_str_t *pstr) ...@@ -451,6 +451,7 @@ static int snd_pcm_stream_proc_init(snd_pcm_str_t *pstr)
entry->c.text.read = snd_pcm_xrun_debug_read; entry->c.text.read = snd_pcm_xrun_debug_read;
entry->c.text.write_size = 64; entry->c.text.write_size = 64;
entry->c.text.write = snd_pcm_xrun_debug_write; entry->c.text.write = snd_pcm_xrun_debug_write;
entry->mode |= S_IWUSR;
entry->private_data = pstr; entry->private_data = pstr;
if (snd_info_register(entry) < 0) { if (snd_info_register(entry) < 0) {
snd_info_free_entry(entry); snd_info_free_entry(entry);
......
...@@ -204,6 +204,7 @@ static int snd_pcm_lib_preallocate_pages1(snd_pcm_substream_t *substream, ...@@ -204,6 +204,7 @@ static int snd_pcm_lib_preallocate_pages1(snd_pcm_substream_t *substream,
entry->c.text.read = snd_pcm_lib_preallocate_proc_read; entry->c.text.read = snd_pcm_lib_preallocate_proc_read;
entry->c.text.write_size = 64; entry->c.text.write_size = 64;
entry->c.text.write = snd_pcm_lib_preallocate_proc_write; entry->c.text.write = snd_pcm_lib_preallocate_proc_write;
entry->mode |= S_IWUSR;
entry->private_data = substream; entry->private_data = substream;
if (snd_info_register(entry) < 0) { if (snd_info_register(entry) < 0) {
snd_info_free_entry(entry); snd_info_free_entry(entry);
......
...@@ -418,6 +418,7 @@ int __devinit snd_ca0106_proc_init(ca0106_t * emu) ...@@ -418,6 +418,7 @@ int __devinit snd_ca0106_proc_init(ca0106_t * emu)
snd_info_set_text_ops(entry, emu, 1024, snd_ca0106_proc_reg_read32); snd_info_set_text_ops(entry, emu, 1024, snd_ca0106_proc_reg_read32);
entry->c.text.write_size = 64; entry->c.text.write_size = 64;
entry->c.text.write = snd_ca0106_proc_reg_write32; entry->c.text.write = snd_ca0106_proc_reg_write32;
entry->mode |= S_IWUSR;
} }
if(! snd_card_proc_new(emu->card, "ca0106_reg16", &entry)) if(! snd_card_proc_new(emu->card, "ca0106_reg16", &entry))
snd_info_set_text_ops(entry, emu, 1024, snd_ca0106_proc_reg_read16); snd_info_set_text_ops(entry, emu, 1024, snd_ca0106_proc_reg_read16);
...@@ -427,6 +428,7 @@ int __devinit snd_ca0106_proc_init(ca0106_t * emu) ...@@ -427,6 +428,7 @@ int __devinit snd_ca0106_proc_init(ca0106_t * emu)
snd_info_set_text_ops(entry, emu, 1024, snd_ca0106_proc_reg_read1); snd_info_set_text_ops(entry, emu, 1024, snd_ca0106_proc_reg_read1);
entry->c.text.write_size = 64; entry->c.text.write_size = 64;
entry->c.text.write = snd_ca0106_proc_reg_write; entry->c.text.write = snd_ca0106_proc_reg_write;
entry->mode |= S_IWUSR;
// entry->private_data = emu; // entry->private_data = emu;
} }
if(! snd_card_proc_new(emu->card, "ca0106_regs2", &entry)) if(! snd_card_proc_new(emu->card, "ca0106_regs2", &entry))
......
...@@ -1075,6 +1075,7 @@ static int __devinit snd_emu10k1x_proc_init(emu10k1x_t * emu) ...@@ -1075,6 +1075,7 @@ static int __devinit snd_emu10k1x_proc_init(emu10k1x_t * emu)
snd_info_set_text_ops(entry, emu, 1024, snd_emu10k1x_proc_reg_read); snd_info_set_text_ops(entry, emu, 1024, snd_emu10k1x_proc_reg_read);
entry->c.text.write_size = 64; entry->c.text.write_size = 64;
entry->c.text.write = snd_emu10k1x_proc_reg_write; entry->c.text.write = snd_emu10k1x_proc_reg_write;
entry->mode |= S_IWUSR;
entry->private_data = emu; entry->private_data = emu;
} }
......
...@@ -527,26 +527,31 @@ int __devinit snd_emu10k1_proc_init(emu10k1_t * emu) ...@@ -527,26 +527,31 @@ int __devinit snd_emu10k1_proc_init(emu10k1_t * emu)
snd_info_set_text_ops(entry, emu, 1024, snd_emu_proc_io_reg_read); snd_info_set_text_ops(entry, emu, 1024, snd_emu_proc_io_reg_read);
entry->c.text.write_size = 64; entry->c.text.write_size = 64;
entry->c.text.write = snd_emu_proc_io_reg_write; entry->c.text.write = snd_emu_proc_io_reg_write;
entry->mode |= S_IWUSR;
} }
if (! snd_card_proc_new(emu->card, "ptr_regs00a", &entry)) { if (! snd_card_proc_new(emu->card, "ptr_regs00a", &entry)) {
snd_info_set_text_ops(entry, emu, 65536, snd_emu_proc_ptr_reg_read00a); snd_info_set_text_ops(entry, emu, 65536, snd_emu_proc_ptr_reg_read00a);
entry->c.text.write_size = 64; entry->c.text.write_size = 64;
entry->c.text.write = snd_emu_proc_ptr_reg_write00; entry->c.text.write = snd_emu_proc_ptr_reg_write00;
entry->mode |= S_IWUSR;
} }
if (! snd_card_proc_new(emu->card, "ptr_regs00b", &entry)) { if (! snd_card_proc_new(emu->card, "ptr_regs00b", &entry)) {
snd_info_set_text_ops(entry, emu, 65536, snd_emu_proc_ptr_reg_read00b); snd_info_set_text_ops(entry, emu, 65536, snd_emu_proc_ptr_reg_read00b);
entry->c.text.write_size = 64; entry->c.text.write_size = 64;
entry->c.text.write = snd_emu_proc_ptr_reg_write00; entry->c.text.write = snd_emu_proc_ptr_reg_write00;
entry->mode |= S_IWUSR;
} }
if (! snd_card_proc_new(emu->card, "ptr_regs20a", &entry)) { if (! snd_card_proc_new(emu->card, "ptr_regs20a", &entry)) {
snd_info_set_text_ops(entry, emu, 65536, snd_emu_proc_ptr_reg_read20a); snd_info_set_text_ops(entry, emu, 65536, snd_emu_proc_ptr_reg_read20a);
entry->c.text.write_size = 64; entry->c.text.write_size = 64;
entry->c.text.write = snd_emu_proc_ptr_reg_write20; entry->c.text.write = snd_emu_proc_ptr_reg_write20;
entry->mode |= S_IWUSR;
} }
if (! snd_card_proc_new(emu->card, "ptr_regs20b", &entry)) { if (! snd_card_proc_new(emu->card, "ptr_regs20b", &entry)) {
snd_info_set_text_ops(entry, emu, 65536, snd_emu_proc_ptr_reg_read20b); snd_info_set_text_ops(entry, emu, 65536, snd_emu_proc_ptr_reg_read20b);
entry->c.text.write_size = 64; entry->c.text.write_size = 64;
entry->c.text.write = snd_emu_proc_ptr_reg_write20; entry->c.text.write = snd_emu_proc_ptr_reg_write20;
entry->mode |= S_IWUSR;
} }
#endif #endif
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment