2006-01-14 22:53:27

by Benoit Boissinot

[permalink] [raw]
Subject: [patch 2.6.15-mm4] drivers/cdrom/cdrom.c fix incorrect test

In cleanup-cdrom_ioctl.patch,

the test in CDROMREADTOCENTRY ioctl was changed from

if (!((requested_format == CDROM_MSF) || (requested_format == CDROM_LBA)))
return -EINVAL;

to

if (requested_format != CDROM_MSF || requested_format != CDROM_LBA)
return -EINVAL;


which is not equivalent with morgan's law.


Signed-off-by: Benoit Boissinot <[email protected]>

diff -Naurp -X Documentation/dontdiff ../linux/drivers/cdrom/cdrom.c drivers/cdrom/cdrom.c
--- a/linux/drivers/cdrom/cdrom.c 2006-01-14 16:11:43.000000000 +0100
+++ b/drivers/cdrom/cdrom.c 2006-01-14 23:44:51.000000000 +0100
@@ -2585,7 +2585,7 @@ static int cdrom_ioctl_read_tocentry(str
return -EFAULT;

requested_format = entry.cdte_format;
- if (requested_format != CDROM_MSF || requested_format != CDROM_LBA)
+ if (requested_format != CDROM_MSF && requested_format != CDROM_LBA)
return -EINVAL;
/* make interface to low-level uniform */
entry.cdte_format = CDROM_MSF;


2006-01-14 23:08:42

by Benoit Boissinot

[permalink] [raw]
Subject: Re: [patch 2.6.15-mm4] drivers/cdrom/cdrom.c fix incorrect test

On Sat, Jan 14, 2006 at 11:49:26PM +0100, Benoit Boissinot wrote:
> In cleanup-cdrom_ioctl.patch,
>
> the test in CDROMREADTOCENTRY ioctl was changed from
>
> if (!((requested_format == CDROM_MSF) || (requested_format == CDROM_LBA)))
> return -EINVAL;
>
> to
>
> if (requested_format != CDROM_MSF || requested_format != CDROM_LBA)
> return -EINVAL;
>
> which is not equivalent with morgan's law.
>

sorry, it doesn't apply with -p1 correct patch below:

In cleanup-cdrom_ioctl.patch,
the test in CDROMREADTOCENTRY ioctl was changed from

if (!((requested_format == CDROM_MSF) || (requested_format == CDROM_LBA)))
return -EINVAL;
to

if (requested_format != CDROM_MSF || requested_format != CDROM_LBA)
return -EINVAL;

which is not equivalent with morgan's law.

Signed-off-by: Benoit Boissinot <[email protected]>

diff -Naurp -X Documentation/dontdiff ../linux/drivers/cdrom/cdrom.c drivers/cdrom/cdrom.c
--- a/drivers/cdrom/cdrom.c 2006-01-14 16:11:43.000000000 +0100
+++ b/drivers/cdrom/cdrom.c 2006-01-14 23:44:51.000000000 +0100
@@ -2585,7 +2585,7 @@ static int cdrom_ioctl_read_tocentry(str
return -EFAULT;

requested_format = entry.cdte_format;
- if (requested_format != CDROM_MSF || requested_format != CDROM_LBA)
+ if (requested_format != CDROM_MSF && requested_format != CDROM_LBA)
return -EINVAL;
/* make interface to low-level uniform */
entry.cdte_format = CDROM_MSF;

2006-01-16 08:38:41

by Jens Axboe

[permalink] [raw]
Subject: Re: [patch 2.6.15-mm4] drivers/cdrom/cdrom.c fix incorrect test

On Sun, Jan 15 2006, Benoit Boissinot wrote:
> On Sat, Jan 14, 2006 at 11:49:26PM +0100, Benoit Boissinot wrote:
> > In cleanup-cdrom_ioctl.patch,
> >
> > the test in CDROMREADTOCENTRY ioctl was changed from
> >
> > if (!((requested_format == CDROM_MSF) || (requested_format == CDROM_LBA)))
> > return -EINVAL;
> >
> > to
> >
> > if (requested_format != CDROM_MSF || requested_format != CDROM_LBA)
> > return -EINVAL;
> >
> > which is not equivalent with morgan's law.
> >
>
> sorry, it doesn't apply with -p1 correct patch below:
>
> In cleanup-cdrom_ioctl.patch,
> the test in CDROMREADTOCENTRY ioctl was changed from
>
> if (!((requested_format == CDROM_MSF) || (requested_format == CDROM_LBA)))
> return -EINVAL;
> to
>
> if (requested_format != CDROM_MSF || requested_format != CDROM_LBA)
> return -EINVAL;
>
> which is not equivalent with morgan's law.
>
> Signed-off-by: Benoit Boissinot <[email protected]>
>
> diff -Naurp -X Documentation/dontdiff ../linux/drivers/cdrom/cdrom.c drivers/cdrom/cdrom.c
> --- a/drivers/cdrom/cdrom.c 2006-01-14 16:11:43.000000000 +0100
> +++ b/drivers/cdrom/cdrom.c 2006-01-14 23:44:51.000000000 +0100
> @@ -2585,7 +2585,7 @@ static int cdrom_ioctl_read_tocentry(str
> return -EFAULT;
>
> requested_format = entry.cdte_format;
> - if (requested_format != CDROM_MSF || requested_format != CDROM_LBA)
> + if (requested_format != CDROM_MSF && requested_format != CDROM_LBA)
> return -EINVAL;
> /* make interface to low-level uniform */
> entry.cdte_format = CDROM_MSF;

Good catch, thanks!

--
Jens Axboe