Re: Linux 2.4.4-ac13

2001-05-22 Thread Francois Romieu

Alan Cox <[EMAIL PROTECTED]> écrit :
[...]
> o Add missing locking to stradis driver   (me)

- unbalanced returns after down();
- 1770: if the initial version isn't racy with saa7146_irq (line 534), this
  one is equivalent and shorter.

init_saa7146:2185
if ((saa->dmadebi = kmalloc(32768 + 4096, GFP_KERNEL)) == NULL)
[...]
looks suspect if the next vmalloc fail. Btw, I don't get the author
idea behind the whole "if (foo->bar == null) { foo->bar = vmalloc(...)}"
thing (chainsaw ?).

Fine against 2.4.4-ac14.

--- linux-2.4.4-ac13.orig/drivers/media/video/stradis.c Tue May 22 16:40:01 2001
+++ linux-2.4.4-ac13/drivers/media/video/stradis.c  Tue May 22 17:31:48 2001
@@ -1513,8 +1513,10 @@ out: 
 SAA7146_MC1);
} else {
if (saa->win.vidadr == 0 || saa->win.width == 0
-   || saa->win.height == 0)
+   || saa->win.height == 0) {
+   up(&saa->sem);
return -EINVAL;
+   }
saa->cap |= 1;
saawrite((SAA7146_MC1_TR_E_1 << 16) | 0x,
 SAA7146_MC1);
@@ -1770,16 +1772,18 @@ out:
if (saa->endmarktail <  
saa->endmarkhead) {
if (saa->endmarkhead -
-   saa->endmarktail < 2)
+   saa->endmarktail < 2) {
+   up(&saa->sem);
return -ENOSPC;
-   } else if (saa->endmarkhead <=
-   saa->endmarktail) {
+   }
+   } else {
if (saa->endmarktail -
saa->endmarkhead >
-   (MAX_MARKS - 2))
+   (MAX_MARKS - 2)) {
+   up(&saa->sem);
return -ENOSPC;
-   } else
-   return -ENOSPC;
+   }
+   }
saa->endmark[saa->endmarktail] =
saa->audtail;
saa->endmarktail++;
@@ -1928,8 +1932,10 @@ static long saa_write(struct video_devic
saa->audtail = 0;
}
if (copy_from_user(saa->audbuf + saa->audtail, buf,
-   blocksize)) 
-   return -EFAULT;
+   blocksize)) {
+   count = -EFAULT;
+   goto out;
+   }
saa->audtail += blocksize;
todo -= blocksize;
buf += blocksize;


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/



Linux 2.4.4-ac13

2001-05-22 Thread Alan Cox


ftp://ftp.kernel.org/pub/linux/kernel/people/alan/2.4/

 Intermediate diffs are available from
http://www.bzimage.org


Rather than starting to propogate these fixes to other drivers I'd be
greatful if the janitors would audit the changes (especially the sound one)
carefully. That way we can ripple correct changes to the other drivers
rather than duplicating several rounds of fixes into each driver we touch

2.4.4-ac13
o   Fix binfmt_misc compile bug (me)
o   Add missing locking to pms driver   (me)
o   Fix planb locking/rt deadlock   (me)
o   Add missing locking to saa5249 driver   (me)
o   Add missing locking to stradis driver   (me)
o   Add missing locking to zr36067 driver   (me)
o   Fix locking on trident sound driver (me)
| Probably all the other PCI sound drivers need doing too...
o   Fix wrong ioctl return on trident sound driver  (me)
o   Clean up NCR53c406 compile warnings (me)
o   Fix dmx3191 compile warnings, printk levels (me)
o   Fix coda cache compile warnings (me)
o   Fix a warning in jffs2  (me)
o   Fix nautilus SRM poweroff   (Richard Henderson)
o   Fix Alpha build bug (Richard Henderson)
o   Fix a hang in the maestro dock support  (Ben Pfaff)
o   Fix memory leak in ACPI drivers (Philip Wang)
o   Eliminate popping in cs46xx, fix powerdown  (Tom Woller)
o   Fix ps2esdi SMP build   (Rasmus Andersen)
o   Fix a hang on NFS write (Trond Myklebust)
o   Cleaned up assorted random warnings (me)

2.4.4-ac12
o   Just tracking Linus 2.4.5pre4   
- A chunk more merged with Linus
- dropped out some oddments that are now
  obsolete

2.4.4-ac11
o   Fix hang after "Freeing unused.." on S/390  (Dick Hitt)
o   Fix ramfs accounting bug(Christoph Rohland)
o   Raw HID access interface for USB(Brad Hards)
o   Fix missing release_region on QlogicFAS (Marcus Meissner)
o   Fix missing release region in NCR53c406 code(Marcus Meissner)
o   Make trident use the new pm callbacks   (Pavel Roskin)
o   Fix dmi ident handling  (Arjan van de Ven)
o   dc2xx locking fixes (Greg Kroah-Hartmann)
o   Fix overrun on the acm driver   (Greg Kroah-Hartmann)
o   Sitecom workarounds for mct-u232(Stelian Pop)
o   Makefile fixes  (Al Viro)
o   Make hgafb show logo if non modular only like   (me)
the rest
o   Merge back the invalidate_device changes into   (me)
the new cciss/cpqarray
o   Rio and sx serial driver updates(Rogier Wolff)
o   Add another SB AWE 32 variant to the tables (Jeremy Manson)
o   Fix serial.c warning(Jesper Juhl)
o   Basic maestro dock support  (Ben Pfaff)
o   Add defines for testing prefetch(Arjan van de Ven)
o   Protect nls.h from repeat include   (Anton Altaparmakov)
o   Clean up resource handling in esssolo1  (Marcus Meissner)
o   Fix mysnc on /dev/fb(Andrea Arcangeli)
o   Further IBM token ring updates  (Mike Phillips)
o   Fix usermode Linux makefile problem (Andrew Morton)
o   Merge first block of LVM changes(Heinz & others)
o   Forward port 2.2 syncppp flags features (Paul Fulghum)
o   Merge lp486e driver for 2.4 (Andries Brouwer)
| Experimental...
o   Merge new cmpci driver  (ChenLi Tien)
o   & remove 2.2 back compat gunge, modem gunge (me)
o   Update frame buffer project/mailing list data   (Geert Uytterhoeven)
o   Fix m68k bitops (Roman Zippel)
o   Add w83877f watchdog driver (Scott Jennings)
o   Merge A2232 serial driver   (Enver Haase)
o   Fix wrong memory free in isdn_ppp   (Christopher Kanaan)

2.4.4-ac10
o   Move cs46xx docs into the right spot(Arjan van de Ven)
o   Merge Linus 2.4.5pre3
- switch to Linus page fault race fixes
- switch to Linus arch/ppc
- merged serial driver cli fixes but also
  added an extra missing moxa check
- used -ac better version of comx fix
- used -ac better version of scsi fix
- now 2.4.5pre vm seems sane dump other vmscan
  experiments
[not merged; rage-xl code]
o   

2.4.4-ac9
o   Cle