[lkml]   [2001]   [Dec]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Patch in this message
SubjectHello. Patch time (drivers/block/loop.c)

Hello. I would like to formally introduce myself to this list, as this is my first post. Of course, I would not come to the table empty handed.. I bring to you a patch ;)

I was digging around the loopback block device driver and it wasn't long before I realized that it assumes you are writing if you are not reading.. which I assume could be hazardous if there is an overflow, bad memory, or someone modifies some other code without knowledge :)

Patch attached.

I may be looking at this and the multi-device drivers in the near future as I have a need for support for partitions on these devices; I think it would be really neat if the software-raid could eventually become compatable with hardware raid.. although much slower, it may be a nice thing to have for testing purposes or a last resort for those who fry their hardware raid-controllers ;)

Eric Windisch
--- linux/drivers/block/loop.c Fri Dec 21 12:41:53 2001
+++ linux-2.4.17-ericw/drivers/block/loop.c Sat Dec 22 02:35:17 2001
@@ -90,8 +90,10 @@
if (raw_buf != loop_buf) {
if (cmd == READ)
memcpy(loop_buf, raw_buf, size);
- else
+ else if (cmd == WRITE)
memcpy(raw_buf, loop_buf, size);
+ else
+ printk(KERN_ERR "loop: Illegal command, %d", cmd);

return 0;
@@ -106,9 +108,11 @@
if (cmd == READ) {
in = raw_buf;
out = loop_buf;
- } else {
+ } else if (cmd == WRITE) {
in = loop_buf;
out = raw_buf;
+ } else {
+ printk(KERN_ERR "loop: Illegal command, %d", cmd);

key = lo->lo_encrypt_key;
 \ /
  Last update: 2005-03-22 13:14    [W:0.054 / U:2.648 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site