Linux 2.6.9-ac3
Subsystems (3)
ftp://ftp.kernel.org/pub/linux/kernel/people/alan/linux-2.6/2.6.9/
2.6.9-ac3
o Fix syncppp/async ppp problems with new hangup (Paul Fulghum)
o Fix broken parport_pc unload (Andrea Arcangeli)
o Security fix for smbfs leak/overrun (Urban Widmark)
o Stop i8xx_tco making some boxes reboot on load (wim@iguana)
o Fix cpia/module tools deadlock (Peter Pregler)
o Fix missing suid_dumpable export (Alan Cox)
2.6.9-ac2
o Fix invalid kernel version stupidity (Adrian Bunk)
o Compiler ICE workaround/fixup (Linus Torvalds)
o Fix network DoS bug in 2.6.9 (Herbert Xu)
| Suggested by Sami Farin
o Flash lights on panic as in 2.4 (Andi Kleen)
2.6.9-ac1
Security Fixes
o Set VM_IO on areas that are temporarily (Alan Cox)
marked PageReserved (Serious bug)
o Lock ide-proc against driver unload (Alan Cox)
(very low severity)
Bug Fixes
o Working IDE locking (Alan Cox)
| And a great deal of review by Bartlomiej
o Handle E7xxx boxes with USB legacy flaws (Alan Cox)
Functionality
o Allow booting with "irqpoll" or "irqfixup" (Alan Cox)
on systems with broken IRQ tables.
o Support for setuid core dumping in some (Alan Cox)
environments (off by default)
o Support for drives that don't report geometry
o IT8212 support (raid and passthrough) (Alan Cox)
o Allow IDE to grab all unknown generic IDE (Alan Cox)
devices (boot with "all-generic-ide")
o Restore PWC driver (Luc Saillard)
Other
o Small pending tty clean-up to moxa (Alan Cox)
o Put VIA Velocity (tm) adapters under gigabit (VIA)
Quoted 3 lines
Bug Fixes
o Working IDE locking (Alan Cox)
| And a great deal of review by Bartlomiej
Mmm.. may still have some issues.
Here's what "cardctl eject" now gives on unload of ide-cs:
bad: scheduling while atomic!
[<c02a0f7e>] schedule+0x4de/0x4f0 [<c0119451>] __wake_up_common+0x41/0x60 [<c02a1079>] wait_for_completion+0x99/0xf0 [<c01193f0>] default_wake_function+0x0/0x20 [<c01193f0>] default_wake_function+0x0/0x20 [<c012c8a8>] queue_work+0x68/0x80 [<c012c791>] call_usermodehelper+0xe1/0xf0 [<c012c640>] __call_usermodehelper+0x0/0x70 [<c01bdc7d>] kset_hotplug+0x1dd/0x240 [<c01bdd3a>] kobject_hotplug+0x5a/0x60 [<c01be07b>] kobject_del+0x1b/0x40 [<c01be0b3>] kobject_unregister+0x13/0x30 [<c018cef9>] del_gendisk+0x39/0xe0 [<c0223cd8>] idedisk_cleanup+0x48/0x60 [<c0212fd6>] __ide_unregister_hwif+0x506/0x5c0 [<c0196be8>] ext3_mark_iloc_dirty+0x28/0x40 [<c02130b6>] ide_unregister_hwif+0x26/0x40 [<e092da23>] ide_release+0x73/0x80 [ide_cs] [<c0118992>] activate_task+0x62/0x80 [<e092d1b6>] ide_detach+0x86/0xa0 [ide_cs] [<e08b5b19>] unbind_request+0xc9/0xd0 [ds] [<e08b62fd>] ds_ioctl+0x3dd/0x690 [ds] [<c029c25d>] unix_dgram_sendmsg+0x36d/0x570 [<c0230ce0>] sock_sendmsg+0xe0/0x100 [<c013bd8b>] generic_file_aio_write_nolock+0x27b/0x4b0 [<c0185a7b>] proc_destroy_inode+0x1b/0x20 [<c0172b75>] destroy_inode+0x35/0x60 [<c0173ef2>] iput+0x62/0x90 [<c0185a7b>] proc_destroy_inode+0x1b/0x20 [<c0172b75>] destroy_inode+0x35/0x60 [<c0147bb3>] zap_pmd_range+0x63/0x80 [<c0147c23>] unmap_page_range+0x53/0x80 [<c0147d36>] unmap_vmas+0xe6/0x1d0 [<c014a4d7>] remove_vm_struct+0x77/0xa0 [<c014bf1f>] unmap_vma_list+0x1f/0x30 [<c014c2df>] do_munmap+0x14f/0x190 [<c016ba30>] sys_ioctl+0x100/0x270 [<c01060d9>] sysenter_past_esp+0x52/0x71
I see a similar dump when using delkin_cb on 2.6.9-ac3 as well.
Cheers
Signature · 2 lines
Mark Lord (hdparm keeper & the original "Linux IDE Guy")
PATCH 1/1 ide: fixes for 2.6.9-ac3 ide issues
The attached patch fixes two problems with 2.6.9-ac3:
1. restores the missing spin_unlock_irq() line, and
2. removes hwif from /proc/ide/ as part of __ide_unregister_hwif().
(and also removes a bogus compiler warning)
Signature · 2 lines
Mark Lord (hdparm keeper & the original "Linux IDE Guy")
drivers/ide/ide.c +3 -1
@@ -862,7 +862,7 @@int __ide_unregister_hwif (ide_hwif_t *hwif) { -ide_drive_t *drive; +ide_drive_t *drive =NULL ;/* keep compiler happy */ ide_hwif_t *g;static ide_hwif_t tmp_hwif;/* protected by ide_cfg_sem */ ide_hwgroup_t *hwgroup;
@@ -901,6 +901,7 @@ was_present = hwif->present; hwif->present =0 ; +spin_unlock_irq (&ide_lock);up (&ide_setting_sem);for (unit =0 ; unit <MAX_DRIVES ; ++unit) {
@@ -912,6 +913,7 @@#ifdef CONFIG_PROC_FS destroy_proc_ide_drives (hwif); +destroy_proc_ide_interface (hwif);#endif spin_lock_irq (&ide_lock);
drivers/ide/ide-proc.c +18 -12
@@ -821,24 +821,30 @@EXPORT_SYMBOL_GPL (ide_pci_create_host_proc);#endif +void destroy_proc_ide_interface (ide_hwif_t *hwif) +{ +int exist = (hwif->proc !=NULL ); +#if 0 +if (!hwif->present) +continue ; +#endif +if (exist) { +destroy_proc_ide_drives (hwif); +ide_remove_proc_entries (hwif->proc, hwif_entries); +remove_proc_entry (hwif->name, proc_ide_root); + hwif->proc =NULL ; + } +} + +EXPORT_SYMBOL (destroy_proc_ide_interface); +void destroy_proc_ide_interfaces (void ) {int h;for (h =0 ; h <MAX_HWIFS ; h++) {ide_hwif_t *hwif = &ide_hwifs[h]; -int exist = (hwif->proc !=NULL ); -#if 0 -if (!hwif->present) -continue ; -#endif -if (exist) { -destroy_proc_ide_drives (hwif); -ide_remove_proc_entries (hwif->proc, hwif_entries); -remove_proc_entry (hwif->name, proc_ide_root); - hwif->proc =NULL ; - }else -continue ; +destroy_proc_ide_interface (hwif); } }
include/linux/ide.h +1 -0
@@ -1076,6 +1076,7 @@extern void proc_ide_create (void );extern void proc_ide_destroy (void );extern void destroy_proc_ide_drives (ide_hwif_t *); +extern void destroy_proc_ide_interface (ide_hwif_t *);extern void create_proc_ide_interfaces (void );extern void ide_add_proc_entries (struct proc_dir_entry *,ide_proc_entry_t *,void *);extern void ide_remove_proc_entries (struct proc_dir_entry *,ide_proc_entry_t *);
Quoted 1 line · Alan Cox
ftp://ftp.kernel.org/pub/linux/kernel/people/alan/linux-2.6/2.6.9/
Since you're collecting and may end up being the source of all patches stable; any chance of a patch tarball too please?
Cheers,
Con
PATCH 1/1 delkin_cb: new driver for Cardbus IDE CF Adapter
In reply to Alan CoxThis is the first 2.6 release of a PCI-IDE module to support the Delkin/ASKA/Workbit Cardbus CompactFlash<-->IDE adaptor. It may (or not) also work for other versions of this hardware (eg. SD).
This module is based on the existing ide-cs module,
and works fine for me (with other fixes previously posted for -ac3).
Patch is against 2.6.9-ac3.
Signature · 2 lines
Mark Lord (hdparm keeper & the original "Linux IDE Guy")
drivers/ide/Kconfig +7 -0
@@ -166,6 +166,13 @@ Support for outboard IDE disks, tape drives, and CD-ROM drives connected through a PCMCIA card. +config BLK_DEV_DELKIN + tristate "Cardbus IDE support (Delkin/ASKA/Workbit)" + depends on PCMCIA && PCI + help + Support for Delkin, ASKA, and Workbit Cardbus CompactFlash + Adapters. This may also work for similar SD and XD adapters. + config BLK_DEV_IDECD tristate "Include IDE/ATAPI CDROM support" ---help---
drivers/ide/pci/delkin_cb.c +139 -0
139 lines not on this page · raw message
drivers/ide/pci/Makefile +1 -0
@@ -9,6 +9,7 @@ obj-$(CONFIG_BLK_DEV_CS5530) += cs5530.o obj-$(CONFIG_BLK_DEV_SC1200) += sc1200.o obj-$(CONFIG_BLK_DEV_CY82C693) += cy82c693.o +obj-$(CONFIG_BLK_DEV_DELKIN) += delkin_cb.o obj-$(CONFIG_BLK_DEV_HPT34X) += hpt34x.o obj-$(CONFIG_BLK_DEV_HPT366) += hpt366.o #obj-$(CONFIG_BLK_DEV_HPT37X) += hpt37x.o
drivers/scsi/nsp32.h +0 -1
@@ -22,7 +22,6 @@* VENDOR/DEVICE ID */ #define PCI_VENDOR_ID_IODATA 0x10fc -#define PCI_VENDOR_ID_WORKBIT 0x1145#define PCI_DEVICE_ID_NINJASCSI_32BI_CBSC_II 0x0005#define PCI_DEVICE_ID_NINJASCSI_32BI_KME 0xf007
include/linux/pci_ids.h +3 -0
@@ -2331,3 +2331,6 @@#define PCI_DEVICE_ID_ARK_STING 0xa091#define PCI_DEVICE_ID_ARK_STINGARK 0xa099#define PCI_DEVICE_ID_ARK_2000MT 0xa0a1 + +#define PCI_VENDOR_ID_WORKBIT 0x1145 +#define PCI_DEVICE_ID_WORKBIT_CB 0xf021
Quoted 1 line · Alan Cox
ftp://ftp.kernel.org/pub/linux/kernel/people/alan/linux-2.6/2.6.9/
If you're collection ide patchlets for later inclusion, please include this as well. It makes sure we remove the ideX directory in proc when an interface is removed. With ide-cs and repeated insert/reject cycles, we end up with tons of ide2 entries.
include/linux/ide.h renamed from opt/kernel/linux-2.6/include/linux/ide.h +1 -0
@@ -1063,6 +1063,7 @@extern void proc_ide_create (void );extern void proc_ide_destroy (void );extern void destroy_proc_ide_drives (ide_hwif_t *); +extern void destroy_proc_ide_interfaces (void );extern void create_proc_ide_interfaces (void );extern void ide_add_proc_entries (struct proc_dir_entry *,ide_proc_entry_t *,void *);extern void ide_remove_proc_entries (struct proc_dir_entry *,ide_proc_entry_t *);
drivers/ide/ide.c renamed from opt/kernel/linux-2.6/drivers/ide/ide.c +1 -0
@@ -798,6 +798,7 @@#ifdef CONFIG_PROC_FS destroy_proc_ide_drives (hwif); +destroy_proc_ide_interfaces ();#endif hwgroup = hwif->hwgroup;
drivers/ide/ide-proc.c renamed from opt/kernel/linux-2.6/drivers/ide/ide-proc.c +2 -3
@@ -731,10 +731,9 @@for (h =0 ; h <MAX_HWIFS ; h++) {ide_hwif_t *hwif = &ide_hwifs[h];int exist = (hwif->proc !=NULL ); -#if 0 -if (!hwif->present) + +if (hwif->present)continue ; -#endif if (exist) {destroy_proc_ide_drives (hwif);ide_remove_proc_entries (hwif->proc, hwif_entries);
Signature · 1 line
Jens Axboe