diff mbox

block: Prevent /dev/fd/X filename from being detected as floppy

Message ID 1339597859-7755-1-git-send-email-root@localhost.localdomain
State New
Headers show

Commit Message

root June 13, 2012, 2:30 p.m. UTC
From: Corey Bryant <coreyb@linux.vnet.ibm.com>

Reported-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Corey Bryant <coreyb@linux.vnet.ibm.com>
---
 block/raw-posix.c |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

Comments

Paolo Bonzini June 14, 2012, 9:24 a.m. UTC | #1
Il 13/06/2012 16:30, root ha scritto:
> From: Corey Bryant <coreyb@linux.vnet.ibm.com>
> 
> Reported-by: Kevin Wolf <kwolf@redhat.com>
> Signed-off-by: Corey Bryant <coreyb@linux.vnet.ibm.com>
> ---
>  block/raw-posix.c |    4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/block/raw-posix.c b/block/raw-posix.c
> index d8eff2f..68886cd 100644
> --- a/block/raw-posix.c
> +++ b/block/raw-posix.c
> @@ -946,9 +946,11 @@ static int floppy_probe_device(const char *filename)
>      int prio = 0;
>      struct floppy_struct fdparam;
>      struct stat st;
> +    const char *p;
>  
> -    if (strstart(filename, "/dev/fd", NULL))
> +    if (strstart(filename, "/dev/fd", &p) && p[0] != '/') {
>          prio = 50;
> +    }
>  
>      fd = qemu_open(filename, O_RDONLY | O_NONBLOCK);
>      if (fd < 0) {
> 

Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Corey Bryant June 14, 2012, 1:39 p.m. UTC | #2
On 06/14/2012 05:24 AM, Paolo Bonzini wrote:
> Il 13/06/2012 16:30, root ha scritto:
>> From: Corey Bryant <coreyb@linux.vnet.ibm.com>
>>
>> Reported-by: Kevin Wolf <kwolf@redhat.com>
>> Signed-off-by: Corey Bryant <coreyb@linux.vnet.ibm.com>
>> ---
>>   block/raw-posix.c |    4 +++-
>>   1 file changed, 3 insertions(+), 1 deletion(-)
>>
>> diff --git a/block/raw-posix.c b/block/raw-posix.c
>> index d8eff2f..68886cd 100644
>> --- a/block/raw-posix.c
>> +++ b/block/raw-posix.c
>> @@ -946,9 +946,11 @@ static int floppy_probe_device(const char *filename)
>>       int prio = 0;
>>       struct floppy_struct fdparam;
>>       struct stat st;
>> +    const char *p;
>>
>> -    if (strstart(filename, "/dev/fd", NULL))
>> +    if (strstart(filename, "/dev/fd", &p) && p[0] != '/') {
>>           prio = 50;
>> +    }
>>
>>       fd = qemu_open(filename, O_RDONLY | O_NONBLOCK);
>>       if (fd < 0) {
>>
>
> Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
>

Thanks!
Kevin Wolf June 14, 2012, 1:51 p.m. UTC | #3
Am 14.06.2012 15:39, schrieb Corey Bryant:
> 
> 
> On 06/14/2012 05:24 AM, Paolo Bonzini wrote:
>> Il 13/06/2012 16:30, root ha scritto:
>>> From: Corey Bryant <coreyb@linux.vnet.ibm.com>
>>>
>>> Reported-by: Kevin Wolf <kwolf@redhat.com>
>>> Signed-off-by: Corey Bryant <coreyb@linux.vnet.ibm.com>
>>> ---
>>>   block/raw-posix.c |    4 +++-
>>>   1 file changed, 3 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/block/raw-posix.c b/block/raw-posix.c
>>> index d8eff2f..68886cd 100644
>>> --- a/block/raw-posix.c
>>> +++ b/block/raw-posix.c
>>> @@ -946,9 +946,11 @@ static int floppy_probe_device(const char *filename)
>>>       int prio = 0;
>>>       struct floppy_struct fdparam;
>>>       struct stat st;
>>> +    const char *p;
>>>
>>> -    if (strstart(filename, "/dev/fd", NULL))
>>> +    if (strstart(filename, "/dev/fd", &p) && p[0] != '/') {
>>>           prio = 50;
>>> +    }
>>>
>>>       fd = qemu_open(filename, O_RDONLY | O_NONBLOCK);
>>>       if (fd < 0) {
>>>
>>
>> Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
>>
> 
> Thanks!

I tried to apply this earlier today, but it depends on the other patch
series, so I couldn't. Can you just include it as patch 5 when you send
the next version?

Oh, and you'll probably want to fix your mailing setup to put into From:
something different than root@localhost.localdomain...

Kevin
Corey Bryant June 14, 2012, 1:56 p.m. UTC | #4
On 06/14/2012 09:51 AM, Kevin Wolf wrote:
> Am 14.06.2012 15:39, schrieb Corey Bryant:
>>
>>
>> On 06/14/2012 05:24 AM, Paolo Bonzini wrote:
>>> Il 13/06/2012 16:30, root ha scritto:
>>>> From: Corey Bryant <coreyb@linux.vnet.ibm.com>
>>>>
>>>> Reported-by: Kevin Wolf <kwolf@redhat.com>
>>>> Signed-off-by: Corey Bryant <coreyb@linux.vnet.ibm.com>
>>>> ---
>>>>    block/raw-posix.c |    4 +++-
>>>>    1 file changed, 3 insertions(+), 1 deletion(-)
>>>>
>>>> diff --git a/block/raw-posix.c b/block/raw-posix.c
>>>> index d8eff2f..68886cd 100644
>>>> --- a/block/raw-posix.c
>>>> +++ b/block/raw-posix.c
>>>> @@ -946,9 +946,11 @@ static int floppy_probe_device(const char *filename)
>>>>        int prio = 0;
>>>>        struct floppy_struct fdparam;
>>>>        struct stat st;
>>>> +    const char *p;
>>>>
>>>> -    if (strstart(filename, "/dev/fd", NULL))
>>>> +    if (strstart(filename, "/dev/fd", &p) && p[0] != '/') {
>>>>            prio = 50;
>>>> +    }
>>>>
>>>>        fd = qemu_open(filename, O_RDONLY | O_NONBLOCK);
>>>>        if (fd < 0) {
>>>>
>>>
>>> Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
>>>
>>
>> Thanks!
>
> I tried to apply this earlier today, but it depends on the other patch
> series, so I couldn't. Can you just include it as patch 5 when you send
> the next version?

Ok sure I'll do that.

>
> Oh, and you'll probably want to fix your mailing setup to put into From:
> something different than root@localhost.localdomain...

Ugh.. I'm sorry about that.

>
> Kevin
>
diff mbox

Patch

diff --git a/block/raw-posix.c b/block/raw-posix.c
index d8eff2f..68886cd 100644
--- a/block/raw-posix.c
+++ b/block/raw-posix.c
@@ -946,9 +946,11 @@  static int floppy_probe_device(const char *filename)
     int prio = 0;
     struct floppy_struct fdparam;
     struct stat st;
+    const char *p;
 
-    if (strstart(filename, "/dev/fd", NULL))
+    if (strstart(filename, "/dev/fd", &p) && p[0] != '/') {
         prio = 50;
+    }
 
     fd = qemu_open(filename, O_RDONLY | O_NONBLOCK);
     if (fd < 0) {