* scsi proc_info called unconditionally @ 2003-08-16 8:44 Olaf Hering 2003-08-16 10:06 ` Christoph Hellwig 2003-08-16 17:00 ` Alan Cox 0 siblings, 2 replies; 7+ messages in thread From: Olaf Hering @ 2003-08-16 8:44 UTC (permalink / raw) To: linux-kernel Why is ->proc_info() called when the function pointer is NULL? (none):/# mount proc (none):/# cat /proc/scsi/ 53c94 device_info scsi (none):/# cat /proc/scsi/53c94/0 proc_scsi_read: 00000000 called Oops: kernel access of bad area, sig: 11 [#1] NIP: 00000000 LR: C00EC6C8 SP: C03BBE90 REGS: c03bbde0 TRAP: 0401 Not tainted MSR: 40009030 EE: 1 PR: 0 FP: 0 ME: 1 IR/DR: 11 TASK = c027b7e0[16] 'cat' Last syscall: 3 GPR00: C00EC6A0 C03BBE90 C027B7E0 C4705400 C43B5000 C03BBEC8 00000000 00000C00 GPR08: 00000000 00000000 C01C6E8F C01B0000 0000000D Call trace: [c007a254] proc_file_read+0xb8/0x2cc [c004d97c] vfs_read+0xdc/0x128 [c004dbe8] sys_read+0x40/0x74 [c000780c] ret_from_syscall+0x0/0x4c Segmentation fault -- USB is for mice, FireWire is for men! sUse lINUX ag, nÜRNBERG ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: scsi proc_info called unconditionally 2003-08-16 8:44 scsi proc_info called unconditionally Olaf Hering @ 2003-08-16 10:06 ` Christoph Hellwig 2003-08-16 17:00 ` Alan Cox 1 sibling, 0 replies; 7+ messages in thread From: Christoph Hellwig @ 2003-08-16 10:06 UTC (permalink / raw) To: Olaf Hering; +Cc: linux-kernel, linux-scsi On Sat, Aug 16, 2003 at 10:44:09AM +0200, Olaf Hering wrote: > > Why is ->proc_info() called when the function pointer is NULL? Looks like the check for it's presence got lost in [PATCH] Correct removal of procfs host enteries [1/2] Here's a trivial patch to get it back: --- 1.32/drivers/scsi/scsi_proc.c Thu Jul 31 10:31:51 2003 +++ edited/drivers/scsi/scsi_proc.c Sat Aug 16 10:31:37 2003 @@ -81,6 +81,9 @@ void scsi_proc_hostdir_add(struct scsi_host_template *sht) { + if (!sht->proc_info) + return; + down(&global_host_template_sem); if (!sht->present++) { sht->proc_dir = proc_mkdir(sht->proc_name, proc_scsi); @@ -96,6 +99,9 @@ void scsi_proc_hostdir_rm(struct scsi_host_template *sht) { + if (!sht->proc_info) + return; + down(&global_host_template_sem); if (!--sht->present && sht->proc_dir) { remove_proc_entry(sht->proc_name, proc_scsi); ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: scsi proc_info called unconditionally 2003-08-16 8:44 scsi proc_info called unconditionally Olaf Hering 2003-08-16 10:06 ` Christoph Hellwig @ 2003-08-16 17:00 ` Alan Cox 2003-08-17 8:09 ` Olaf Hering 1 sibling, 1 reply; 7+ messages in thread From: Alan Cox @ 2003-08-16 17:00 UTC (permalink / raw) To: Olaf Hering; +Cc: Linux Kernel Mailing List On Sad, 2003-08-16 at 09:44, Olaf Hering wrote: > Why is ->proc_info() called when the function pointer is NULL? > > (none):/# mount proc Because proc_info is mandatory ? ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: scsi proc_info called unconditionally 2003-08-16 17:00 ` Alan Cox @ 2003-08-17 8:09 ` Olaf Hering 2003-08-17 9:39 ` Christoph Hellwig 0 siblings, 1 reply; 7+ messages in thread From: Olaf Hering @ 2003-08-17 8:09 UTC (permalink / raw) To: Alan Cox, Paul Mackeras; +Cc: Linux Kernel Mailing List On Sat, Aug 16, Alan Cox wrote: > On Sad, 2003-08-16 at 09:44, Olaf Hering wrote: > > Why is ->proc_info() called when the function pointer is NULL? > > > > (none):/# mount proc > > Because proc_info is mandatory ? Paul, do you want to fill in some content in that proc file? --- linuxppc-2.5/drivers/scsi/mac53c94.c 2003-08-04 01:59:22.000000000 +0200 +++ linux-2.6.0-test3-lxppc25/drivers/scsi/mac53c94.c 2003-08-17 10:00:06.000000000 +0200 @@ -614,8 +614,15 @@ data_goes_out(Scsi_Cmnd *cmd) } } +int mac53c94_proc_info(struct Scsi_Host *host, char *buffer, char **start, off_t offset, + int length, int inout) +{ + return 0; +} + static Scsi_Host_Template driver_template = { .proc_name = "53c94", + .proc_info = mac53c94_proc_info, .name = "53C94", .detect = mac53c94_detect, .release = mac53c94_release, -- USB is for mice, FireWire is for men! sUse lINUX ag, nÜRNBERG ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: scsi proc_info called unconditionally 2003-08-17 8:09 ` Olaf Hering @ 2003-08-17 9:39 ` Christoph Hellwig 2003-08-17 9:56 ` Alan Cox 0 siblings, 1 reply; 7+ messages in thread From: Christoph Hellwig @ 2003-08-17 9:39 UTC (permalink / raw) To: Olaf Hering; +Cc: Alan Cox, Paul Mackeras, Linux Kernel Mailing List On Sun, Aug 17, 2003 at 10:09:01AM +0200, Olaf Hering wrote: > Paul, do you want to fill in some content in that proc file? No! proc_info is deprecated in 2.6 and you should not add a new implementation. If you want to expose information to userland use sysfs. ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: scsi proc_info called unconditionally 2003-08-17 9:39 ` Christoph Hellwig @ 2003-08-17 9:56 ` Alan Cox 2003-08-17 10:07 ` Christoph Hellwig 0 siblings, 1 reply; 7+ messages in thread From: Alan Cox @ 2003-08-17 9:56 UTC (permalink / raw) To: Christoph Hellwig; +Cc: Olaf Hering, Paul Mackeras, Linux Kernel Mailing List On Sul, 2003-08-17 at 10:39, Christoph Hellwig wrote: > No! proc_info is deprecated in 2.6 and you should not add a new > implementation. If you want to expose information to userland > use sysfs. It probably should give the driver name and version. Christoph is right in the longer term but in the real world people still expect /proc/scsi/* to contain at least that info. Possibly for 2.7.x /proc/scsi/* should become an fs or entirely sysfs ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: scsi proc_info called unconditionally 2003-08-17 9:56 ` Alan Cox @ 2003-08-17 10:07 ` Christoph Hellwig 0 siblings, 0 replies; 7+ messages in thread From: Christoph Hellwig @ 2003-08-17 10:07 UTC (permalink / raw) To: Alan Cox Cc: Christoph Hellwig, Olaf Hering, Paul Mackeras, Linux Kernel Mailing List On Sun, Aug 17, 2003 at 10:56:17AM +0100, Alan Cox wrote: > It probably should give the driver name and version. Christoph is > right in the longer term but in the real world people still expect > /proc/scsi/* to contain at least that info. /proc/scsi/* is not standardized so even if you add a name no userspace tool can sanely parse it without knowing all drivers. sysfs OTOH can do this sanely. So, no it does not make sense to add anything here for a 2.6 driver. > Possibly for 2.7.x /proc/scsi/* should become an fs or entirely sysfs /proc/scsi/ will be optional and marked deprecated with with one of my next patches and go away in 2.9. ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2003-08-17 10:07 UTC | newest] Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2003-08-16 8:44 scsi proc_info called unconditionally Olaf Hering 2003-08-16 10:06 ` Christoph Hellwig 2003-08-16 17:00 ` Alan Cox 2003-08-17 8:09 ` Olaf Hering 2003-08-17 9:39 ` Christoph Hellwig 2003-08-17 9:56 ` Alan Cox 2003-08-17 10:07 ` Christoph Hellwig
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).