2002-10-07 18:58:28

by Linus Torvalds

[permalink] [raw]
Subject: Linux v2.5.41


Tons of stuff.?Mucho merges with the "A-Team" (Alan, Al, Alexey, Andrew,
Anton, Arjan, Arnaldo and Art), but the "M-Team" (Maksim, Marcel, Martin's
and Mike) is a close runner up. The J's are doing well too.

Linus "Go L, go L" Torvalds

----

Summary of changes from v2.5.40 to v2.5.41
============================================

Alan Cox <[email protected]>:
o 2.5 trivial - MCA comments
o disable GMX2000
o PC110 pad docs are wrong
o Forward port AMD random number generator
o 2.5 Fix set_bit abuse in ATP driver
o move tulip into ethernet 10,100
o aacraid driver for 2.5
o forward port toughbook fixes for maestro3
o fix warning in longhaul.c
o update docs to match maestro3 changes
o flush the right thing in the rd cache
o Clean up sf16fmi radio
o Fix cs89x0 warnings
o NCR5380 port to 2.5 first pass
o Fix stupid scsi setup bug in 53c406, fix addressing
o first pass at the ancient wd7000 crap
o bring telephony in line with 2.4
o add the mini 4x6 font from uclinux
o make jffs/jffs2 work with signal changes
o 6x4 font headers
o sane minimum proc count

Alexander Viro <[email protected]>:
o pd switched to dynamic allocation
o pd.c cleanups
o mtd switched to dynamic allocation
o md switched to dynamic allocation
o old cdroms switched to dynamic allocation
o loop.c switched to dynamic allocation
o rd.c switched to dynamic allocation
o hd.c switched to dynamic allocation
o floppy.c switched to dynamic allocation
o pcd switched to alloc_disk()
o initrd fix (missing set_capacity)
o umem switched to alloc_disk()
o ps2esdi switched to alloc_disk()
o xd switched to alloc_disk()
o acorn mfm switched to alloc_disk()
o i2o switched to alloc_disk()
o stram/z2ram switched to alloc_disk()
o nbd switched to alloc_disk()
o dasd switched to alloc_disk()
o ubd switched to alloc_disk()
o swim* switched to alloc_disk()
o jsflash switched to alloc_disk()
o xpram switched to alloc_disk()
o atari floppy switched to alloc_disk()
o amiga floppy switched to alloc_disk()
o acorn floppy switched to alloc_disk()
o paride floppy switched to alloc_disk()
o DAC960 switched to alloc_disk()
o cciss.c switched to use of alloc_disk()
o fix of bug in previous DAC960 patch
o cpqarray switched to alloc_disk()
o acsi switched to alloc_disk()

Alexey Kuznetsov <[email protected]>:
o net/ipv6/mcast.c: Handle IPV6_LEAVE_GROUP with ipv6mr_interface==0

Andrew Morton <[email protected]>:
o misc (mainly documentation)
o sys_ioperm atomicity fix
o mprotect bugfix
o remove bogus BUG in page_remove_rmap()
o radix tree gang lookup
o truncate/invalidate_inode_pages rewrite
o add /proc/vmstat (start of /proc/stat cleanup)
o add kswapd success accounting to /proc/vmstat
o "io wait" process accounting
o convert direct-io to use bio_add_page()
o fix /proc/vmstat:pgpgout/pgpgin
o hugetlb kmap fix
o remove debug code from list_del()
o distinguish between address span of a zone and the number
o truncate fixes
o O_DIRECT invalidation fix
o mempool wakeup fix
o separation of direct-reclaim and kswapd functions
o fix reclaim for higher-order allocations
o use bio_get_nr_vecs() hint for pagecache writeback
o Documentation/filesystems/ext3.txt
o use bio_get_nr_vecs() for sizing direct-io BIOs
o remove write_mapping_buffers()
o use buffer_boundary() for writeback scheduling hints
o remove page->virtual
o stricter dirty memory clamping
o clean up ll_rw_block()
o smbfs compile fix

Anton Blanchard <[email protected]>:
o 64-bit timer fix

Arjan van de Ven <[email protected]>:
o Remove sys_call_table export

Arnaldo Carvalho de Melo <[email protected]>:
o LLC: remove unused mac_dev_peer
o LLC: grab the skb in llc_conn_state_event, use llc_pdu_sn_hdr
o LLC: kill llc_conn_free_ev, use plain kfree_skb instead
o LLC: start using seq_file for proc stuff
o LLC: now it only uses seq_file for proc stuff
o IPX: use seq_file for proc stuff
o X25: use seq_file for proc stuff
o X25: fix permission bogosity in create_proc_entry usage
o Appletalk: use seq_file for proc stuff

Art Haas <[email protected]>:
o C99 designated initializers for include/linux/isapnp.h
o [IPV4/IPV6]: C99 designated initializers

Ben Collins <[email protected]>:
o IEEE1394 updates to 2.5.40
o More 1394 updates

Bjorn Andersson <[email protected]>:
o net/8021q/vlan_dev.c: Fix lockup when setting egress priority

Brian Gerst <[email protected]>:
o struct super_block cleanup - hpfs
o struct super_block cleanup - ext3
o unistd.h cleanups

Christer Weinigel <[email protected]>:
o Updated NatSemi SCx200 patches for Linux-2.5

Christoph Hellwig <[email protected]>:
o XFS: temporarily switch to schedule_task for I/O completion
o XFS: remove description of mount option not in mainline

Christoph Hellwig <[email protected]>:
o XFS updates for workqueues
o workqueue flush on destroy
o no more flush_workqueue in xfs
o Remove some more devfs crap

Chuck Lever <[email protected]>:
o add struct file* to ->direct_IO addr space op
o remove NFS client internal dependence on page->index
o initial support for NFS direct I/O for 2.5

Daisy Chang <[email protected]>:
o sctp: Added the 'Unrecognized Parameter' handling
o Remove excessive spaces
o Remove more excessive spaces

Dave Kleikamp <[email protected]>:
o JFS: Releasing LOGGC_LOCK too early

David Brownell <[email protected]>:
o USB: framework for testing usbcore
o pci/pool.c less spinlock abuse

David S. Miller <[email protected]>:
o [EQL]: Rewrite to be SMP safe
o net/sctp/inqueue.c: Convert to work queue
o net/ipv6/route.c: Fix typo in previous change
o net/ipv6/ipv6_sockglue.c: Support IPV6_ADDRFORM getsockopt
o [SPARC64]: header cleanup, extern inline --> static inline
o include/asm-sparc64/pstate.h: Kill asm routines, nobody uses them
o [SPARC]: Update for dequeue_signal changes
o [SPARC]: Uninline kmap atomic operations
o arch/sparc64/defconfig: Update
o [VLAN]: Accept zero vlan at unregister
o arch/sparc64/mm/init.c: Initialize {min,max}_low_pfn and max_pfn
properly
o net/core/dev.c: Print lethal dev/protocol errors with KERN_CRIT
o net/8021q/vlan.c: Unsigned value may never be < 0

David S. Miller <[email protected]>:
o USB: usbkbd fix

Florian Thiel <[email protected]>:
o Documentation/networking/tuntap.txt: Completely rework, this
document was much outdated

GOTO Masanori <[email protected]>:
o NinjaSCSI-32Bi/UDE PCI/Cardbus SCSI core driver
o NinjaSCSI-32Bi/UDE PCI/Cardbus SCSI driver incidentals

Greg Kroah-Hartman <[email protected]>:
o USB: speedtouch driver fix due to ioctl function parameter change
o hotplug: fix for non-pci and usb calls
o USB: split the usb serial console code out into its own file
o PCI: remove pcibios_find_class()
o PCI: remove pci_find_device()
o PCI: removed pcibios_present()
o PCI: fixed remaining usages of pcibios_present() that I missed
previously
o PCI: remove usages of pcibios_find_class()
o PCI: remove pcibios_find_device() from the 53c7,8xx.c SCSI driver

Hideaki Yoshifuji <[email protected]>:
o [IPv6]: Rework default router selection
o [IPV4/IPV6]: General cleanups

Hugh Dickins <[email protected]>:
o Oracle startup split_vma fix
o tmpfs swapoff deadlock
o cleanup of page->flags manipulations
o shmem_rename() fixes
o tpmfs: fake a non-zero size for directories
o tmpfs: minor fixes
o add shmem_vm_writeback()
o shmem truncate race fix
o shmem: remove info->sem
o consolidate shmem_getpage and shmem_getpage_locked
o shmem: avoid metadata leakiness
o put shmem metadata in highmem
o shmem accounting fixes
o shmem: misc changes and cleanups
o shmem whitespace cleanups

Ingo Molnar <[email protected]>:
o Workqueue Abstraction
o dump_stack() cleanup, BK-curr
o futex-2.5.40-B5
o sigfix-2.5.40-D6
o timer-2.5.40-F7
o workqueue lossage (fwd)

Ivan Kokshaysky <[email protected]>:
o alpha compile fixes

James Bottomley <jejb@mulgrave.(none)>:
o first cut at fixing unable to requeue with no outstanding commands
o add cache synchronisation to sd
o remove mid-layer assumption that devices must be able to queue at
least one command
o [PATCH SCSI] make BUSY status stall the device for a while
o [SCSI] remove debugging from zero depth queue handling
o [SCSI] remove comment that every host is expected to be able to
queue at least one command
o [SCSI] tidy up sd synchronize cache messages into a single line
o [SCSI] sd moved synchronisation from release to detach

Jaroslav Kysela <[email protected]>:
o ALSA update [1-12] - 2002/08/09-2002/10/01
o ALSA fixes
o fix sgalaxy.c driver cli/sti code

Jeff Garzik <[email protected]>:
o Fix natsemi net drvr build, s/KERN_WARN/KERN_WARNING/
o airo wireless netdrvr: s/routine/func/ to fix build (wq-related
breakage)

Jens Axboe <[email protected]>:
o deadline updates
o ide-cd updates
o ide config.in
o cleanup taskfile submit
o remove _P/_p delaying iops
o ide low level driver updates
o pass elevator type by reference, not value
o ide io port types

Jochen Karrer <[email protected]>:
o USB: string query fix

Jon Grimm <[email protected]>:
o sctp: mark functions needed by testsuite as SCTP_STATIC
o sctp: Fix GFP_KERNEL allocation with lock held
o sctp: Fix GFP_KERNEL allocation with lock held
o sctp: Fix bug where we were erroneously throwing away packets >
frag_point. (jgrimm)
o sctp: Cleanup 'sacked' queue upon teardown. (jgrimm)

Kai Germaschewski <[email protected]>:
o NET: Do not use dev->hard_header_len in eth_header()
o NET: Do not use dev->hard_header_len in eth_type_trans()
o ISDN: Use a skb queue instead of open coded solution in isdn_ppp.c
o ISDN: More moving of per-channel stuff into isdn_net_dev
o ISDN: More sorting out of members for isdn_net_local / isdn_net_dev
o ISDN: adapt to task queue changes
o ISDN: Use list.h list for list of online channels
o Cset exclude:
[email protected]|ChangeSet|20020929194514|33195
o kbuild: Small cleanups
o kbuild: Remove xfs vpath hack
o kbuild: Standardize ACPI Makefiles
o kbuild: Small quirks for separate obj / src trees
o kbuild: Add some bug traps
o kbuild: Handle $(core-y) the same way as $(init-y), $(drivers-y)
etc
o kbuild: Use $(core-y) and friends directly
o kbuild: Always build helpers in script/
o kbuild: Don't cd into subdirs during build
o kbuild: include arch-Makefile in common place
o kbuild: Adapt mrproper targets
o ISDN: Alloc isdn_net_dev and struct net_device separately
o ISDN: Use generic eth_type_trans()
o ISDN: Separate hard_start_xmit() for different types of ISDN net
devices
o ISDN: Make hard_start_xmit() device type specific
o kbuild: Fix build with modversions
o kbuild: small fixes
o kbuild: Nicer warnings
o kbuild: Don't descend into arch/i386/boot
o kbuild: Put .bss back to the end of vmlinux
o ISDN: New file for net interface config and basic setup
o ISDN: Convert remaining users of the old slave list
o ISDN: split isdn_net state machine
o kbuild: fix make -jN warnings
o ISDN: Reuse the dial_timer for idle hangup
o kbuild: Fix arch/i386/boot clean targets
o ISDN: Make idle timeout and retry wait parts of the state machine
o Cset exclude:
[email protected]|ChangeSet|20021005215705|12351
o kbuild: Fix kallsyms build
o kbuild: Fix make clean in scripts/lxdialog
o ISDN: tidy up isdn_net_log_skb()
o ISDN: Replace rx_netdev, st_netdev by a single field
o ISDN: Separate state machine actions into single functions
o ISDN: Move call control to isdn_net_lib.c
o ISDN: Make the state machine explicit
o ISDN: Use a tasklet for the Eicon driver
o ISDN: Extend state machine
o ISDN: Allow for return values in the state machine

Kai Makisara <[email protected]>:
o SCSI tape devfs & driverfs fix

Lennert Buytenhek <[email protected]>:
o [NET]: Remove net_call_rx_atomic
o [BRIDGE]: Skip the LISTENING_STP state if STP is disabled
o [BRIDGE]: take BR_NETPROTO_LOCK for unlinking bridge device slaves

Linus Torvalds <[email protected]>:
o Update to DRI CVS tree
o Fix sigio process lookup handling
o Undo due to weird behaviour on various boxes Cset exclude:
[email protected]|ChangeSet|20021003201553|58706
o Use dump_stack() for the USB storage buffer size checking, to make
it possible to track down.
o Increase the delay in waiting for pcmcia drivers to register
o Make wildcard dependency filenames be relative, not absolute
o Don't add the $(obj) prefix twice
o bitmap_member() => DECLARE_BITMAP()
o Add <linux/linkage.h> include to get FASTCALL() define
o IO scheduler is a subsystem, not a driver. Initialize it as such
o Oops, it's 'xxx_initcall()', not 'xxx_init()' (except for the
legacy module_init(), just to confuse people).
o Export the gdt table GPL-only for APM
o Linux v2.5.41

Luc Van Oostenryck <[email protected]>:
o 2.5.40: warning fix for drivers/usb/core/usb.c

Maksim Krasnyanskiy <maxk@viper.(none)>:
o Sync up Bluetooth core with 2.4.x
o Bluetooth USB driver update
o Syncup HCI UART driver with 2.4.x
o BNEP (Bluetooth Network Encapsulation Protocol) support
o RFCOMM protocol support
o Fix designated initializers in RFCOMM TTY layer

Manfred Spraul <[email protected]>:
o drivers/net/natsemi.c: create a function for rx refill
o drivers/net/natsemi.c: combine drain_ring and init_ring
o drivers/net/natsemi.c: OOM handling
o drivers/net/natsemi.c: stop abusing netdev_device_{de,a}ttach
o drivers/net/natsemi.c: write MAC address back to the chip
o drivers/net/natsemi.c: lengthen EEPROM timeout, and always warn
about all timeouts
o drivers/net/natsemi.c: comments update
o pipe bugfix /cleanup

Marcel Holtmann <[email protected]>:
o Bluetooth kbuild fix and config cleanup

Martin Devera <[email protected]>:
o net/sched/sch_htb.c: Check that node is really leaf before
modifying cl->un.leaf

Martin Schwidefsky <[email protected]>:
o s390 update (1/27): arch
o s390 update (2/27): include
o s390 update (3/27): drivers
o s390 update (4/27): syscalls
o s390 update (5/27): ibm partition
o s390 update (6/27): config
o s390 update (7/27): dasd driver
o s390 update (8/27): xpram driver
o s390 update (9/27): bottom half removal
o s390 update (10/27): bitops bug
o s390 update (11/27): 31 bit emulation
o s390 update (12/27): linker scripts
o s390 update (13/27): preemption support
o s390 update (14/27): inline optimizations
o s390 update (15/27): 64 bit spinlocks
o s390 update (16/27): timer interrupts
o s390 update (17/27): beautification
o s390 update (18/27): fpu registers
o s390 update (19/27): ptrace cleanup
o s390 update (20/27): signal quiesce
o s390 update (21/27): sync i/o bug
o s390 update (22/27): s390_process_IRQ
o s390 update (23/27): channel paths
o s390 update (24/27): boot sequence
o s390 update (25/27): init call
o s390 update (26/27): /proc/interrupts
o s390 update (27/27): control characters
o s390 dasd driver update

Matthew Wilcox <[email protected]>:
o [NET]: Move common ioctl code up a layer
o Remove another for_each_process loop

Mike Anderson <[email protected]>:
o sg might_sleep fixes

Paul Mackerras <[email protected]>:
o pcmcia resource allocation fix

Pavel Machek <[email protected]>:
o Swsusp updates, do not thrash ide disk on suspend

Pete Zaitcev <[email protected]>:
o mm/highmem.c: Include asm/tlbflush.h
o arch/sparc/kernel/sun4d_irq.c: init_timers --> sparc_init_timers

Petko Manolov <[email protected]>:
o USB: rtl8150 update
o USB: pegasus update

Petr Vandrovec <[email protected]>:
o FAT/VFAT memory corruption during mount()

Richard Henderson <[email protected]>:
o alpha strncpy fix

Russell King <[email protected]>:
o [SERIAL] Allow PCMCIA serial cards to work again
o [SERIAL] Fix serial includes for modversions/modules

Steven Whitehouse <[email protected]>:
o Trivial fix to aio.c:__aio_get_req()

Tim Hockin <[email protected]>:
o Add dp83816 support to drivers/net/natsemi.c
o drivers/net/natsemi.c: janitorial - whitespace, wrap, and indenting
cleanup
o drivers/net/natsemi.c: stop tx/rx and reinit_ring on a PHY reset
o drivers/net/natsemi.c: cleanup version string, fix compile error
o drivers/net/natsemi.c: boost some printk() levels to WARN

Trond Myklebust <[email protected]>:
o NFS: readdir reply truncated
o NFS: readdir reply truncated!



2002-10-07 19:27:32

by Robert Love

[permalink] [raw]
Subject: Re: Linux v2.5.41

On Mon, 2002-10-07 at 15:22, Linus Torvalds wrote:

> I don't think there are ready-made binary packages, but maybe some
> enterprising and helpful - and trustworthy - soul can do that and get
> vendors to add it to their upgrade list (or at least make it available in
> contrib).

I am enterprising but do not know about trustworthy :)

I have RPM packages available here:

http://tech9.net/rml/procps

for the 2.0.9 tree and a CVS dump of a day or two ago as well as
tarballs of the source tree for 2.0.9 and CVS.

I try to keep the CVS dumps fairly up-to-date as we break stuff in
2.5-mm. Rik and I have also added quite a bit of interesting new
features, so I would recommend everyone try out the new procps.

Robert "my last name is Love can I be L-Team too ?" Love


2002-10-07 19:17:13

by Linus Torvalds

[permalink] [raw]
Subject: Re: Linux v2.5.41


On Mon, 7 Oct 2002, Linus Torvalds wrote:
>
> Tons of stuff.?Mucho merges with the "A-Team" (Alan, Al, Alexey, Andrew,
> Anton, Arjan, Arnaldo and Art), but the "M-Team" (Maksim, Marcel, Martin's
> and Mike) is a close runner up. The J's are doing well too.

Oh, and I totally forgot ..

The merge from Andrew merged in various VM counter updates, which change
/proc accounting in ways that make some of the system monitoring stuff
unhappy. In particular, you'll find "vmstat" dumping core, and "top" has a
few glitches too.

You can fix all of this by just upgrading to a newer "procps" package. Rik
maintains a procps-2.0.9 (many of the stats were his) at

http://surriel.com/procps/

I don't think there are ready-made binary packages, but maybe some
enterprising and helpful - and trustworthy - soul can do that and get
vendors to add it to their upgrade list (or at least make it available in
contrib).

Linus

2002-10-07 20:29:09

by Gregoire Favre

[permalink] [raw]
Subject: Re: Linux v2.5.41 -> don't compil

Hello,

don't compil:

make -f drivers/message/i2o/Makefile
gcc -Wp,-MD,drivers/message/i2o/.i2o_pci.o.d -D__KERNEL__ -Iinclude -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i686 -Iarch/i386/mach-generic -nostdinc -iwithprefix include -DMODULE -DKBUILD_BASENAME=i2o_pci -c -o drivers/message/i2o/i2o_pci.o drivers/message/i2o/i2o_pci.c
drivers/message/i2o/i2o_pci.c: In function `i2o_pci_core_attach':
drivers/message/i2o/i2o_pci.c:371: warning: implicit declaration of function `i2o_sys_init'
gcc -Wp,-MD,drivers/message/i2o/.i2o_core.o.d -D__KERNEL__ -Iinclude -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i686 -Iarch/i386/mach-generic -nostdinc -iwithprefix include -DMODULE -DKBUILD_BASENAME=i2o_core -DEXPORT_SYMTAB -c -o drivers/message/i2o/i2o_core.o drivers/message/i2o/i2o_core.c
drivers/message/i2o/i2o_core.c:45:26: linux/tqueue.h: No such file or directory
In file included from drivers/message/i2o/i2o_core.c:54:
drivers/message/i2o/i2o_lan.h:139: field `i2o_batch_send_task' has incomplete type
make[3]: *** [drivers/message/i2o/i2o_core.o] Error 1
make[2]: *** [drivers/message/i2o] Error 2
make[1]: *** [drivers/message] Error 2
make: *** [drivers] Error 2

Gr?goire
________________________________________________________________
http://ulima.unil.ch/greg ICQ:16624071 mailto:[email protected]

2002-10-07 20:04:53

by David Miller

[permalink] [raw]
Subject: Re: Linux v2.5.41

From: Vojtech Pavlik <[email protected]>
Date: Mon, 7 Oct 2002 22:03:03 +0200

The embedded people always cry when I want to kill the usbkbd module ...

They have a point, usbkbd.c is 9K of source, on sparc64 hid.o is some
50K of object code. :-)

2002-10-07 20:15:31

by Alan

[permalink] [raw]
Subject: Re: Linux v2.5.41

On Mon, 2002-10-07 at 21:03, Vojtech Pavlik wrote:
> > configuration and let me and Vojtech know if something
> > actually fails. The hid must support all devices which were
> > supported bye usbkbd.
>
> The embedded people always cry when I want to kill the usbkbd module ...

Its very handy for small systems, this is true. The same people bitch at
me when I break hd.c 8)

2002-10-07 19:59:50

by David Miller

[permalink] [raw]
Subject: Re: Linux v2.5.41

From: Pete Zaitcev <[email protected]>
Date: Mon, 7 Oct 2002 16:01:51 -0400

> David S. Miller <[email protected]>:
> o USB: usbkbd fix

Dave, why do you even bother with usbkbd? It MUST DIE and get
removed. Please, do me a favour: kill CONFIG_USB_KBD from your
configuration and let me and Vojtech know if something
actually fails. The hid must support all devices which were
supported bye usbkbd.

Peter, first relax. :-)

Second, I was merely fixing a build error reported by a user.

I personally use USB HID, but as long as USBKBD sits in the tree, it
should at least build.

2002-10-07 19:56:18

by Pete Zaitcev

[permalink] [raw]
Subject: Re: Linux v2.5.41

> David S. Miller <[email protected]>:
> o USB: usbkbd fix

Dave, why do you even bother with usbkbd? It MUST DIE and get
removed. Please, do me a favour: kill CONFIG_USB_KBD from your
configuration and let me and Vojtech know if something
actually fails. The hid must support all devices which were
supported bye usbkbd.

-- Pete

2002-10-07 20:09:24

by Vojtech Pavlik

[permalink] [raw]
Subject: Re: Linux v2.5.41

On Mon, Oct 07, 2002 at 01:01:30PM -0700, David S. Miller wrote:

> From: Vojtech Pavlik <[email protected]>
> Date: Mon, 7 Oct 2002 22:03:03 +0200
>
> The embedded people always cry when I want to kill the usbkbd module ...
>
> They have a point, usbkbd.c is 9K of source, on sparc64 hid.o is some
> 50K of object code. :-)

I know. That's why it still exists.

--
Vojtech Pavlik
SuSE Labs

2002-10-07 19:59:37

by Vojtech Pavlik

[permalink] [raw]
Subject: Re: Linux v2.5.41

On Mon, Oct 07, 2002 at 04:01:51PM -0400, Pete Zaitcev wrote:
> > David S. Miller <[email protected]>:
> > o USB: usbkbd fix
>
> Dave, why do you even bother with usbkbd? It MUST DIE and get
> removed. Please, do me a favour: kill CONFIG_USB_KBD from your
> configuration and let me and Vojtech know if something
> actually fails. The hid must support all devices which were
> supported bye usbkbd.

The embedded people always cry when I want to kill the usbkbd module ...

--
Vojtech Pavlik
SuSE Labs

2002-10-07 20:58:10

by Jasper Spaans

[permalink] [raw]
Subject: [PATCH] Fix IPv6 [was Re: Linux v2.5.41]

On Mon, Oct 07, 2002 at 12:02:59PM -0700, Linus Torvalds wrote:

> o [IPV4/IPV6]: General cleanups

Some part of this makes my tree noncompilable:

net/ipv6/addrconf.c: In function `ipv6_addr_type':
net/ipv6/addrconf.c:155: case label does not reduce to an integer constant
net/ipv6/addrconf.c:159: case label does not reduce to an integer constant
etc.

Please apply this (undo-) patch...

(using gcc 2.95.4 this does compile)

Regards,

Jasper

--- linux-2.5.40/net/ipv6/addrconf.c~ 2002-10-07 22:26:37.000000000 +0200
+++ linux-2.5.40/net/ipv6/addrconf.c 2002-10-07 22:27:43.000000000 +0200
@@ -151,16 +151,16 @@
if ((st & htonl(0xFF000000)) == htonl(0xFF000000)) {
int type = IPV6_ADDR_MULTICAST;

- switch((st & htonl(0x00FF0000))) {
- case htonl(0x00010000):
+ switch((st & __constant_htonl(0x00FF0000))) {
+ case __constant_htonl(0x00010000):
type |= IPV6_ADDR_LOOPBACK;
break;

- case htonl(0x00020000):
+ case __constant_htonl(0x00020000):
type |= IPV6_ADDR_LINKLOCAL;
break;

- case htonl(0x00050000):
+ case __constant_htonl(0x00050000):
type |= IPV6_ADDR_SITELOCAL;
break;
};


--
Jasper Spaans
http://jsp.ds9a.nl/contact/
Tel/Fax: +31-84-8749842
``Got no clue? Too bad for you.''

2002-10-08 01:03:37

by YOSHIFUJI Hideaki

[permalink] [raw]
Subject: Re: [PATCH] Fix IPv6

In article <[email protected]> (at Mon, 7 Oct 2002 23:03:43 +0200), Jasper Spaans <[email protected]> says:

> On Mon, Oct 07, 2002 at 12:02:59PM -0700, Linus Torvalds wrote:
>
> > o [IPV4/IPV6]: General cleanups
>
> Some part of this makes my tree noncompilable:
>
> net/ipv6/addrconf.c: In function `ipv6_addr_type':
> net/ipv6/addrconf.c:155: case label does not reduce to an integer constant
> net/ipv6/addrconf.c:159: case label does not reduce to an integer constant
> etc.

Agreed.

BTW, I repleced __constant_{hton,ntoh}{l,s}() with {hton,htoh}{l,s}(),
but I believe I did NOT do it for "case" in my patch...

--
Hideaki YOSHIFUJI @ USAGI Project <[email protected]>
GPG FP: 9022 65EB 1ECF 3AD1 0BDF 80D8 4807 F894 E062 0EEA

2002-10-08 01:23:53

by Alexey Kuznetsov

[permalink] [raw]
Subject: Re: [PATCH] Fix IPv6

Hello!

> Agreed.

Me too.

Sigh... that's why code is full of __constant_* in the most unexpected places.
For my straight brains it is much easier to use __constant_* each time when
I know forward that it is a constant instead of keeping in mind all
the gcc bugs. Well, the beast which does not eliminate empty loops,
is unlikely to eliminate if (is_constant_p()) too, right? :-)

Alexey

2002-10-08 11:57:15

by Adrian Bunk

[permalink] [raw]
Subject: Re: Linux v2.5.41

On Mon, 7 Oct 2002, Linus Torvalds wrote:

>...
> Summary of changes from v2.5.40 to v2.5.41
> ============================================
>...
> Pavel Machek <[email protected]>:
> o Swsusp updates, do not thrash ide disk on suspend
>...

This change causes the following compile error with CONFIG_DISCONTIGMEM
enabled:

<-- snip -->

...
gcc -Wp,-MD,kernel/.suspend.o.d -D__KERNEL__ -Iinclude -Wall
-Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer
-fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2
-march=k6 -Iarch/i386/mach-generic -nostdinc -iwithprefix include
-DKBUILD_BASENAME=suspend -c -o kernel/suspend.o kernel/suspend.c
...
kernel/suspend.c: In function `count_and_copy_data_pages':
kernel/suspend.c:479: `max_mapnr' undeclared (first use in this function)
kernel/suspend.c:479: (Each undeclared identifier is reported only once
kernel/suspend.c:479: for each function it appears in.)
make[1]: *** [kernel/suspend.o] Error 1
make: *** [kernel] Error 2

<-- snip -->


cu
Adrian

--

You only think this is a free country. Like the US the UK spends a lot of
time explaining its a free country because its a police state.
Alan Cox

2002-10-08 13:38:35

by William Lee Irwin III

[permalink] [raw]
Subject: Re: Linux v2.5.41

On Mon, 7 Oct 2002, Linus Torvalds wrote:
>> Pavel Machek <[email protected]>:
>> o Swsusp updates, do not thrash ide disk on suspend

On Tue, Oct 08, 2002 at 02:02:50PM +0200, Adrian Bunk wrote:
> This change causes the following compile error with CONFIG_DISCONTIGMEM
> enabled:
> kernel/suspend.c: In function `count_and_copy_data_pages':
> kernel/suspend.c:479: `max_mapnr' undeclared (first use in this function)
> kernel/suspend.c:479: (Each undeclared identifier is reported only once
> kernel/suspend.c:479: for each function it appears in.)
> make[1]: *** [kernel/suspend.o] Error 1
> make: *** [kernel] Error 2

max_mapnr must die. It's mostly buggy largely because it's not what
people think it is. Most of the time people want max_pfn, and the rest
they don't want it at all.

Pavel, you might also want to make config options conflict instead of
panicking.

It's mostly an expression of opinion, but here's a patch.
Totally untested, ignoring all but x86's arch code, vs. 2.5.41:


diff -urN linux-2.5.41/arch/i386/config.in swsusp-2.5.41/arch/i386/config.in
--- linux-2.5.41/arch/i386/config.in 2002-10-07 11:24:02.000000000 -0700
+++ swsusp-2.5.41/arch/i386/config.in 2002-10-08 06:17:11.000000000 -0700
@@ -441,7 +441,7 @@

mainmenu_option next_comment
comment 'Kernel hacking'
-if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
+if [ "$CONFIG_EXPERIMENTAL" = "y" -a "$CONFIG_DISCONTIGMEM" != "y" ]; then
dep_bool 'Software Suspend (EXPERIMENTAL)' CONFIG_SOFTWARE_SUSPEND $CONFIG_PM
fi

diff -urN linux-2.5.41/arch/i386/mm/discontig.c swsusp-2.5.41/arch/i386/mm/discontig.c
--- linux-2.5.41/arch/i386/mm/discontig.c 2002-10-07 11:24:39.000000000 -0700
+++ swsusp-2.5.41/arch/i386/mm/discontig.c 2002-10-08 06:18:19.000000000 -0700
@@ -271,13 +271,3 @@
totalram_pages += totalhigh_pages;
#endif
}
-
-void __init set_max_mapnr_init(void)
-{
-#ifdef CONFIG_HIGHMEM
- highmem_start_page = NODE_DATA(0)->node_zones[ZONE_HIGHMEM].zone_mem_map;
- num_physpages = highend_pfn;
-#else
- num_physpages = max_low_pfn;
-#endif
-}
diff -urN linux-2.5.41/arch/i386/mm/init.c swsusp-2.5.41/arch/i386/mm/init.c
--- linux-2.5.41/arch/i386/mm/init.c 2002-10-07 11:23:35.000000000 -0700
+++ swsusp-2.5.41/arch/i386/mm/init.c 2002-10-08 06:18:07.000000000 -0700
@@ -411,19 +411,9 @@
}

#ifndef CONFIG_DISCONTIGMEM
-static void __init set_max_mapnr_init(void)
-{
-#ifdef CONFIG_HIGHMEM
- highmem_start_page = pfn_to_page(highstart_pfn);
- max_mapnr = num_physpages = highend_pfn;
-#else
- max_mapnr = num_physpages = max_low_pfn;
-#endif
-}
#define __free_all_bootmem() free_all_bootmem()
#else
#define __free_all_bootmem() free_all_bootmem_node(NODE_DATA(0))
-extern void set_max_mapnr_init(void);
#endif /* !CONFIG_DISCONTIGMEM */

#ifdef CONFIG_HUGETLB_PAGE
@@ -447,8 +437,6 @@

bad_ppro = ppro_with_ram_bug();

- set_max_mapnr_init();
-
high_memory = (void *) __va(max_low_pfn * PAGE_SIZE);

/* clear the zero-page */
diff -urN linux-2.5.41/include/asm-i386/page.h swsusp-2.5.41/include/asm-i386/page.h
--- linux-2.5.41/include/asm-i386/page.h 2002-10-07 11:23:32.000000000 -0700
+++ swsusp-2.5.41/include/asm-i386/page.h 2002-10-08 06:17:43.000000000 -0700
@@ -145,7 +145,7 @@
#ifndef CONFIG_DISCONTIGMEM
#define pfn_to_page(pfn) (mem_map + (pfn))
#define page_to_pfn(page) ((unsigned long)((page) - mem_map))
-#define pfn_valid(pfn) ((pfn) < max_mapnr)
+#define pfn_valid(pfn) ((pfn) < max_pfn)
#endif /* !CONFIG_DISCONTIGMEM */
#define virt_to_page(kaddr) pfn_to_page(__pa(kaddr) >> PAGE_SHIFT)

diff -urN linux-2.5.41/include/linux/mm.h swsusp-2.5.41/include/linux/mm.h
--- linux-2.5.41/include/linux/mm.h 2002-10-07 11:23:22.000000000 -0700
+++ swsusp-2.5.41/include/linux/mm.h 2002-10-08 06:17:31.000000000 -0700
@@ -15,10 +15,6 @@
#include <linux/rbtree.h>
#include <linux/fs.h>

-#ifndef CONFIG_DISCONTIGMEM /* Don't use mapnrs, do it properly */
-extern unsigned long max_mapnr;
-#endif
-
extern unsigned long num_physpages;
extern void * high_memory;
extern int page_cluster;
diff -urN linux-2.5.41/kernel/ksyms.c swsusp-2.5.41/kernel/ksyms.c
--- linux-2.5.41/kernel/ksyms.c 2002-10-07 11:22:56.000000000 -0700
+++ swsusp-2.5.41/kernel/ksyms.c 2002-10-08 06:16:37.000000000 -0700
@@ -117,7 +117,6 @@
#ifndef CONFIG_DISCONTIGMEM
EXPORT_SYMBOL(contig_page_data);
EXPORT_SYMBOL(mem_map);
-EXPORT_SYMBOL(max_mapnr);
#endif
EXPORT_SYMBOL(high_memory);
EXPORT_SYMBOL(vmtruncate);
diff -urN linux-2.5.41/kernel/suspend.c swsusp-2.5.41/kernel/suspend.c
--- linux-2.5.41/kernel/suspend.c 2002-10-07 11:23:37.000000000 -0700
+++ swsusp-2.5.41/kernel/suspend.c 2002-10-08 06:16:54.000000000 -0700
@@ -474,9 +474,9 @@
#ifdef CONFIG_DISCONTIGMEM
panic("Discontingmem not supported");
#else
- BUG_ON (max_mapnr != num_physpages);
+ BUG_ON (max_pfn != num_physpages);
#endif
- for (pfn = 0; pfn < max_mapnr; pfn++) {
+ for (pfn = 0; pfn < max_pfn; pfn++) {
page = pfn_to_page(pfn);
if (PageHighMem(page))
panic("Swsusp not supported on highmem boxes. Send 1GB of RAM to <[email protected]> and try again ;-).");
diff -urN linux-2.5.41/mm/memory.c swsusp-2.5.41/mm/memory.c
--- linux-2.5.41/mm/memory.c 2002-10-07 11:24:12.000000000 -0700
+++ swsusp-2.5.41/mm/memory.c 2002-10-08 06:17:18.000000000 -0700
@@ -55,7 +55,6 @@

#ifndef CONFIG_DISCONTIGMEM
/* use the per-pgdat data instead for discontigmem - mbligh */
-unsigned long max_mapnr;
struct page *mem_map;
#endif

2002-10-08 19:53:33

by David Miller

[permalink] [raw]
Subject: Re: [PATCH] Fix IPv6

From: YOSHIFUJI Hideaki / 吉藤英明 <[email protected]>
Date: Tue, 08 Oct 2002 10:08:53 +0900 (JST)

BTW, I repleced __constant_{hton,ntoh}{l,s}() with {hton,htoh}{l,s}(),
but I believe I did NOT do it for "case" in my patch...

It is error I introduced into the 2.5.x version of
your patch since I had to make some parts by hand.

Fixed in my tree now.

2002-10-08 20:25:44

by Pavel Machek

[permalink] [raw]
Subject: Re: Linux v2.5.41

Hi!

> > This change causes the following compile error with CONFIG_DISCONTIGMEM
> > enabled:
> > kernel/suspend.c: In function `count_and_copy_data_pages':
> > kernel/suspend.c:479: `max_mapnr' undeclared (first use in this function)
> > kernel/suspend.c:479: (Each undeclared identifier is reported only once
> > kernel/suspend.c:479: for each function it appears in.)
> > make[1]: *** [kernel/suspend.o] Error 1
> > make: *** [kernel] Error 2
>
> max_mapnr must die. It's mostly buggy largely because it's not what
> people think it is. Most of the time people want max_pfn, and the rest
> they don't want it at all.

It seems more logical now.

> Pavel, you might also want to make config options conflict instead of
> panicking.

Actually, I think I prefer panic(). That way it will be less broken
when someone will try to fix discontigmem.

> diff -urN linux-2.5.41/kernel/suspend.c swsusp-2.5.41/kernel/suspend.c
> --- linux-2.5.41/kernel/suspend.c 2002-10-07 11:23:37.000000000 -0700
> +++ swsusp-2.5.41/kernel/suspend.c 2002-10-08 06:16:54.000000000 -0700
> @@ -474,9 +474,9 @@
> #ifdef CONFIG_DISCONTIGMEM
> panic("Discontingmem not supported");
> #else
> - BUG_ON (max_mapnr != num_physpages);
> + BUG_ON (max_pfn != num_physpages);
> #endif
> - for (pfn = 0; pfn < max_mapnr; pfn++) {
> + for (pfn = 0; pfn < max_pfn; pfn++) {
> page = pfn_to_page(pfn);
> if (PageHighMem(page))
> panic("Swsusp not supported on highmem boxes. Send 1GB of RAM to <[email protected]> and try again ;-).");

Applied.

Pavel
--
When do you have heart between your knees?