2004-06-16 05:57:27

by Linus Torvalds

[permalink] [raw]
Subject: Linux 2.6.7


Ok, it's out there. The most notable change may be the one-liner that
should fix the embarrassing FP exception problem. Other than that, we've
had a random collection of fixes and updates since rc3. cifs, ntfs,
cpufreq. ide, sparc, s390.

Full 2.6.6->2.6.7 changelog available at the same places the release is.

Linus

--

Summary of changes from v2.6.7-rc3 to v2.6.7
============================================

Alan Cox:
o ethtool power manglement hooks
o epic100 fixes

Andi Kleen:
o Remove unnecessary printk in es7000 code
o Disable UDF debugging
o Fix fwait on x86-64 too
o More fixes for the x86-64 machine check handler
o Fix exception trace printing on x86-64
o Fix x86-64 VIA systems with IOMMU debug

Andreas Dilger:
o [IPV4]: Fix bug in arp_tables.c fix

Andrew Morton:
o make buildcheck missing hunk
o i386 defconfig update
o wake_up_forked_thread() fix
o jbd: descriptor buffer state fix
o unalign struct page_state
o ext3: journal_flush() needs journal_lock_updates()
o aio.c sparse warning fix
o [NETFILTER]: Fix arp_tables.c build
o NUMAQ kconfig fix
o vmscan: handle synchronous writepage()
o vmscan: try harder for GFP_NOFS allocators
o Implement read_page_state
o vmscan.c: use read_page_state()
o page-writeback.c: use read_page_state()
o sync_inodes_sb() stack reduction
o es7000plat.c warning fix
o fix the exit-vs-timer race fix
o ramdisk: buffer_uptodate fix

Andrew Zabolotny:
o [ARM PATCH] 1925/1: ARM 'System Type' kernel config menu cleanup

Andy Whitcroft:
o fix uts sysctl write size
o fix modprobe_path and hotplug_path sizes and sysctl

Anil:
o speedup flush_workqueue for singlethread_workqueue
o flush_workqueue locking simplification

Anton Altaparmakov:
o NTFS: Implement writing of mft records (fs/ntfs/mft.[hc]), which
includes keeping the mft mirror in sync with the mft when mirrored
mft records are written. The functions are
write_mft_record{,_nolock}(). The implementation is quite
rudimentary for now with lots of things not implemented yet but I
am not sure any of them can actually occur so I will wait for
people to hit each one and only then implement it.
o NTFS: Commit open system inodes at umount time. This should make
it virtually impossible for sync_mft_mirror_umount() to ever be
needed.
o NTFS: Implement ->write_inode (fs/ntfs/inode.c::ntfs_write_inode())
for the ntfs super operations. This gives us inode writing via the
VFS inode dirty code paths. Note: Access time updates are not
implemented yet.
o NTFS: - Implement fs/ntfs/mft.[hc]::{,__}mark_mft_record_dirty()
and make fs/ntfs/aops.c::ntfs_writepage() and ntfs_commit_write()
use it, thus finally enabling resident file overwrite! (-8 This
also includes a placeholder for ->writepage (ntfs_mft_writepage()),
which for now just redirties the page and returns. Also, at umount
time, we for now throw away all mft data page cache pages after the
last call to ntfs_commit_inode() in the hope that all inodes will
have been written out by then and hence no dirty (meta)data will be
lost. We also check for this case and emit an error message
telling the user to run chkdsk.
o NTFS: Use set_page_writeback()/end_page_writeback() in
ntfs_writepage() resident attribute write code path as otherwise
the radix-tree tag PAGECACHE_TAG_DIRTY remains set even though the
page is clean.
o NTFS: Implement ntfs_mft_writepage() so it now checks if any of the
mft records in the page are dirty and if so redirties the page and
returns. Otherwise it just returns (after doing
set_page_writeback(), unlock_page(), end_page_writeback() or the
radix-tree tag PAGECACHE_TAG_DIRTY remains set even though the
page is clean), thus alowing the VM to do with the page as it
pleases. Also, at umount time, now only throw away dirty mft
(meta)data pages if dirty inodes are present and ask the user to
email us if they see this happening.
o NTFS: Add functions ntfs_{clear,set}_volume_flags(), to modify the
volume information flags (fs/ntfs/super.c).
o NTFS: 2.1.13 - Enable overwriting of resident files and
housekeeping of system files
o NTFS: 2.1.14 - Fix an NFSd caused deadlock reported by several
users
o Update Documentation/filesystems/Locking

Arnaldo Carvalho de Melo:
o [NET] Introduce sk_reset_timer and sk_stop_timer
o [NET] generalise tcp_eat_skb into sk_eat_skb
o [NET] introduce sk_wait_evend and generalise tcp_data_wait
o [NET] generalize some simple tcp sk_ack_backlog handling routines

Arnd Bergmann:
o s390: fix kmem_bufctl_t definition
o sparse: user annotations for s390 architecture
o sparse: __user annotations for s390 drivers

Bartlomiej Zolnierkiewicz:
o ide: PCI hotplugging fixes
o ide: kill some useless headers for PCI drivers
o ide: ide-pnp update
o ide: remove ALTERNATE_STATE_DIAGRAM_MULTI_OUT from ide-taskfile.c
o ide: fix ide-cd to not retry REQ_DRIVE_TASKFILE requests
o ide: fix REQ_DRIVE_* requests error handling in ide-scsi
o ide: cleanup taskfile PIO handlers (CONFIG_IDE_TASKFILE_IO=n)
o ide: tiny task_mulout_intr() (CONFIG_IDE_TASKFILE_IO=n) cleanup
o ide: kill task_[un]map_rq()
o ide: check no. of sectors for in/out commands in
ide_diag_taskfile()

Ben Collins:
o ieee1394: CSR1212 Extended ROM bug fixes
o ieee1394: Fix possible NULL ptr dereference with calls to
find_ctx()
o ieee1394: Handle swsusp better in kernel threads
o ohci1394: Handle invalid max-packet-size
o ieee1394: Revision sync
o ohci1394: Fix incorrect HPSB_WARNING to HPSB_ERR

Ben Dooks:
o [ARM PATCH] 1919/1: S3C2410 - Serial configuration bugfix (missing
SERIAL_CORE_CONSOLE)
o [ARM PATCH] 1920/1: S3C2410 - register definition fix

Benjamin Herrenschmidt:
o ppc64: Add definition for Apple Xserve G5 motherboard
o ppc64: fix out_be64

Bruno Ducrot:
o define for_each_cpu_mask() for uniprocessor

Carl-Daniel Hailfinger:
o Fix tulip deadlocks on device removal

Chris Mason:
o writeback_inodes can race with unmount

Chris Wedgwood:
o stat nlink resolution fix

Chris Wright:
o __user annotation for dummy_shm_shmat

Christoph Hellwig:
o runtime selection of CONFIG_PARIDE_EPATC8

Clay Haapala:
o [CRYPTO]: Fix digest.c kmapping sg entries > page in length

Cornelia Huck:
o s390: common i/o layer

Dave Airlie:
o The dev->devname being passed to request_irq in drm_irq.h is null
o gamma_dma_priority and gamma_dma_send_buffers both deref
d->send_indices and/or d->send_sizes. When these functions are
called from gamma_dma, these pointers are user pointers and are
thus not safe to deref. This patch copies over the pointers inside
gamma_dma_priority and gamma_dma_send_buffers.

Dave Jones:
o [CPUFREQ] Reset longhaul to max speed on unload
o [CPUFREQ] Now that maxmult is a global, don't need to pass it
around in longhaul driver
o [CPUFREQ] Fix longhaul's debug printk
o [CPUFREQ] convert elanfreq MODULE_PARM to module_param
o [CPUFREQ] convert gx-suspmod MODULE_PARM to module_param
o [CPUFREQ] powernow-k8: ignore double lo freq table entries
o [CPUFREQ] powernow-k8: preempt fix
o [CPUFREQ] Add documentation on AMD powernow drivers From Paul
Devriendt.
o [CPUFREQ] Limit return value of speedstep_get_state()
o [CPUFREQ] Remove notify in speedstep_set_state [1/2] Remove
'notify' in speedstep_set_state for speedstep-lib
o [CPUFREQ] Remove notify in speedstep_set_state [2/2]
o [CPUFREQ] Fix cpufreq on ARM
o [CPUFREQ] Detect P4M's in speedstep lib From: Christian Hoelbling
Signed-off-by: Dave Jones <[email protected]>
o [CPUFREQ] small codingstyle fixes Signed-off-by: Dave Jones
<[email protected]>
o [CPUFREQ] replace for_each_cpu with for_each_cpu_mask in
p4-clockmod
o [CPUFREQ] Add missing include to p4-clockmod Signed-off-by: Dave
Jones <[email protected]>
o [CPUFREQ] AMD powernow documentation updates
o [CPUFREQ] speedstep-ich: SMT/HT support, fix for notify change
Propagate the notify moving to speedstep-ich, and add SMT (HT)
awareness to the speedstep-ich.

Dave Kleikamp:
o JFS: check default acl for correctness before setting it
o JFS: fix hang in __get_metapage
o JFS: Handle out of space errors more gracefully
o JFS: Better RAS when btstack is overrun

David Howells:
o Fix semaphore downgrade_write()

David S. Miller:
o [TG3]: Use HOST TXDs always
o [NETFILTER]: Put arpt_mutex back into arp_tables.c
o [SPARC64]: Uninline find_*_bit() like ia64 did
o [SPARC64]: Update defconfig
o [TCP]: Receive buffer moderation fixes
o [IPV4]: Fix unaligned accesses in arp_tables.c
o [TG3]: Chip support update and a power-save bug fix
o [TG3]: Update driver version and reldate
o [SPARC64]: Preemption fixes, use get_cpu() et al. where applicable
o [SPARC]: Report si_addr in SIGINFO more accurately

David Woodhouse:
o Add PPC 8280 support, calculate core clock frequency
o PPC 8260 FCC Ethernet: Fix skb leak when TX ring overflows
o Fix handle_sysrq() call in PPC 8260 uart driver
o Add support for WindRiver PowerQUICC II
o [PPC sbc82xx] Use mfspr macro for reading PVR in boot setup
o Wind River PowerQUICC II SBC82xx update
o Add WindRiver PowerQUICC II flash map driver

Davide Libenzi:
o spoll_create size check

Duncan Sands:
o USB devio.c: deadlock fix

Fran?ois Romieu:
o more drivers/atm/horizon.c polishing

Geert Uytterhoeven:
o SCSI_DPT_I2O should depend on PCI
o ide: ide-proc fix for m68k

Guillaume Morin:
o s390: improve memory detection logic

Harald Welte:
o [NETFILTER]: Missing skb->len check in
ip_conntrack_proto_tcp.c:tcp_packet()
o [NETFILTER]: Don't assign new helper after NAT when there are
already expectations present
o [NETFILTER]: Prevent orphan expectations

Herbert Xu:
o Fix netdev leak on probe failure in 3c527
o Fixed MCA resource bugs in at1700
o vga16fb.c: fix bogus mem_start value

Hideaki Yoshifuji:
o [IPV6]: Add IP6CB
o [NET]: Add dst->ifdown callback
o [IPV6] IPSEC: fix double kfree_skb() in error path. (reported by
Ken-ichirou MATSUZAWA <[email protected]>)

Hugh Dickins:
o dup_mmap() memory accounting fix

Ivan Kokshaysky:
o __ARCH_WANT_SYS_RT_SIGACTION fix

Jens Axboe:
o cdrom hardware defect mgt header length
o fix ide-cd racy completions

Jesper Juhl:
o [NET]: Remove junk from packet_mmap.txt

Jesse Brandeburg:
o e1000: fix napi crash on ifdown during traffic

John Rose:
o insert_resource fix

John Stultz:
o cyclone: PIT sanity checking

J?rn Engel:
o ncpfs MAINTAINERS update

Kai Engert:
o USB: enable pwc usb camera driver

Karsten Keil:
o i4l: Tigerjet 320 chipset fix

Keith M. Wesolowski:
o [SPARC]: Fix warning for changed section attributes
o [SPARC]: Fix warning for missing struct device
o [SPARC]: Consolidate pagetable definitions

Kenneth W. Chen:
o ia64: fix race in fsys_bubble_down to avoid fp-register corruption

Linus Torvalds:
o Mark compaq Fibre Channel driver broken
o Fix x86 "clear_cpu()" macro
o sparse cleanup of #include file
o Revert wakeup-affinity fixes
o Linux 2.6.7

Marc Singer:
o [ARM PATCH] 1915/1: lh7a40x #4 (1/1) hardware.h bug fix
o [ARM PATCH] 1916/1: lh7a40x #5 (1/1) revision B support

Martin Schwidefsky:
o s390: add support for 6 system call arguments (FUTEX_CMP_REQUEUE)
o s390: speedup strn{cpy,len}_from_user
o s390: simplify single stepped svc code
o s390: cleanup string functions
o s390: xpram device driver

Michael Hunold:
o Make tda1004x DVB frontend driver work again

Mika Kukkonen:
o sparse fix for void return in selinux/hooks.c
o Sparse fix to mm/vmscan.c
o __user annotation for shm_shmat hook declaration
o __user annotation for selinux_shm_shmat

Neil Brown:
o md: fix BUG in raid6 resync code

Nick Piggin:
o vmscan.c: struct scan_control
o Fix nfs writepage behaviour

Nikita Danilov:
o vmscan.c: move ->writepage invocation into its own function

Nitin A. Kamble:
o x86-64: Fix use of uninitialized memory in ioremap

Olaf Hering:
o ppc32: fix missing option in binutils version check

Oleg Nesterov:
o dup_mmap() double memory accounting

Paul Mackerras:
o Single-stepping emulated instructions
o Make paca xCurrent field be a pointer

Peter Korsgaard:
o Typo in Documentation/fb/framebuffer.txt

Randy Dunlap:
o kernel/sysctl annotations for sparse

Russell King:
o [ARM] Add ucontext bits for sigaltstack handling
o [ARM] Clean up io-acorn
o [ARM] uaccess.h should include asm/memory.h not asm/arch/memory.h
o [ARM] Update ARM memory layout documentation
o [ARM] Tidy up patch 1925/1
o [ARM] Resurect EBSA110 machine class
o [PCMCIA] Add TI1620 device IDs and tell yenta about it
o [SERIAL] Fix missing __devexit_p

Scott Feldman:
o e100: stepping over err return code
o e100: fix skb leak in tx timeout
o e100: fix sender hang after tx timeout

Shirley Ma:
o [IPV6]: Initialize pmtu/advmss in ndisc dst entries
o [IPV6]: Fix ICMP6 type checking tests in ah6.c and esp6.c

Siegfried Hildebrand:
o USB: Fix problems with cyberjack usb-serial-module since kernel
2.6.2

Stefan Bader:
o s390: tape driver changes

Stephen Hemminger:
o [TCP]: Update tcp_get_info() comments in net/tcp.h
o [TCP]: Add receive DRS info to tcp_info

Stephen Rothwell:
o ppc64: iSeries vio_dev cleanups

Steve French:
o cifs_prepare_write fixes to remove problem in which we were not
populating page data from the server copy when writing to
non-uptodate page
o No matter what the blocksize, we are required to use fake blocksize
of 512 when calculating number of blocks in a file (otherwise this
confuses the du command)
o Remove temporary debug message
o Update cifs change log for cifs 1.17
o Handle out of memory on allocating dentry or inode during filldir
o Initial protocol definitions for cifs dirnotify (directory change
notification) support
o whitespace and comment cleanup
o Fix race in updating tcpStatus field
o Add 2 missing kmalloc failure checks during cifs mount time
o fix up whitespace
o Make stats display more consistent - under /proc/fs/cifs/Stats
o handle partial page update of page in cache that is not uptodate
better for the situation in which file is open writeonly
o Fix sparse tool compile warnings for cifs
o flush write behind cached data, for files reopened after session
reconnection after session drop
o Handle rename of hardlinked files properly (treat as a noop)
o Add missing EA info levels
o Extended Attributes part 1
o remove compile warning
o lock session when reconnecting so we do not oops in retrying
sendmsg
o do not filemap_fdatawrite when reconnecting in write to avoid
potential deadlock
o fix listxattr error path
o fix fealist struct (xattr support part 3)
o Fix i_size corruption in case of overlapped readdir changing cached
file size and local cached write extending file

Thomas Spatzier:
o s390: qeth network driver

Tony Lindgren:
o [ARM PATCH] 1923/1: OMAP update 1/2: arch files (replaces patch
1903/1)
o [ARM PATCH] 1922/1: OMAP update 2/2: include files (replaces patch
1904/1)
o [ARM PATCH] 1908/1: Remove old OMAP header files
o [ARM PATCH] 1905/1: Add OMAP compressed boot debug serial output

Venkatesh Pallipadi:
o [CPUFREQ] Cpufreq hotplug

William Lee Irwin III:
o numaq mempolicy.c build fix
o Voyager doesn't support MCE
o voyager linkage fix

Wim Van Sebroeck:
o [WATCHDOG] v2.6.6 pcwd.c-keepalive+single_open-patch
o [WATCHDOG] pcwd_pci.c-single_open+set_heartbeat+init-patch
o [WATCHDOG] pcwd_usb.c-single_open+set_heartbeat+init-patch


2004-06-16 06:59:48

by Kalin KOZHUHAROV

[permalink] [raw]
Subject: Re: Linux 2.6.7

Linus Torvalds wrote:
> Ok, it's out there. The most notable change may be the one-liner that
> should fix the embarrassing FP exception problem. Other than that, we've
> had a random collection of fixes and updates since rc3. cifs, ntfs,
> cpufreq. ide, sparc, s390.
>
> Full 2.6.6->2.6.7 changelog available at the same places the release is.
>
> Linus
>
> --
>
> Summary of changes from v2.6.7-rc3 to v2.6.7
> ============================================
>
> Alan Cox:
> o ethtool power manglement hooks
> o epic100 fixes
>
> Andi Kleen:
> o Remove unnecessary printk in es7000 code
> o Disable UDF debugging
> o Fix fwait on x86-64 too
> o More fixes for the x86-64 machine check handler
> o Fix exception trace printing on x86-64
> o Fix x86-64 VIA systems with IOMMU debug
>
> Andreas Dilger:
> o [IPV4]: Fix bug in arp_tables.c fix
>
> Andrew Morton:
> o make buildcheck missing hunk
> o i386 defconfig update
> o wake_up_forked_thread() fix
> o jbd: descriptor buffer state fix
> o unalign struct page_state
> o ext3: journal_flush() needs journal_lock_updates()
> o aio.c sparse warning fix
> o [NETFILTER]: Fix arp_tables.c build
> o NUMAQ kconfig fix
> o vmscan: handle synchronous writepage()
> o vmscan: try harder for GFP_NOFS allocators
> o Implement read_page_state
> o vmscan.c: use read_page_state()
> o page-writeback.c: use read_page_state()
> o sync_inodes_sb() stack reduction
> o es7000plat.c warning fix
> o fix the exit-vs-timer race fix
> o ramdisk: buffer_uptodate fix
>
> Andrew Zabolotny:
> o [ARM PATCH] 1925/1: ARM 'System Type' kernel config menu cleanup
>
> Andy Whitcroft:
> o fix uts sysctl write size
> o fix modprobe_path and hotplug_path sizes and sysctl
>
> Anil:
> o speedup flush_workqueue for singlethread_workqueue
> o flush_workqueue locking simplification
>
> Anton Altaparmakov:
> o NTFS: Implement writing of mft records (fs/ntfs/mft.[hc]), which
> includes keeping the mft mirror in sync with the mft when mirrored
> mft records are written. The functions are
> write_mft_record{,_nolock}(). The implementation is quite
> rudimentary for now with lots of things not implemented yet but I
> am not sure any of them can actually occur so I will wait for
> people to hit each one and only then implement it.
> o NTFS: Commit open system inodes at umount time. This should make
> it virtually impossible for sync_mft_mirror_umount() to ever be
> needed.
> o NTFS: Implement ->write_inode (fs/ntfs/inode.c::ntfs_write_inode())
> for the ntfs super operations. This gives us inode writing via the
> VFS inode dirty code paths. Note: Access time updates are not
> implemented yet.
> o NTFS: - Implement fs/ntfs/mft.[hc]::{,__}mark_mft_record_dirty()
> and make fs/ntfs/aops.c::ntfs_writepage() and ntfs_commit_write()
> use it, thus finally enabling resident file overwrite! (-8 This
> also includes a placeholder for ->writepage (ntfs_mft_writepage()),
> which for now just redirties the page and returns. Also, at umount
> time, we for now throw away all mft data page cache pages after the
> last call to ntfs_commit_inode() in the hope that all inodes will
> have been written out by then and hence no dirty (meta)data will be
> lost. We also check for this case and emit an error message
> telling the user to run chkdsk.
> o NTFS: Use set_page_writeback()/end_page_writeback() in
> ntfs_writepage() resident attribute write code path as otherwise
> the radix-tree tag PAGECACHE_TAG_DIRTY remains set even though the
> page is clean.
> o NTFS: Implement ntfs_mft_writepage() so it now checks if any of the
> mft records in the page are dirty and if so redirties the page and
> returns. Otherwise it just returns (after doing
> set_page_writeback(), unlock_page(), end_page_writeback() or the
> radix-tree tag PAGECACHE_TAG_DIRTY remains set even though the
> page is clean), thus alowing the VM to do with the page as it
> pleases. Also, at umount time, now only throw away dirty mft
> (meta)data pages if dirty inodes are present and ask the user to
> email us if they see this happening.
> o NTFS: Add functions ntfs_{clear,set}_volume_flags(), to modify the
> volume information flags (fs/ntfs/super.c).
> o NTFS: 2.1.13 - Enable overwriting of resident files and
> housekeeping of system files
> o NTFS: 2.1.14 - Fix an NFSd caused deadlock reported by several
> users
> o Update Documentation/filesystems/Locking
>
> Arnaldo Carvalho de Melo:
> o [NET] Introduce sk_reset_timer and sk_stop_timer
> o [NET] generalise tcp_eat_skb into sk_eat_skb
> o [NET] introduce sk_wait_evend and generalise tcp_data_wait
> o [NET] generalize some simple tcp sk_ack_backlog handling routines
>
> Arnd Bergmann:
> o s390: fix kmem_bufctl_t definition
> o sparse: user annotations for s390 architecture
> o sparse: __user annotations for s390 drivers
>
> Bartlomiej Zolnierkiewicz:
> o ide: PCI hotplugging fixes
> o ide: kill some useless headers for PCI drivers
> o ide: ide-pnp update
> o ide: remove ALTERNATE_STATE_DIAGRAM_MULTI_OUT from ide-taskfile.c
> o ide: fix ide-cd to not retry REQ_DRIVE_TASKFILE requests
> o ide: fix REQ_DRIVE_* requests error handling in ide-scsi
> o ide: cleanup taskfile PIO handlers (CONFIG_IDE_TASKFILE_IO=n)
> o ide: tiny task_mulout_intr() (CONFIG_IDE_TASKFILE_IO=n) cleanup
> o ide: kill task_[un]map_rq()
> o ide: check no. of sectors for in/out commands in
> ide_diag_taskfile()
>
> Ben Collins:
> o ieee1394: CSR1212 Extended ROM bug fixes
> o ieee1394: Fix possible NULL ptr dereference with calls to
> find_ctx()
> o ieee1394: Handle swsusp better in kernel threads
> o ohci1394: Handle invalid max-packet-size
> o ieee1394: Revision sync
> o ohci1394: Fix incorrect HPSB_WARNING to HPSB_ERR
>
> Ben Dooks:
> o [ARM PATCH] 1919/1: S3C2410 - Serial configuration bugfix (missing
> SERIAL_CORE_CONSOLE)
> o [ARM PATCH] 1920/1: S3C2410 - register definition fix
>
> Benjamin Herrenschmidt:
> o ppc64: Add definition for Apple Xserve G5 motherboard
> o ppc64: fix out_be64
>
> Bruno Ducrot:
> o define for_each_cpu_mask() for uniprocessor
>
> Carl-Daniel Hailfinger:
> o Fix tulip deadlocks on device removal
>
> Chris Mason:
> o writeback_inodes can race with unmount
>
> Chris Wedgwood:
> o stat nlink resolution fix
>
> Chris Wright:
> o __user annotation for dummy_shm_shmat
>
> Christoph Hellwig:
> o runtime selection of CONFIG_PARIDE_EPATC8
>
> Clay Haapala:
> o [CRYPTO]: Fix digest.c kmapping sg entries > page in length
>
> Cornelia Huck:
> o s390: common i/o layer
>
> Dave Airlie:
> o The dev->devname being passed to request_irq in drm_irq.h is null
> o gamma_dma_priority and gamma_dma_send_buffers both deref
> d->send_indices and/or d->send_sizes. When these functions are
> called from gamma_dma, these pointers are user pointers and are
> thus not safe to deref. This patch copies over the pointers inside
> gamma_dma_priority and gamma_dma_send_buffers.
>
> Dave Jones:
> o [CPUFREQ] Reset longhaul to max speed on unload
> o [CPUFREQ] Now that maxmult is a global, don't need to pass it
> around in longhaul driver
> o [CPUFREQ] Fix longhaul's debug printk
> o [CPUFREQ] convert elanfreq MODULE_PARM to module_param
> o [CPUFREQ] convert gx-suspmod MODULE_PARM to module_param
> o [CPUFREQ] powernow-k8: ignore double lo freq table entries
> o [CPUFREQ] powernow-k8: preempt fix
> o [CPUFREQ] Add documentation on AMD powernow drivers From Paul
> Devriendt.
> o [CPUFREQ] Limit return value of speedstep_get_state()
> o [CPUFREQ] Remove notify in speedstep_set_state [1/2] Remove
> 'notify' in speedstep_set_state for speedstep-lib
> o [CPUFREQ] Remove notify in speedstep_set_state [2/2]
> o [CPUFREQ] Fix cpufreq on ARM
> o [CPUFREQ] Detect P4M's in speedstep lib From: Christian Hoelbling
> Signed-off-by: Dave Jones <[email protected]>
> o [CPUFREQ] small codingstyle fixes Signed-off-by: Dave Jones
> <[email protected]>
> o [CPUFREQ] replace for_each_cpu with for_each_cpu_mask in
> p4-clockmod
> o [CPUFREQ] Add missing include to p4-clockmod Signed-off-by: Dave
> Jones <[email protected]>
> o [CPUFREQ] AMD powernow documentation updates
> o [CPUFREQ] speedstep-ich: SMT/HT support, fix for notify change
> Propagate the notify moving to speedstep-ich, and add SMT (HT)
> awareness to the speedstep-ich.
>
> Dave Kleikamp:
> o JFS: check default acl for correctness before setting it
> o JFS: fix hang in __get_metapage
> o JFS: Handle out of space errors more gracefully
> o JFS: Better RAS when btstack is overrun
>
> David Howells:
> o Fix semaphore downgrade_write()
>
> David S. Miller:
> o [TG3]: Use HOST TXDs always
> o [NETFILTER]: Put arpt_mutex back into arp_tables.c
> o [SPARC64]: Uninline find_*_bit() like ia64 did
> o [SPARC64]: Update defconfig
> o [TCP]: Receive buffer moderation fixes
> o [IPV4]: Fix unaligned accesses in arp_tables.c
> o [TG3]: Chip support update and a power-save bug fix
> o [TG3]: Update driver version and reldate
> o [SPARC64]: Preemption fixes, use get_cpu() et al. where applicable
> o [SPARC]: Report si_addr in SIGINFO more accurately
>
> David Woodhouse:
> o Add PPC 8280 support, calculate core clock frequency
> o PPC 8260 FCC Ethernet: Fix skb leak when TX ring overflows
> o Fix handle_sysrq() call in PPC 8260 uart driver
> o Add support for WindRiver PowerQUICC II
> o [PPC sbc82xx] Use mfspr macro for reading PVR in boot setup
> o Wind River PowerQUICC II SBC82xx update
> o Add WindRiver PowerQUICC II flash map driver
>
> Davide Libenzi:
> o spoll_create size check
>
> Duncan Sands:
> o USB devio.c: deadlock fix
>
> Fran?ois Romieu:
> o more drivers/atm/horizon.c polishing
>
> Geert Uytterhoeven:
> o SCSI_DPT_I2O should depend on PCI
> o ide: ide-proc fix for m68k
>
> Guillaume Morin:
> o s390: improve memory detection logic
>
> Harald Welte:
> o [NETFILTER]: Missing skb->len check in
> ip_conntrack_proto_tcp.c:tcp_packet()
> o [NETFILTER]: Don't assign new helper after NAT when there are
> already expectations present
> o [NETFILTER]: Prevent orphan expectations
>
> Herbert Xu:
> o Fix netdev leak on probe failure in 3c527
> o Fixed MCA resource bugs in at1700
> o vga16fb.c: fix bogus mem_start value
>
> Hideaki Yoshifuji:
> o [IPV6]: Add IP6CB
> o [NET]: Add dst->ifdown callback
> o [IPV6] IPSEC: fix double kfree_skb() in error path. (reported by
> Ken-ichirou MATSUZAWA <[email protected]>)
>
> Hugh Dickins:
> o dup_mmap() memory accounting fix
>
> Ivan Kokshaysky:
> o __ARCH_WANT_SYS_RT_SIGACTION fix
>
> Jens Axboe:
> o cdrom hardware defect mgt header length
> o fix ide-cd racy completions
>
> Jesper Juhl:
> o [NET]: Remove junk from packet_mmap.txt
>
> Jesse Brandeburg:
> o e1000: fix napi crash on ifdown during traffic
>
> John Rose:
> o insert_resource fix
>
> John Stultz:
> o cyclone: PIT sanity checking
>
> J?rn Engel:
> o ncpfs MAINTAINERS update
>
> Kai Engert:
> o USB: enable pwc usb camera driver
>
> Karsten Keil:
> o i4l: Tigerjet 320 chipset fix
>
> Keith M. Wesolowski:
> o [SPARC]: Fix warning for changed section attributes
> o [SPARC]: Fix warning for missing struct device
> o [SPARC]: Consolidate pagetable definitions
>
> Kenneth W. Chen:
> o ia64: fix race in fsys_bubble_down to avoid fp-register corruption
>
> Linus Torvalds:
> o Mark compaq Fibre Channel driver broken
> o Fix x86 "clear_cpu()" macro
> o sparse cleanup of #include file
> o Revert wakeup-affinity fixes
> o Linux 2.6.7
>
> Marc Singer:
> o [ARM PATCH] 1915/1: lh7a40x #4 (1/1) hardware.h bug fix
> o [ARM PATCH] 1916/1: lh7a40x #5 (1/1) revision B support
>
> Martin Schwidefsky:
> o s390: add support for 6 system call arguments (FUTEX_CMP_REQUEUE)
> o s390: speedup strn{cpy,len}_from_user
> o s390: simplify single stepped svc code
> o s390: cleanup string functions
> o s390: xpram device driver
>
> Michael Hunold:
> o Make tda1004x DVB frontend driver work again
>
> Mika Kukkonen:
> o sparse fix for void return in selinux/hooks.c
> o Sparse fix to mm/vmscan.c
> o __user annotation for shm_shmat hook declaration
> o __user annotation for selinux_shm_shmat
>
> Neil Brown:
> o md: fix BUG in raid6 resync code
>
> Nick Piggin:
> o vmscan.c: struct scan_control
> o Fix nfs writepage behaviour
>
> Nikita Danilov:
> o vmscan.c: move ->writepage invocation into its own function
>
> Nitin A. Kamble:
> o x86-64: Fix use of uninitialized memory in ioremap
>
> Olaf Hering:
> o ppc32: fix missing option in binutils version check
>
> Oleg Nesterov:
> o dup_mmap() double memory accounting
>
> Paul Mackerras:
> o Single-stepping emulated instructions
> o Make paca xCurrent field be a pointer
>
> Peter Korsgaard:
> o Typo in Documentation/fb/framebuffer.txt
>
> Randy Dunlap:
> o kernel/sysctl annotations for sparse
>
> Russell King:
> o [ARM] Add ucontext bits for sigaltstack handling
> o [ARM] Clean up io-acorn
> o [ARM] uaccess.h should include asm/memory.h not asm/arch/memory.h
> o [ARM] Update ARM memory layout documentation
> o [ARM] Tidy up patch 1925/1
> o [ARM] Resurect EBSA110 machine class
> o [PCMCIA] Add TI1620 device IDs and tell yenta about it
> o [SERIAL] Fix missing __devexit_p
>
> Scott Feldman:
> o e100: stepping over err return code
> o e100: fix skb leak in tx timeout
> o e100: fix sender hang after tx timeout
>
> Shirley Ma:
> o [IPV6]: Initialize pmtu/advmss in ndisc dst entries
> o [IPV6]: Fix ICMP6 type checking tests in ah6.c and esp6.c
>
> Siegfried Hildebrand:
> o USB: Fix problems with cyberjack usb-serial-module since kernel
> 2.6.2
>
> Stefan Bader:
> o s390: tape driver changes
>
> Stephen Hemminger:
> o [TCP]: Update tcp_get_info() comments in net/tcp.h
> o [TCP]: Add receive DRS info to tcp_info
>
> Stephen Rothwell:
> o ppc64: iSeries vio_dev cleanups
>
> Steve French:
> o cifs_prepare_write fixes to remove problem in which we were not
> populating page data from the server copy when writing to
> non-uptodate page
> o No matter what the blocksize, we are required to use fake blocksize
> of 512 when calculating number of blocks in a file (otherwise this
> confuses the du command)
> o Remove temporary debug message
> o Update cifs change log for cifs 1.17
> o Handle out of memory on allocating dentry or inode during filldir
> o Initial protocol definitions for cifs dirnotify (directory change
> notification) support
> o whitespace and comment cleanup
> o Fix race in updating tcpStatus field
> o Add 2 missing kmalloc failure checks during cifs mount time
> o fix up whitespace
> o Make stats display more consistent - under /proc/fs/cifs/Stats
> o handle partial page update of page in cache that is not uptodate
> better for the situation in which file is open writeonly
> o Fix sparse tool compile warnings for cifs
> o flush write behind cached data, for files reopened after session
> reconnection after session drop
> o Handle rename of hardlinked files properly (treat as a noop)
> o Add missing EA info levels
> o Extended Attributes part 1
> o remove compile warning
> o lock session when reconnecting so we do not oops in retrying
> sendmsg
> o do not filemap_fdatawrite when reconnecting in write to avoid
> potential deadlock
> o fix listxattr error path
> o fix fealist struct (xattr support part 3)
> o Fix i_size corruption in case of overlapped readdir changing cached
> file size and local cached write extending file
>
> Thomas Spatzier:
> o s390: qeth network driver
>
> Tony Lindgren:
> o [ARM PATCH] 1923/1: OMAP update 1/2: arch files (replaces patch
> 1903/1)
> o [ARM PATCH] 1922/1: OMAP update 2/2: include files (replaces patch
> 1904/1)
> o [ARM PATCH] 1908/1: Remove old OMAP header files
> o [ARM PATCH] 1905/1: Add OMAP compressed boot debug serial output
>
> Venkatesh Pallipadi:
> o [CPUFREQ] Cpufreq hotplug
>
> William Lee Irwin III:
> o numaq mempolicy.c build fix
> o Voyager doesn't support MCE
> o voyager linkage fix
>
> Wim Van Sebroeck:
> o [WATCHDOG] v2.6.6 pcwd.c-keepalive+single_open-patch
> o [WATCHDOG] pcwd_pci.c-single_open+set_heartbeat+init-patch
> o [WATCHDOG] pcwd_usb.c-single_open+set_heartbeat+init-patch
>

Well, I guess now everybody (and their CPU) is busy compiling :-)

I posted this for 2.6.6, but got a single reply, reposting again.
( See http://bugzilla.kernel.org/show_bug.cgi?id=2669 )

When I unpack linux sources (`tar xjvf linux-${KV}.tar.bz2`), I usually do that in /usr/src/ and do it as root the first time.
Later (if I need to patch something, etc.) I cat copy this dir as a non-root user.
I always use KBUILD_OUTPUT=/var/tmp/kernel-output/$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION) to build as non-root user.

The problem is that several files are NOT world readable and this prevents non-root builds by using KBUILD_OUTPUT.
And reading some Documentation as normal user (like Documentation/scsi/ChangeLog.megaraid) !!!

For 2.6.7:

# find /usr/src/linux-2.6.7 ! -perm -004 -exec ls -l {} \;
-rw-r----- 1 500 500 9511 Jun 16 14:19 /usr/src/linux-2.6.7/drivers/char/drm/drm_irq.h
-rw-r----- 1 500 500 13235 Jun 16 14:20 /usr/src/linux-2.6.7/drivers/char/agp/isoch.c
-rw-r----- 1 500 500 17056 Jun 16 14:20 /usr/src/linux-2.6.7/drivers/input/joystick/grip_mp.c
-rw-r----- 1 500 500 3106 Jun 16 14:19 /usr/src/linux-2.6.7/Documentation/networking/netif-msg.txt
-rw-r----- 1 500 500 1593 Jun 16 14:20 /usr/src/linux-2.6.7/Documentation/scsi/ChangeLog.megaraid

To fix your tree you can (safely?) use:

find /usr/src/linux-2.6.7 ! -perm -004 -exec chmod o+r {} \;

or for future:

find /usr/src/linux-2.6.7 -type f ! -perm -004 -exec chmod o+r {} \;
find /usr/src/linux-2.6.7 -type d ! -perm -005 -exec chmod o+rx {} \;

No idea how exactly the tarball is build, but there can be a check proces like the above before making it final.

There is clearly no reason why 5 out of 15655 (16629 with directories) are with such "weird" permissions.
Is this such a pain to fix?

Kalin.

--
||///_ o *****************************
||//'_/> WWW: http://ThinRope.net/
|||\/<"
|||\\ '
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

2004-06-16 07:09:40

by Jan De Luyck

[permalink] [raw]
Subject: Re: Linux 2.6.7

On Wednesday 16 June 2004 07:56, Linus Torvalds wrote:
> Ok, it's out there. The most notable change may be the one-liner that
> should fix the embarrassing FP exception problem. Other than that, we've
> had a random collection of fixes and updates since rc3. cifs, ntfs,
> cpufreq. ide, sparc, s390.
>
> Full 2.6.6->2.6.7 changelog available at the same places the release is.
>
> Linus
>

Compiled and works fine on my Acer TM 803. As a nice sidenote, the screen
corruption that was visible at the initial start of the radeon framebuffer is
gone too.

Thanks for another great kernel :-)

Jan

--
Logic is a little bird, sitting in a tree; that smells *_____awful*.

2004-06-16 08:07:32

by Tomas Szepe

[permalink] [raw]
Subject: JFS compilation fix [was Re: Linux 2.6.7]

On Jun-15 2004, Tue, 22:56 -0700
Linus Torvalds <[email protected]> wrote:

> Summary of changes from v2.6.7-rc3 to v2.6.7
[snip]

Here's a trivial patch to fix JFS compilation in 2.6.7. The error
only happens in specific configs -- one such config can be found here:
http://www.pinerecords.com/kala/_nonpub/.config.louise26

I don't have the time to narrow the problem down to the config
entry that gets jfs_dtree.c to include jfs_dtree.h (jfs_dtree.c
itself doesn't have any relevat ifdefs).

--
Tomas Szepe <[email protected]>


diff -urN a/fs/jfs/jfs_dtree.c b/fs/jfs/jfs_dtree.c
--- a/fs/jfs/jfs_dtree.c 2004-06-16 09:29:58.000000000 +0200
+++ b/fs/jfs/jfs_dtree.c 2004-06-16 09:56:23.000000000 +0200
@@ -108,6 +108,7 @@
#include "jfs_dmap.h"
#include "jfs_unicode.h"
#include "jfs_debug.h"
+#include "jfs_dtree.h"

/* dtree split parameter */
struct dtsplit {
@@ -374,6 +375,8 @@
return index;
}
if (index == (MAX_INLINE_DIRTABLE_ENTRY + 1)) {
+ struct dir_table_slot temp_table[12];
+
/*
* It's time to move the inline table to an external
* page and begin to build the xtree
@@ -385,7 +388,6 @@
* Save the table, we're going to overwrite it with the
* xtree root
*/
- struct dir_table_slot temp_table[12];
memcpy(temp_table, &jfs_ip->i_dirtable, sizeof(temp_table));

/*

2004-06-16 10:01:43

by Zilvinas Valinskas

[permalink] [raw]
Subject: Re: Linux 2.6.7 (stty rows 50 columns 140 reports : No such device or address)

On Compaq N800 EVO notebook with a radeonfb enabled - stty failes to
adjust terminal size. strace log attached. Under 2.6.5/2.6.6 it used to
work.

relevant part:

open("/dev/vc/1", O_RDONLY|O_NONBLOCK|O_LARGEFILE) = 3
fcntl64(3, F_GETFL) = 0x8800 (flags
O_RDONLY|O_NONBLOCK|O_LARGEFILE)
fcntl64(3, F_SETFL, O_RDONLY|O_LARGEFILE) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo
...}) = 0
ioctl(3, TIOCGWINSZ, {ws_row=65, ws_col=175, ws_xpixel=0, ws_ypixel=0})
= 0
ioctl(3, TIOCSWINSZ, {ws_row=50, ws_col=175, ws_xpixel=0, ws_ypixel=0})
= -1 ENXIO (No such device or address)
write(2, "/bin/stty: ", 11) = 11
write(2, "/dev/vc/1", 9) = 9
open("/usr/share/locale/locale.alias", O_RDONLY) = 4


it makes no difference when doing :

stty rows 50 columns 140
or
stty rows 50 columns 140 -F /dev/vc/1 ...

Exactly same error.

BR

2004-06-16 11:13:41

by Tomas Szepe

[permalink] [raw]
Subject: Re: Linux 2.6.7

On Jun-15 2004, Tue, 22:56 -0700
Linus Torvalds <[email protected]> wrote:

> Summary of changes from v2.6.7-rc3 to v2.6.7
[snip]

2.6.7's airo.ko (unlike 2.6.6's) won't allow the user to set
ESSID via "echo myessid >/proc/driver/aironet/ethX/SSID".

Changes like this shouldn't probably be made in the middle
of a stable series.

--
Tomas Szepe <[email protected]>

2004-06-16 12:18:53

by Al Viro

[permalink] [raw]
Subject: Re: Linux 2.6.7

On Wed, Jun 16, 2004 at 01:13:29PM +0200, Tomas Szepe wrote:
> On Jun-15 2004, Tue, 22:56 -0700
> Linus Torvalds <[email protected]> wrote:
>
> > Summary of changes from v2.6.7-rc3 to v2.6.7
> [snip]
>
> 2.6.7's airo.ko (unlike 2.6.6's) won't allow the user to set
> ESSID via "echo myessid >/proc/driver/aironet/ethX/SSID".
>
> Changes like this shouldn't probably be made in the middle
> of a stable series.

Changes like this are called bugs. The thing is, original variant of
function (actually, both read and write) was also buggy and trivially
exploitable, so fixing it was needed. Fscking it up was not, obviously.

Fix follows; see if it works for you.

--- RC7/drivers/net/wireless/airo.c Mon Jun 7 19:21:27 2004
+++ RC7-current/drivers/net/wireless/airo.c Wed Jun 16 08:11:50 2004
@@ -4527,6 +4527,8 @@
len = priv->maxwritelen - pos;
if (copy_from_user(priv->wbuffer + pos, buffer, len))
return -EFAULT;
+ if (pos + len > priv->writelen)
+ priv->writelen = pos + len;
*offset = pos + len;
return len;
}

2004-06-16 12:56:54

by Dave Kleikamp

[permalink] [raw]
Subject: Re: JFS compilation fix [was Re: Linux 2.6.7]

On Wed, 2004-06-16 at 03:07, Tomas Szepe wrote:
> Here's a trivial patch to fix JFS compilation in 2.6.7. The error
> only happens in specific configs -- one such config can be found here:
> http://www.pinerecords.com/kala/_nonpub/.config.louise26

I don't know why gcc-3.2.2 doesn't complain about this one, as I have
compiled this numerous times.

Your patch has an unnecessary include of jfs_dtree.h. jfs_dtree.h is
included by jfs_inline.h, and is not needed in jfs_dtree.c.

> I don't have the time to narrow the problem down to the config
> entry that gets jfs_dtree.c to include jfs_dtree.h (jfs_dtree.c
> itself doesn't have any relevat ifdefs).

My guess is the config entry is CONFIG_JFS_FS. :^)

Here's the patch without the unneeded include:
----------------------------------------------
JFS: move declaration of temp_table to beginning of block

Signed-off-by: Dave Kleikamp <[email protected]>

diff -urp linux-2.6.7/fs/jfs/jfs_dtree.c linux/fs/jfs/jfs_dtree.c
--- linux-2.6.7/fs/jfs/jfs_dtree.c 2004-06-16 07:38:20.244688936 -0500
+++ linux/fs/jfs/jfs_dtree.c 2004-06-16 07:46:38.210986552 -0500
@@ -374,6 +374,8 @@ static u32 add_index(tid_t tid, struct i
return index;
}
if (index == (MAX_INLINE_DIRTABLE_ENTRY + 1)) {
+ struct dir_table_slot temp_table[12];
+
/*
* It's time to move the inline table to an external
* page and begin to build the xtree
@@ -385,7 +387,6 @@ static u32 add_index(tid_t tid, struct i
* Save the table, we're going to overwrite it with the
* xtree root
*/
- struct dir_table_slot temp_table[12];
memcpy(temp_table, &jfs_ip->i_dirtable, sizeof(temp_table));

/*

--
David Kleikamp
IBM Linux Technology Center

2004-06-16 12:57:18

by Jeff Garzik

[permalink] [raw]
Subject: Re: Linux 2.6.7 (stty rows 50 columns 140 reports : No such device or address)

Zilvinas Valinskas wrote:
> On Compaq N800 EVO notebook with a radeonfb enabled - stty failes to
> adjust terminal size. strace log attached. Under 2.6.5/2.6.6 it used to
> work.
>
> relevant part:
>
> open("/dev/vc/1", O_RDONLY|O_NONBLOCK|O_LARGEFILE) = 3
> fcntl64(3, F_GETFL) = 0x8800 (flags
> O_RDONLY|O_NONBLOCK|O_LARGEFILE)
> fcntl64(3, F_SETFL, O_RDONLY|O_LARGEFILE) = 0
> ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo
> ...}) = 0
> ioctl(3, TIOCGWINSZ, {ws_row=65, ws_col=175, ws_xpixel=0, ws_ypixel=0})
> = 0
> ioctl(3, TIOCSWINSZ, {ws_row=50, ws_col=175, ws_xpixel=0, ws_ypixel=0})
> = -1 ENXIO (No such device or address)
> write(2, "/bin/stty: ", 11) = 11
> write(2, "/dev/vc/1", 9) = 9
> open("/usr/share/locale/locale.alias", O_RDONLY) = 4
>
>
> it makes no difference when doing :
>
> stty rows 50 columns 140
> or
> stty rows 50 columns 140 -F /dev/vc/1 ...
>
> Exactly same error.


huh, I wonder if this is why reset(1) doesn't fully reset the terminal,
like it used to ...

Jeff


2004-06-16 13:01:08

by Dave Kleikamp

[permalink] [raw]
Subject: Re: JFS compilation fix [was Re: Linux 2.6.7]

On Wed, 2004-06-16 at 07:55, Dave Kleikamp wrote:

> jfs_dtree.h is included by jfs_inline.h, and is not needed in jfs_dtree.c.

jfs_incore.h, not inline. Doh!

2004-06-16 13:08:53

by Tomas Szepe

[permalink] [raw]
Subject: Re: JFS compilation fix [was Re: Linux 2.6.7]

On Jun-16 2004, Wed, 07:55 -0500
Dave Kleikamp <[email protected]> wrote:

> On Wed, 2004-06-16 at 03:07, Tomas Szepe wrote:
> > Here's a trivial patch to fix JFS compilation in 2.6.7. The error
> > only happens in specific configs -- one such config can be found here:
> > http://www.pinerecords.com/kala/_nonpub/.config.louise26
>
> I don't know why gcc-3.2.2 doesn't complain about this one, as I have
> compiled this numerous times.
>
> Your patch has an unnecessary include of jfs_dtree.h. jfs_dtree.h is
> included by jfs_inline.h, and is not needed in jfs_dtree.c.

Oh, right.

> > I don't have the time to narrow the problem down to the config
> > entry that gets jfs_dtree.c to include jfs_dtree.h (jfs_dtree.c
> > itself doesn't have any relevat ifdefs).
>
> My guess is the config entry is CONFIG_JFS_FS. :^)

Well, it just so happens that I have two .config files, both listing
CONFIG_JFS_FS=m, and without the patch, exactly one of them fails
compilation (on the same cluster, distcc gcc 3.4.0). That is why
I assumed the include was missing -- the moving of the declaration
in my patch was only meant as an extra clean up for bonus points.
;)

--
Tomas Szepe <[email protected]>

2004-06-16 13:27:53

by Eyal Lebedinsky

[permalink] [raw]
Subject: Re: Linux 2.6.7 - problem with old gcc

WARNING: /lib/modules/2.6.7/kernel/drivers/media/video/cx88/cx8800.ko needs unknown symbol __ucmpdi2

This is a regular issue, still present when building with old gcc. I
am on Debian stable which has gcc 2.95.4.

--
Eyal Lebedinsky ([email protected])

2004-06-16 13:56:41

by Benjamin Herrenschmidt

[permalink] [raw]
Subject: Re: Linux 2.6.7 (stty rows 50 columns 140 reports : No such device or address)

On Wed, 2004-06-16 at 07:55, Jeff Garzik wrote:
> Zilvinas Valinskas wrote:
> > On Compaq N800 EVO notebook with a radeonfb enabled - stty failes to
> > adjust terminal size. strace log attached. Under 2.6.5/2.6.6 it used to
> > work.
> >

The whole crap of tweaking the video modes when terminal size is
changed with stty is not working properly imho. I don't like it, I
don't like the way it's implemented and the drivers are not ready
for it anyway since they lack a correct mode matching mecanism.

But that's one of James pet features so ...

Ben.


2004-06-16 14:17:23

by Zilvinas Valinskas

[permalink] [raw]
Subject: Re: Linux 2.6.7 (stty rows 50 columns 140 reports : No such device or address)

I've checked drivers/char/tty_io.c :

/*
* Change # of rows and columns (0 means unchanged/the size of
fg_console)
* [this is to be used together with some user program
* like resize that changes the hardware videomode]
*/
int vc_resize(int currcons, unsigned int cols, unsigned int lines)
{
unsigned long old_origin, new_origin, new_scr_end, rlth, rrem, err = 0;
unsigned int old_cols, old_rows, old_row_size, old_screen_size;
unsigned int new_cols, new_rows, new_row_size, new_screen_size;
unsigned short *newscreen;

WARN_CONSOLE_UNLOCKED();

if (!vc_cons_allocated(currcons))
return -ENXIO;




there is only place that returns ENXIO ... and if you take a look into
vc_cons_allocated() :

int vc_cons_allocated(unsigned int i)
{
return (i < MAX_NR_CONSOLES && vc_cons[i].d);
}

it might be either i exceeds MAX_NR_CONSOLES or vc_cons[i].d is 0.

btw, get TIOCGWINSZ, works fine and returns correct values as shown in
strace. it is only SET part is failing ...

br

On Wed, 2004-06-16 at 15:55, Jeff Garzik wrote:
> Zilvinas Valinskas wrote:
> > On Compaq N800 EVO notebook with a radeonfb enabled - stty failes to
> > adjust terminal size. strace log attached. Under 2.6.5/2.6.6 it used to
> > work.
> >
> > relevant part:
> >
> > open("/dev/vc/1", O_RDONLY|O_NONBLOCK|O_LARGEFILE) = 3
> > fcntl64(3, F_GETFL) = 0x8800 (flags
> > O_RDONLY|O_NONBLOCK|O_LARGEFILE)
> > fcntl64(3, F_SETFL, O_RDONLY|O_LARGEFILE) = 0
> > ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo
> > ...}) = 0
> > ioctl(3, TIOCGWINSZ, {ws_row=65, ws_col=175, ws_xpixel=0, ws_ypixel=0})
> > = 0
> > ioctl(3, TIOCSWINSZ, {ws_row=50, ws_col=175, ws_xpixel=0, ws_ypixel=0})
> > = -1 ENXIO (No such device or address)
> > write(2, "/bin/stty: ", 11) = 11
> > write(2, "/dev/vc/1", 9) = 9
> > open("/usr/share/locale/locale.alias", O_RDONLY) = 4
> >
> >
> > it makes no difference when doing :
> >
> > stty rows 50 columns 140
> > or
> > stty rows 50 columns 140 -F /dev/vc/1 ...
> >
> > Exactly same error.
>
>
> huh, I wonder if this is why reset(1) doesn't fully reset the terminal,
> like it used to ...
>
> Jeff
>
>

2004-06-16 14:57:08

by Jesper Juhl

[permalink] [raw]
Subject: Re: Linux 2.6.7

On Wed, 16 Jun 2004, Kalin KOZHUHAROV wrote:

> When I unpack linux sources (`tar xjvf linux-${KV}.tar.bz2`), I usually do that in /usr/src/ and do it as root the first time.

Why?

Why not just do the sane thing and unpack the tarball as a normal user (in
your homedir) configure as normal user, build as normal user, install as root

Have you ever read this btw? :
http://www.linuxmafia.com/faq/Kernel/usr-src-linux-symlink.html


--
Jesper Juhl <[email protected]>

2004-06-16 16:09:39

by John Cherry

[permalink] [raw]
Subject: Re: Linux 2.6.7 (compile stats)

Linux 2.6 Compile Statistics (gcc 3.2.2)
Warnings/Errors Summary

Kernel bzImage bzImage bzImage modules bzImage modules
(defconfig) (allno) (allyes) (allyes) (allmod) (allmod)
----------- ----------- -------- -------- -------- -------- ---------
2.6.7 0w/0e 0w/0e 108w/ 0e 5w/0e 2w/0e 102w/0e
2.6.7-rc3 0w/0e 0w/0e 108w/ 0e 5w/0e 2w/0e 104w/0e
2.6.7-rc2 0w/0e 0w/0e 110w/ 0e 5w/0e 2w/0e 106w/0e
2.6.7-rc1 0w/0e 0w/0e 111w/ 0e 6w/0e 2w/0e 107w/0e
2.6.6 0w/0e 0w/0e 123w/ 0e 7w/0e 4w/0e 121w/0e
2.6.6-rc3 0w/0e 0w/0e 124w/ 0e 7w/0e 5w/0e 121w/0e
2.6.6-rc2 0w/0e 0w/0e 122w/ 0e 7w/0e 4w/0e 121w/0e
2.6.6-rc1 0w/0e 0w/0e 125w/ 0e 7w/0e 4w/0e 123w/0e
2.6.5 0w/0e 0w/0e 134w/ 0e 8w/0e 4w/0e 132w/0e
2.6.5-rc3 0w/0e 0w/0e 135w/ 0e 8w/0e 4w/0e 132w/0e
2.6.5-rc2 0w/0e 0w/0e 135w/ 0e 8w/0e 3w/0e 132w/0e
2.6.5-rc1 0w/0e 0w/0e 138w/ 0e 8w/0e 3w/0e 135w/0e
2.6.4 1w/0e 0w/0e 145w/ 0e 7w/0e 3w/0e 142w/0e
2.6.4-rc2 1w/0e 0w/0e 148w/ 0e 7w/0e 3w/0e 145w/0e
2.6.4-rc1 1w/0e 0w/0e 148w/ 0e 7w/0e 3w/0e 145w/0e
2.6.3 1w/0e 0w/0e 142w/ 0e 9w/0e 3w/0e 142w/0e
2.6.3-rc4 1w/0e 0w/0e 142w/ 0e 9w/0e 3w/0e 142w/0e
2.6.3-rc3 1w/0e 0w/0e 145w/ 7e 9w/0e 3w/0e 148w/0e
2.6.3-rc2 1w/0e 0w/0e 141w/ 0e 9w/0e 3w/0e 144w/0e
2.6.3-rc1 1w/0e 0w/0e 145w/ 0e 9w/0e 3w/0e 177w/0e
2.6.2 1w/0e 0w/0e 152w/ 0e 12w/0e 3w/0e 187w/0e
2.6.2-rc3 0w/0e 0w/0e 152w/ 0e 12w/0e 3w/0e 187w/0e
2.6.2-rc2 0w/0e 0w/0e 153w/ 8e 12w/0e 3w/0e 188w/0e
2.6.2-rc1 0w/0e 0w/0e 152w/ 0e 12w/0e 3w/0e 187w/0e
2.6.1 0w/0e 0w/0e 158w/ 0e 12w/0e 3w/0e 197w/0e
2.6.1-rc3 0w/0e 0w/0e 158w/ 0e 12w/0e 3w/0e 197w/0e
2.6.1-rc2 0w/0e 0w/0e 166w/ 0e 12w/0e 3w/0e 205w/0e
2.6.1-rc1 0w/0e 0w/0e 167w/ 0e 12w/0e 3w/0e 206w/0e
2.6.0 0w/0e 0w/0e 170w/ 0e 12w/0e 3w/0e 209w/0e

Web page with links to complete details:
http://developer.osdl.org/cherry/compile/
Daily compiles (ia32):
http://developer.osdl.org/cherry/compile/2.6/linus-tree/running.txt
Daily compiles (ia64):
http://developer.osdl.org/cherry/compile/2.6/linus-tree/running64.txt
Latest changes in Linus' bitkeeper tree:
http://linux.bkbits.net:8080/linux-2.5

John



2004-06-16 16:19:20

by Dominik Karall

[permalink] [raw]
Subject: Re: Linux 2.6.7

On Wednesday 16 June 2004 07:56, Linus Torvalds wrote:
> Ok, it's out there. The most notable change may be the one-liner that
> should fix the embarrassing FP exception problem. Other than that, we've
> had a random collection of fixes and updates since rc3. cifs, ntfs,
> cpufreq. ide, sparc, s390.
>
> Full 2.6.6->2.6.7 changelog available at the same places the release is.
>
> Linus

Is there any reason why the sis900-fix-phy-transceiver-detection.patch wasn't
moved to the stable tree? It's a now for a long time in -mm patches and
without that patch, a lot of sis900 cards does not work in full-duplex
100Tx-FD mode.

greets dominik

2004-06-16 16:40:01

by jsimmons

[permalink] [raw]
Subject: Re: Linux 2.6.7 (stty rows 50 columns 140 reports : No such device or address)


Actually its a bug in stty itself. stty only sets the row or column at a
time. So when you do a stty row col it is actually doing TWO mode sets.
One to change the number of rows then another to change the number of
columns. So to the fbdev driver it looks like this:

640x480 -> 1024x480 -> 1024x768

Now for alot of driver the middle setting doesn't work. So it fails.
This bug also effects serial consoles as well. I CC the stty maintain so
he can apply the below patch. It is against the latest GNU core utilites.
It fixes the issue.

--- stty.c.orig 2004-05-07 17:48:51.000000000 -0700
+++ stty.c 2004-05-07 18:00:36.000000000 -0700
@@ -733,6 +733,10 @@
int speed_was_set;
int verbose_output;
int recoverable_output;
+#ifdef TIOCGWINSZ
+ int size_was_set = 0;
+ int cols, rows;
+#endif
int k;
int noargs = 1;
char *file_name = NULL;
@@ -1004,8 +1008,8 @@
usage (EXIT_FAILURE);
}
++k;
- set_window_size ((int) integer_arg (argv[k]), -1,
- fd, device_name);
+ rows = integer_arg (argv[k]);
+ size_was_set = 1;
}
else if (STREQ (argv[k], "cols")
|| STREQ (argv[k], "columns"))
@@ -1016,8 +1020,8 @@
usage (EXIT_FAILURE);
}
++k;
- set_window_size (-1, (int) integer_arg (argv[k]),
- fd, device_name);
+ cols = integer_arg (argv[k]);
+ size_was_set = 1;
}
else if (STREQ (argv[k], "size"))
{
@@ -1063,6 +1067,12 @@
k++;
}

+#ifdef TIOCGWINSZ
+ if (size_was_set)
+ {
+ set_window_size (rows, cols, fd, device_name);
+ }
+#endif
if (require_set_attr)
{
struct termios new_mode;

2004-06-16 16:42:30

by jsimmons

[permalink] [raw]
Subject: Re: Linux 2.6.7 (stty rows 50 columns 140 reports : No such device or address)


> The whole crap of tweaking the video modes when terminal size is
> changed with stty is not working properly imho. I don't like it, I
> don't like the way it's implemented and the drivers are not ready
> for it anyway since they lack a correct mode matching mecanism.
>
> But that's one of James pet features so ...

There is a bug in stty. We should implement this in fbset as well.

2004-06-16 17:42:59

by Thomas Zehetbauer

[permalink] [raw]
Subject: Re: Linux 2.6.7 - ACPI still broken

As posted on 2004-06-07 ACPI support seems to be broken for Intel
D865PERL board since at least 2.6.7-rc2.

When booting with the standard flags (nmi_watchdog=1 root=/dev/md0
video=matroxfb:vesa:0x1bb) the kernel locks up with different error
messages immediately after "ACPI: Subsystem revision 20040326". Adding
"acpi=off" to the command line makes everything work again.

You can find my dmesg output (with "acpi=off") and my .config here:
http://www.hostmaster.org/~thomasz/linux-2.6.7-config
http://www.hostmaster.org/~thomasz/linux-2.6.7-dmesg

Tom


2004-06-16 18:54:06

by Jeff Garzik

[permalink] [raw]
Subject: Re: Linux 2.6.7

Dominik Karall wrote:
> On Wednesday 16 June 2004 07:56, Linus Torvalds wrote:
>
>>Ok, it's out there. The most notable change may be the one-liner that
>>should fix the embarrassing FP exception problem. Other than that, we've
>>had a random collection of fixes and updates since rc3. cifs, ntfs,
>>cpufreq. ide, sparc, s390.
>>
>>Full 2.6.6->2.6.7 changelog available at the same places the release is.
>>
>> Linus
>
>
> Is there any reason why the sis900-fix-phy-transceiver-detection.patch wasn't
> moved to the stable tree? It's a now for a long time in -mm patches and
> without that patch, a lot of sis900 cards does not work in full-duplex
> 100Tx-FD mode.

It still needs work, as the updated driver appears to scan the first phy
incorrectly, which IMO would break _other_ situations that are presently
working.

I'll try to get to it in the next couple days; the short answer is to
look at other PCI ethernet drivers and note how they scan MII.

Jeff


2004-06-16 21:18:10

by Egmont Koblinger

[permalink] [raw]
Subject: Re: Linux 2.6.7 (stty rows 50 columns 140 reports : No such device or address)

On Wed, 16 Jun 2004 [email protected] wrote:

Hi,

> +#ifdef TIOCGWINSZ
> + int size_was_set = 0;
> + int cols, rows;
^^^^^^^^^^^^^^^
These should both be initialized to -1 because...

> - set_window_size ((int) integer_arg (argv[k]), -1,
> - fd, device_name);
> + rows = integer_arg (argv[k]);
> + size_was_set = 1;

[...]

> - set_window_size (-1, (int) integer_arg (argv[k]),
> - fd, device_name);
> + cols = integer_arg (argv[k]);
> + size_was_set = 1;

...here maybe only one of them is set, but...

> + if (size_was_set)
> + {
> + set_window_size (rows, cols, fd, device_name);

...here both of them are used. Looking at the body of size_was_set()
and the code that was removed from stty it's clear that -1 means don't
change, while 0 means change to 0.



--
Egmont

2004-06-16 21:48:26

by jsimmons

[permalink] [raw]
Subject: Re: Linux 2.6.7 (stty rows 50 columns 140 reports : No such device or address)


Ug. Missed that. I don't know how but my system always worked.
Here is the new patch.

--- stty.c.orig 2004-05-07 17:48:51.000000000 -0700
+++ stty.c 2004-06-16 14:38:21.000000000 -0700
@@ -733,6 +733,10 @@
int speed_was_set;
int verbose_output;
int recoverable_output;
+#ifdef TIOCGWINSZ
+ int size_was_set = 0;
+ int cols = -1, rows = -1;
+#endif
int k;
int noargs = 1;
char *file_name = NULL;
@@ -1004,8 +1008,8 @@
usage (EXIT_FAILURE);
}
++k;
- set_window_size ((int) integer_arg (argv[k]), -1,
- fd, device_name);
+ rows = integer_arg (argv[k]);
+ size_was_set = 1;
}
else if (STREQ (argv[k], "cols")
|| STREQ (argv[k], "columns"))
@@ -1016,8 +1020,8 @@
usage (EXIT_FAILURE);
}
++k;
- set_window_size (-1, (int) integer_arg (argv[k]),
- fd, device_name);
+ cols = integer_arg (argv[k]);
+ size_was_set = 1;
}
else if (STREQ (argv[k], "size"))
{
@@ -1063,6 +1067,12 @@
k++;
}

+#ifdef TIOCGWINSZ
+ if (size_was_set)
+ {
+ set_window_size (rows, cols, fd, device_name);
+ }
+#endif
if (require_set_attr)
{
struct termios new_mode;

2004-06-17 04:14:55

by Kevin P. Fleming

[permalink] [raw]
Subject: Re: Linux 2.6.7 - ACPI still broken

Thomas Zehetbauer wrote:

> As posted on 2004-06-07 ACPI support seems to be broken for Intel
> D865PERL board since at least 2.6.7-rc2.
>
> When booting with the standard flags (nmi_watchdog=1 root=/dev/md0
> video=matroxfb:vesa:0x1bb) the kernel locks up with different error
> messages immediately after "ACPI: Subsystem revision 20040326". Adding
> "acpi=off" to the command line makes everything work again.

I have the same problem, using a D865GBF, which is nearly the same
board. BIOS is the most current version; booting with acpi=off allows
the boot to proceed and function normally. I've tried rebuilding without
"kernel IRQ balancing" and "register parameters" (which were my two most
recent config changes), but no improvement.

2004-06-17 06:57:10

by Tomas Szepe

[permalink] [raw]
Subject: Re: Linux 2.6.7

On Jun-16 2004, Wed, 13:18 +0100
[email protected] <[email protected]> wrote:

> > 2.6.7's airo.ko (unlike 2.6.6's) won't allow the user to set
> > ESSID via "echo myessid >/proc/driver/aironet/ethX/SSID".
> >
> > Changes like this shouldn't probably be made in the middle
> > of a stable series.
>
> Changes like this are called bugs. The thing is, original variant of
> function (actually, both read and write) was also buggy and trivially
> exploitable, so fixing it was needed. Fscking it up was not, obviously.

Sure, I just assumed somebody had done this on purpose.

> Fix follows; see if it works for you.

Works for me, thanks.

--
Tomas Szepe <[email protected]>

2004-06-17 15:22:56

by Sean Neakums

[permalink] [raw]
Subject: Re: Linux 2.6.7

The 2.6.7 I built seems kind of swap-happy, apparently triggered by an
overnight updatedb run. I think this also happened with
2.6.7-rc3-mm2. I can't seem to find anything particularly out of the
ordinary in the information below. I started off with swappiness set
to 50 as I have for a while and dropped it twice by ten each time
after a swapoff/swapon. It starts paging stuff out again pretty fast
after it gets the swap back. Swap is is a dm-crypt device map.

Sorry about the vagueness. Is anyone else seeing anything odd like
this?


Linux version 2.6.7 (sean@slagpiece) (gcc version 3.4.0 (Debian 20040516)) #242 Wed Jun 16 11:51:02 IST 2004

slabinfo - version: 2.0
# name <active_objs> <num_objs> <objsize> <objperslab> <pagesperslab> : tunables <batchcount> <limit> <sharedfactor> : slabdata <active_slabs> <num_slabs> <sharedavail>
unix_sock 113 121 352 11 1 : tunables 54 27 0 : slabdata 11 11 0
tcp_tw_bucket 0 0 96 41 1 : tunables 120 60 0 : slabdata 0 0 0
tcp_bind_bucket 14 226 16 226 1 : tunables 120 60 0 : slabdata 1 1 0
tcp_open_request 0 0 64 61 1 : tunables 120 60 0 : slabdata 0 0 0
inet_peer_cache 0 0 64 61 1 : tunables 120 60 0 : slabdata 0 0 0
secpath_cache 0 0 128 31 1 : tunables 120 60 0 : slabdata 0 0 0
xfrm_dst_cache 0 0 256 15 1 : tunables 120 60 0 : slabdata 0 0 0
ip_fib_hash 9 226 16 226 1 : tunables 120 60 0 : slabdata 1 1 0
ip_dst_cache 315 315 256 15 1 : tunables 120 60 0 : slabdata 21 21 0
arp_cache 5 31 128 31 1 : tunables 120 60 0 : slabdata 1 1 0
raw4_sock 0 0 480 8 1 : tunables 54 27 0 : slabdata 0 0 0
udp_sock 2 8 480 8 1 : tunables 54 27 0 : slabdata 1 1 0
tcp_sock 33 40 992 4 1 : tunables 54 27 0 : slabdata 10 10 0
flow_cache 0 0 96 41 1 : tunables 120 60 0 : slabdata 0 0 0
dm-crypt_io 256 275 72 55 1 : tunables 120 60 0 : slabdata 5 5 0
dm_tio 256 452 16 226 1 : tunables 120 60 0 : slabdata 2 2 0
dm_io 256 452 16 226 1 : tunables 120 60 0 : slabdata 2 2 0
mqueue_inode_cache 1 8 480 8 1 : tunables 54 27 0 : slabdata 1 1 0
udf_inode_cache 0 0 352 11 1 : tunables 54 27 0 : slabdata 0 0 0
isofs_inode_cache 0 0 320 12 1 : tunables 54 27 0 : slabdata 0 0 0
fat_inode_cache 0 0 352 11 1 : tunables 54 27 0 : slabdata 0 0 0
ext2_inode_cache 0 0 416 9 1 : tunables 54 27 0 : slabdata 0 0 0
journal_handle 1 135 28 135 1 : tunables 120 60 0 : slabdata 1 1 0
journal_head 83 243 48 81 1 : tunables 120 60 0 : slabdata 3 3 0
revoke_table 10 290 12 290 1 : tunables 120 60 0 : slabdata 1 1 0
revoke_record 0 0 16 226 1 : tunables 120 60 0 : slabdata 0 0 0
ext3_inode_cache 2919 12258 416 9 1 : tunables 54 27 0 : slabdata 1362 1362 0
eventpoll_pwq 0 0 36 107 1 : tunables 120 60 0 : slabdata 0 0 0
eventpoll_epi 0 0 96 41 1 : tunables 120 60 0 : slabdata 0 0 0
kioctx 0 0 160 25 1 : tunables 120 60 0 : slabdata 0 0 0
kiocb 0 0 160 25 1 : tunables 120 60 0 : slabdata 0 0 0
dnotify_cache 0 0 20 185 1 : tunables 120 60 0 : slabdata 0 0 0
file_lock_cache 19 43 92 43 1 : tunables 120 60 0 : slabdata 1 1 0
fasync_cache 2 226 16 226 1 : tunables 120 60 0 : slabdata 1 1 0
shmem_inode_cache 114 120 384 10 1 : tunables 54 27 0 : slabdata 12 12 0
posix_timers_cache 0 0 80 49 1 : tunables 120 60 0 : slabdata 0 0 0
uid_cache 3 119 32 119 1 : tunables 120 60 0 : slabdata 1 1 0
cfq_pool 64 119 32 119 1 : tunables 120 60 0 : slabdata 1 1 0
crq_pool 0 0 40 96 1 : tunables 120 60 0 : slabdata 0 0 0
deadline_drq 0 0 52 75 1 : tunables 120 60 0 : slabdata 0 0 0
as_arq 16 61 64 61 1 : tunables 120 60 0 : slabdata 1 1 0
blkdev_ioc 69 185 20 185 1 : tunables 120 60 0 : slabdata 1 1 0
blkdev_queue 12 18 448 9 1 : tunables 54 27 0 : slabdata 2 2 0
blkdev_requests 18 25 160 25 1 : tunables 120 60 0 : slabdata 1 1 0
biovec-(256) 256 256 3072 2 2 : tunables 24 12 0 : slabdata 128 128 0
biovec-128 256 260 1536 5 2 : tunables 24 12 0 : slabdata 52 52 0
biovec-64 256 260 768 5 1 : tunables 54 27 0 : slabdata 52 52 0
biovec-16 256 260 192 20 1 : tunables 120 60 0 : slabdata 13 13 0
biovec-4 256 305 64 61 1 : tunables 120 60 0 : slabdata 5 5 0
biovec-1 272 452 16 226 1 : tunables 120 60 0 : slabdata 2 2 0
bio 281 305 64 61 1 : tunables 120 60 0 : slabdata 5 5 0
sock_inode_cache 158 165 352 11 1 : tunables 54 27 0 : slabdata 15 15 0
skbuff_head_cache 115 175 160 25 1 : tunables 120 60 0 : slabdata 7 7 0
sock 3 12 320 12 1 : tunables 54 27 0 : slabdata 1 1 0
proc_inode_cache 170 336 320 12 1 : tunables 54 27 0 : slabdata 28 28 0
sigqueue 16 27 144 27 1 : tunables 120 60 0 : slabdata 1 1 0
radix_tree_node 1793 3514 276 14 1 : tunables 54 27 0 : slabdata 251 251 0
bdev_cache 10 18 416 9 1 : tunables 54 27 0 : slabdata 2 2 0
mnt_cache 22 61 64 61 1 : tunables 120 60 0 : slabdata 1 1 0
inode_cache 702 714 288 14 1 : tunables 54 27 0 : slabdata 51 51 0
dentry_cache 3486 17415 148 27 1 : tunables 120 60 0 : slabdata 645 645 0
filp 1437 1450 160 25 1 : tunables 120 60 0 : slabdata 58 58 0
names_cache 1 1 4096 1 1 : tunables 24 12 0 : slabdata 1 1 0
idr_layer_cache 39 58 136 29 1 : tunables 120 60 0 : slabdata 2 2 0
buffer_head 4005 16425 52 75 1 : tunables 120 60 0 : slabdata 219 219 0
mm_struct 63 63 512 7 1 : tunables 54 27 0 : slabdata 9 9 0
vm_area_struct 3324 3337 84 47 1 : tunables 120 60 0 : slabdata 71 71 0
fs_cache 59 119 32 119 1 : tunables 120 60 0 : slabdata 1 1 0
files_cache 63 63 416 9 1 : tunables 54 27 0 : slabdata 7 7 0
signal_cache 75 82 96 41 1 : tunables 120 60 0 : slabdata 2 2 0
sighand_cache 75 75 1312 3 1 : tunables 24 12 0 : slabdata 25 25 0
task_struct 95 95 1408 5 2 : tunables 24 12 0 : slabdata 19 19 0
anon_vma 1425 1628 8 407 1 : tunables 120 60 0 : slabdata 4 4 0
pgd 60 60 4096 1 1 : tunables 24 12 0 : slabdata 60 60 0
size-131072(DMA) 0 0 131072 1 32 : tunables 8 4 0 : slabdata 0 0 0
size-131072 0 0 131072 1 32 : tunables 8 4 0 : slabdata 0 0 0
size-65536(DMA) 0 0 65536 1 16 : tunables 8 4 0 : slabdata 0 0 0
size-65536 0 0 65536 1 16 : tunables 8 4 0 : slabdata 0 0 0
size-32768(DMA) 0 0 32768 1 8 : tunables 8 4 0 : slabdata 0 0 0
size-32768 0 0 32768 1 8 : tunables 8 4 0 : slabdata 0 0 0
size-16384(DMA) 0 0 16384 1 4 : tunables 8 4 0 : slabdata 0 0 0
size-16384 0 0 16384 1 4 : tunables 8 4 0 : slabdata 0 0 0
size-8192(DMA) 0 0 8192 1 2 : tunables 8 4 0 : slabdata 0 0 0
size-8192 1 1 8192 1 2 : tunables 8 4 0 : slabdata 1 1 0
size-4096(DMA) 0 0 4096 1 1 : tunables 24 12 0 : slabdata 0 0 0
size-4096 137 137 4096 1 1 : tunables 24 12 0 : slabdata 137 137 0
size-2048(DMA) 0 0 2048 2 1 : tunables 24 12 0 : slabdata 0 0 0
size-2048 58 58 2048 2 1 : tunables 24 12 0 : slabdata 29 29 0
size-1024(DMA) 0 0 1024 4 1 : tunables 54 27 0 : slabdata 0 0 0
size-1024 64 64 1024 4 1 : tunables 54 27 0 : slabdata 16 16 0
size-512(DMA) 0 0 512 8 1 : tunables 54 27 0 : slabdata 0 0 0
size-512 176 480 512 8 1 : tunables 54 27 0 : slabdata 60 60 0
size-256(DMA) 0 0 256 15 1 : tunables 120 60 0 : slabdata 0 0 0
size-256 161 375 256 15 1 : tunables 120 60 0 : slabdata 25 25 0
size-192(DMA) 0 0 192 20 1 : tunables 120 60 0 : slabdata 0 0 0
size-192 80 80 192 20 1 : tunables 120 60 0 : slabdata 4 4 0
size-128(DMA) 0 0 128 31 1 : tunables 120 60 0 : slabdata 0 0 0
size-128 217 310 128 31 1 : tunables 120 60 0 : slabdata 10 10 0
size-96(DMA) 0 0 96 41 1 : tunables 120 60 0 : slabdata 0 0 0
size-96 748 779 96 41 1 : tunables 120 60 0 : slabdata 19 19 0
size-64(DMA) 0 0 64 61 1 : tunables 120 60 0 : slabdata 0 0 0
size-64 417 1220 64 61 1 : tunables 120 60 0 : slabdata 20 20 0
size-32(DMA) 0 0 32 119 1 : tunables 120 60 0 : slabdata 0 0 0
size-32 833 833 32 119 1 : tunables 120 60 0 : slabdata 7 7 0
kmem_cache 124 124 128 31 1 : tunables 120 60 0 : slabdata 4 4 0

MemTotal: 385204 kB
MemFree: 11572 kB
Buffers: 8164 kB
Cached: 78260 kB
SwapCached: 54440 kB
Active: 248344 kB
Inactive: 97736 kB
HighTotal: 0 kB
HighFree: 0 kB
LowTotal: 385204 kB
LowFree: 11572 kB
SwapTotal: 530104 kB
SwapFree: 465816 kB
Dirty: 92 kB
Writeback: 0 kB
Mapped: 242956 kB
Slab: 14856 kB
Committed_AS: 433516 kB
PageTables: 1368 kB
VmallocTotal: 647128 kB
VmallocUsed: 920 kB
VmallocChunk: 645944 kB

Filename Type Size Used Priority
/dev/mapper/swap0 partition 530104 64288 -3

2004-06-18 04:37:24

by Andrew Morton

[permalink] [raw]
Subject: Re: Linux 2.6.7

Sean Neakums <[email protected]> wrote:
>
> The 2.6.7 I built seems kind of swap-happy, apparently triggered by an
> overnight updatedb run. I think this also happened with
> 2.6.7-rc3-mm2.

There were corrections to logic errors in the vm scanner which will cause
increased pageout.

> I can't seem to find anything particularly out of the
> ordinary in the information below. I started off with swappiness set
> to 50 as I have for a while and dropped it twice by ten each time
> after a swapoff/swapon. It starts paging stuff out again pretty fast
> after it gets the swap back. Swap is is a dm-crypt device map.

swapoff/swapon doesn't do what you think it does. The pages are read from
the swap device, have the ptes reattached but the pages are placed on the
inactive list, from where they will be swapped out again very easily after
a swapon.

Which is really the correct behaviour: if these pages were earlier swapped
out then clearly they are the right ones to swap out when swap again
becomes available.

But that doesn't seem very important, and the old swapoff/swapon trick is
useful, so...

--- 25/mm/swapfile.c~swapoff-activate-pages 2004-06-17 21:27:41.704568280 -0700
+++ 25-akpm/mm/swapfile.c 2004-06-17 21:28:35.417402688 -0700
@@ -467,6 +467,13 @@ static unsigned long unuse_pmd(struct vm
if (unlikely(pte_same(*pte, swp_pte))) {
unuse_pte(vma, offset + address, pte, entry, page);
pte_unmap(pte);
+
+ /*
+ * Move the page to the active list so it is not
+ * immediately swapped out again after swapon.
+ */
+ activate_page(page);
+
/* add 1 since address may be 0 */
return 1 + offset + address;
}
_

2004-06-18 16:38:31

by Brice Goglin

[permalink] [raw]
Subject: 2.6.7 Samba OOPS (in smb_readdir)

Hi Linus,

I am using Samba on my Compaq Evo N600c with an uptodate Debian
Testing and a 2.6.7 (.config attached).

When listing a samba mount point just after mounting it,
I get this oops. I don't know why nautilus is used here, I
just called 'ls'.

I get the same oops with 2.6.7-rc3 (can't try previous releases).

Regards.

Brice Goglin



smb_lookup: find //.Trash-bgoglin failed, error=-5
Unable to handle kernel NULL pointer dereference at virtual address 00000000
printing eip:
00000000
*pde = 00000000
Oops: 0000 [#1]
PREEMPT
Modules linked in: dm_mod
CPU: 0
EIP: 0060:[<00000000>] Not tainted
EFLAGS: 00010246 (2.6.7)
EIP is at 0x0
eax: dfc21ccc ebx: e160cf30 ecx: c01684c0 edx: e7fa4bd8
esi: e160cfa0 edi: c13f0780 ebp: df839740 esp: e160cefc
ds: 007b es: 007b ss: 0068
Process nautilus (pid: 2649, threadinfo=e160c000 task=e101f3d0)
Stack: c01f1536 df839740 e160cfa0 c01684c0 e160cf30 00000000 00000002 00000004
df7faeb0 00000000 df83c000 e7fa4bd8 df8acbe0 00000000 fffd18ab 00000000
00000000 00000000 df83c000 00000002 00000000 00000000 00000001 00000004
Call Trace:
[<c01f1536>] smb_readdir+0x3e6/0x580
[<c01684c0>] filldir64+0x0/0x100
[<c01681b9>] vfs_readdir+0x89/0xa0
[<c01684c0>] filldir64+0x0/0x100
[<c016862e>] sys_getdents64+0x6e/0xaa
[<c01684c0>] filldir64+0x0/0x100
[<c010510b>] syscall_call+0x7/0xb

Code: Bad EIP value.



On 16/06/2004-08:00, Linus Torvalds wrote:

>
> Ok, it's out there. The most notable change may be the one-liner that
> should fix the embarrassing FP exception problem. Other than that, we've
> had a random collection of fixes and updates since rc3. cifs, ntfs,
> cpufreq. ide, sparc, s390.
>
> Full 2.6.6->2.6.7 changelog available at the same places the release is.
>
> Linus

2004-06-18 16:47:26

by Brice Goglin

[permalink] [raw]
Subject: Re: 2.6.7 Samba OOPS (in smb_readdir)

Here comes the .config.


On 18/06/2004-18:37, Brice Goglin wrote:

> Hi Linus,
>
> I am using Samba on my Compaq Evo N600c with an uptodate Debian
> Testing and a 2.6.7 (.config attached).
>
> When listing a samba mount point just after mounting it,
> I get this oops. I don't know why nautilus is used here, I
> just called 'ls'.
>
> I get the same oops with 2.6.7-rc3 (can't try previous releases).
>
> Regards.
>
> Brice Goglin
>
>
>
> smb_lookup: find //.Trash-bgoglin failed, error=-5
> Unable to handle kernel NULL pointer dereference at virtual address 00000000
> printing eip:
> 00000000
> *pde = 00000000
> Oops: 0000 [#1]
> PREEMPT
> Modules linked in: dm_mod
> CPU: 0
> EIP: 0060:[<00000000>] Not tainted
> EFLAGS: 00010246 (2.6.7)
> EIP is at 0x0
> eax: dfc21ccc ebx: e160cf30 ecx: c01684c0 edx: e7fa4bd8
> esi: e160cfa0 edi: c13f0780 ebp: df839740 esp: e160cefc
> ds: 007b es: 007b ss: 0068
> Process nautilus (pid: 2649, threadinfo=e160c000 task=e101f3d0)
> Stack: c01f1536 df839740 e160cfa0 c01684c0 e160cf30 00000000 00000002 00000004
> df7faeb0 00000000 df83c000 e7fa4bd8 df8acbe0 00000000 fffd18ab 00000000
> 00000000 00000000 df83c000 00000002 00000000 00000000 00000001 00000004
> Call Trace:
> [<c01f1536>] smb_readdir+0x3e6/0x580
> [<c01684c0>] filldir64+0x0/0x100
> [<c01681b9>] vfs_readdir+0x89/0xa0
> [<c01684c0>] filldir64+0x0/0x100
> [<c016862e>] sys_getdents64+0x6e/0xaa
> [<c01684c0>] filldir64+0x0/0x100
> [<c010510b>] syscall_call+0x7/0xb
>
> Code: Bad EIP value.
>
>
>
> On 16/06/2004-08:00, Linus Torvalds wrote:
>
> >
> > Ok, it's out there. The most notable change may be the one-liner that
> > should fix the embarrassing FP exception problem. Other than that, we've
> > had a random collection of fixes and updates since rc3. cifs, ntfs,
> > cpufreq. ide, sparc, s390.
> >
> > Full 2.6.6->2.6.7 changelog available at the same places the release is.
> >
> > Linus


Attachments:
(No filename) (1.94 kB)
.config (33.58 kB)
Download all attachments

2004-06-18 17:09:08

by Zwane Mwaikambo

[permalink] [raw]
Subject: Re: 2.6.7 Samba OOPS (in smb_readdir)

On Fri, 18 Jun 2004, Brice Goglin wrote:

> Here comes the .config.

Hello Brice,
It's a known issue currently being tracked with the bugzilla entry
at http://bugzilla.kernel.org/show_bug.cgi?id=1671

Zwane

2004-06-18 19:08:38

by Christophe Saout

[permalink] [raw]
Subject: Re: 2.6.7 Samba OOPS (in smb_readdir)

Am Fr, den 18.06.2004 um 13:11 Uhr -0400 schrieb Zwane Mwaikambo:

> It's a known issue currently being tracked with the bugzilla entry
> at http://bugzilla.kernel.org/show_bug.cgi?id=1671

Hey, nice.

I've got a nearly 100% reproducability of the problem here (FAM +
nautilus + hal.hotplug or something like that, I'm always getting this
Oops in nautilus trying to do something with its trash folder when I'm
mounting a remote volume). I'll try this patch and tell you if it's
working (for me).


Attachments:
signature.asc (189.00 B)
Dies ist ein digital signierter Nachrichtenteil

2004-06-18 19:48:31

by Christophe Saout

[permalink] [raw]
Subject: Re: 2.6.7 Samba OOPS (in smb_readdir)

Am Fr, den 18.06.2004 um 21:00 Uhr +0200 schrieb Christophe Saout:

> > It's a known issue currently being tracked with the bugzilla entry
> > at http://bugzilla.kernel.org/show_bug.cgi?id=1671
>
> Hey, nice.
>
> I've got a nearly 100% reproducability of the problem here (FAM +
> nautilus + hal.hotplug or something like that, I'm always getting this
> Oops in nautilus trying to do something with its trash folder when I'm
> mounting a remote volume). I'll try this patch and tell you if it's
> working (for me).

Well, it's not. :(

The oops is gone but the processes are still hanging. I'm posting the
SysRq-T trace on bugzilla. Hope it helps. If you need some help
debugging the problem, please tell me if I can do something.


Attachments:
signature.asc (189.00 B)
Dies ist ein digital signierter Nachrichtenteil

2004-06-18 20:02:22

by Zwane Mwaikambo

[permalink] [raw]
Subject: Re: 2.6.7 Samba OOPS (in smb_readdir)

On Fri, 18 Jun 2004, Christophe Saout wrote:

> Am Fr, den 18.06.2004 um 21:00 Uhr +0200 schrieb Christophe Saout:
>
> > > It's a known issue currently being tracked with the bugzilla entry
> > > at http://bugzilla.kernel.org/show_bug.cgi?id=1671
> >
> > Hey, nice.
> >
> > I've got a nearly 100% reproducability of the problem here (FAM +
> > nautilus + hal.hotplug or something like that, I'm always getting this
> > Oops in nautilus trying to do something with its trash folder when I'm
> > mounting a remote volume). I'll try this patch and tell you if it's
> > working (for me).
>
> Well, it's not. :(
>
> The oops is gone but the processes are still hanging. I'm posting the
> SysRq-T trace on bugzilla. Hope it helps. If you need some help
> debugging the problem, please tell me if I can do something.

Ah ok, thanks for testing it, i'll have a new patch up later on.

Zwane

2004-06-19 20:33:40

by Zwane Mwaikambo

[permalink] [raw]
Subject: Re: 2.6.7 Samba OOPS (in smb_readdir)

On Fri, 18 Jun 2004, Christophe Saout wrote:

> Well, it's not. :(
>
> The oops is gone but the processes are still hanging. I'm posting the
> SysRq-T trace on bugzilla. Hope it helps. If you need some help
> debugging the problem, please tell me if I can do something.

This is an updated debugging patch (which is also added to Bugzilla),
please give this a spin. There are still a few issues with this patch but
lets try at least avoid oopsing for now.

Index: linux-2.6.7/include/linux/smb_fs_sb.h
===================================================================
RCS file: /home/cvsroot/linux-2.6.7/include/linux/smb_fs_sb.h,v
retrieving revision 1.1.1.1
diff -u -p -B -r1.1.1.1 smb_fs_sb.h
--- linux-2.6.7/include/linux/smb_fs_sb.h 16 Jun 2004 16:49:26 -0000 1.1.1.1
+++ linux-2.6.7/include/linux/smb_fs_sb.h 19 Jun 2004 20:22:35 -0000
@@ -57,7 +57,7 @@ struct smb_sb_info {
unsigned int generation;
pid_t conn_pid;
struct smb_conn_opt opt;
-
+ wait_queue_head_t conn_wq;
struct semaphore sem;

unsigned short rcls; /* The error codes we received */
Index: linux-2.6.7/fs/smbfs/inode.c
===================================================================
RCS file: /home/cvsroot/linux-2.6.7/fs/smbfs/inode.c,v
retrieving revision 1.1.1.1
diff -u -p -B -r1.1.1.1 inode.c
--- linux-2.6.7/fs/smbfs/inode.c 16 Jun 2004 16:49:47 -0000 1.1.1.1
+++ linux-2.6.7/fs/smbfs/inode.c 19 Jun 2004 20:22:35 -0000
@@ -521,6 +521,7 @@ int smb_fill_super(struct super_block *s
server->super_block = sb;
server->mnt = NULL;
server->sock_file = NULL;
+ init_waitqueue_head(&server->conn_wq);
init_MUTEX(&server->sem);
INIT_LIST_HEAD(&server->entry);
INIT_LIST_HEAD(&server->xmitq);
Index: linux-2.6.7/fs/smbfs/proc.c
===================================================================
RCS file: /home/cvsroot/linux-2.6.7/fs/smbfs/proc.c,v
retrieving revision 1.1.1.1
diff -u -p -B -r1.1.1.1 proc.c
--- linux-2.6.7/fs/smbfs/proc.c 16 Jun 2004 16:49:47 -0000 1.1.1.1
+++ linux-2.6.7/fs/smbfs/proc.c 19 Jun 2004 20:23:39 -0000
@@ -56,6 +56,7 @@ static struct smb_ops smb_ops_os2;
static struct smb_ops smb_ops_win95;
static struct smb_ops smb_ops_winNT;
static struct smb_ops smb_ops_unix;
+static struct smb_ops smb_ops_null;

static void
smb_init_dirent(struct smb_sb_info *server, struct smb_fattr *fattr);
@@ -878,7 +879,6 @@ smb_newconn(struct smb_sb_info *server,
server->conn_pid = current->pid;
server->opt = *opt;
server->generation += 1;
- server->state = CONN_VALID;
error = 0;

if (server->conn_error) {
@@ -981,6 +981,9 @@ smb_newconn(struct smb_sb_info *server,
smbiod_wake_up();
if (server->opt.capabilities & SMB_CAP_UNIX)
smb_proc_query_cifsunix(server);
+
+ server->state = CONN_VALID;
+ wake_up_interruptible_all(&server->conn_wq);
return error;

out:
@@ -2794,10 +2797,48 @@ out:
}

static int
+smb_proc_ops_wait(struct smb_sb_info *server)
+{
+ int result;
+
+ result = wait_event_interruptible_timeout(server->conn_wq,
+ server->state == CONN_VALID, 30*HZ);
+
+ if (!result || signal_pending(current))
+ return -EIO;
+
+ return 0;
+}
+
+static int
smb_proc_getattr_null(struct smb_sb_info *server, struct dentry *dir,
- struct smb_fattr *attr)
+ struct smb_fattr *fattr)
{
return -EIO;
+#if 0
+ int result;
+
+ if (smb_proc_ops_wait(server) < 0)
+ return -EIO;
+
+ smb_init_dirent(server, fattr);
+ result = server->ops->getattr(server, dir, fattr);
+ smb_finish_dirent(server, fattr);
+
+ return result;
+#endif
+}
+
+static int
+smb_proc_readdir_null(struct file *filp, void *dirent, filldir_t filldir,
+ struct smb_cache_control *ctl)
+{
+ struct smb_sb_info *server = server_from_dentry(filp->f_dentry);
+
+ if (smb_proc_ops_wait(server) < 0)
+ return -EIO;
+
+ return server->ops->readdir(filp, dirent, filldir, ctl);
}

int
@@ -3431,6 +3472,7 @@ static struct smb_ops smb_ops_unix =
/* Place holder until real ops are in place */
static struct smb_ops smb_ops_null =
{
+ .readdir = smb_proc_readdir_null,
.getattr = smb_proc_getattr_null,
};

2004-06-19 20:47:02

by Zwane Mwaikambo

[permalink] [raw]
Subject: Re: 2.6.7 Samba OOPS (in smb_readdir)

On Sat, 19 Jun 2004, Zwane Mwaikambo wrote:

> On Fri, 18 Jun 2004, Christophe Saout wrote:
>
> > Well, it's not. :(
> >
> > The oops is gone but the processes are still hanging. I'm posting the
> > SysRq-T trace on bugzilla. Hope it helps. If you need some help
> > debugging the problem, please tell me if I can do something.
>
> This is an updated debugging patch (which is also added to Bugzilla),
> please give this a spin. There are still a few issues with this patch but
> lets try at least avoid oopsing for now.

Hold on, this is buggy garbage. i'll have something in a bit.

2004-06-19 20:52:23

by Christophe Saout

[permalink] [raw]
Subject: Re: 2.6.7 Samba OOPS (in smb_readdir)

Am Sa, den 19.06.2004 um 16:49 Uhr -0400 schrieb Zwane Mwaikambo:

> > > The oops is gone but the processes are still hanging. I'm posting the
> > > SysRq-T trace on bugzilla. Hope it helps. If you need some help
> > > debugging the problem, please tell me if I can do something.
> >
> > This is an updated debugging patch (which is also added to Bugzilla),
> > please give this a spin. There are still a few issues with this patch but
> > lets try at least avoid oopsing for now.
>
> Hold on, this is buggy garbage. i'll have something in a bit.

Well ok. smbiod was still hanging and all requests timed out, but I was
able to cleanly unmount the filesystem and unload the module this time.
No Oops.


Attachments:
signature.asc (189.00 B)
Dies ist ein digital signierter Nachrichtenteil

2004-06-20 00:26:00

by Zwane Mwaikambo

[permalink] [raw]
Subject: Re: 2.6.7 Samba OOPS (in smb_readdir)

On Sat, 19 Jun 2004, Zwane Mwaikambo wrote:

> On Sat, 19 Jun 2004, Zwane Mwaikambo wrote:
>
> > On Fri, 18 Jun 2004, Christophe Saout wrote:
> >
> > > Well, it's not. :(
> > >
> > > The oops is gone but the processes are still hanging. I'm posting the
> > > SysRq-T trace on bugzilla. Hope it helps. If you need some help
> > > debugging the problem, please tell me if I can do something.
> >
> > This is an updated debugging patch (which is also added to Bugzilla),
> > please give this a spin. There are still a few issues with this patch but
> > lets try at least avoid oopsing for now.
>
> Hold on, this is buggy garbage. i'll have something in a bit.

Index: linux-2.6.7/include/linux/smb_fs_sb.h
===================================================================
RCS file: /home/cvsroot/linux-2.6.7/include/linux/smb_fs_sb.h,v
retrieving revision 1.1.1.1
diff -u -p -B -r1.1.1.1 smb_fs_sb.h
--- linux-2.6.7/include/linux/smb_fs_sb.h 16 Jun 2004 16:49:26 -0000 1.1.1.1
+++ linux-2.6.7/include/linux/smb_fs_sb.h 20 Jun 2004 00:06:45 -0000
@@ -57,7 +57,8 @@ struct smb_sb_info {
unsigned int generation;
pid_t conn_pid;
struct smb_conn_opt opt;
-
+ wait_queue_head_t conn_wq;
+ int conn_complete;
struct semaphore sem;

unsigned short rcls; /* The error codes we received */
Index: linux-2.6.7/fs/smbfs/inode.c
===================================================================
RCS file: /home/cvsroot/linux-2.6.7/fs/smbfs/inode.c,v
retrieving revision 1.1.1.1
diff -u -p -B -r1.1.1.1 inode.c
--- linux-2.6.7/fs/smbfs/inode.c 16 Jun 2004 16:49:47 -0000 1.1.1.1
+++ linux-2.6.7/fs/smbfs/inode.c 19 Jun 2004 21:19:04 -0000
@@ -521,6 +521,7 @@ int smb_fill_super(struct super_block *s
server->super_block = sb;
server->mnt = NULL;
server->sock_file = NULL;
+ init_waitqueue_head(&server->conn_wq);
init_MUTEX(&server->sem);
INIT_LIST_HEAD(&server->entry);
INIT_LIST_HEAD(&server->xmitq);
Index: linux-2.6.7/fs/smbfs/proc.c
===================================================================
RCS file: /home/cvsroot/linux-2.6.7/fs/smbfs/proc.c,v
retrieving revision 1.1.1.1
diff -u -p -B -r1.1.1.1 proc.c
--- linux-2.6.7/fs/smbfs/proc.c 16 Jun 2004 16:49:47 -0000 1.1.1.1
+++ linux-2.6.7/fs/smbfs/proc.c 20 Jun 2004 00:26:57 -0000
@@ -56,6 +56,7 @@ static struct smb_ops smb_ops_os2;
static struct smb_ops smb_ops_win95;
static struct smb_ops smb_ops_winNT;
static struct smb_ops smb_ops_unix;
+static struct smb_ops smb_ops_null;

static void
smb_init_dirent(struct smb_sb_info *server, struct smb_fattr *fattr);
@@ -981,6 +982,9 @@ smb_newconn(struct smb_sb_info *server,
smbiod_wake_up();
if (server->opt.capabilities & SMB_CAP_UNIX)
smb_proc_query_cifsunix(server);
+
+ server->conn_complete++;
+ wake_up_interruptible_all(&server->conn_wq);
return error;

out:
@@ -2794,10 +2798,45 @@ out:
}

static int
+smb_proc_ops_wait(struct smb_sb_info *server)
+{
+ int result;
+
+ result = wait_event_interruptible_timeout(server->conn_wq,
+ server->conn_complete, 30*HZ);
+
+ if (!result || signal_pending(current))
+ return -EIO;
+
+ return 0;
+}
+
+static int
smb_proc_getattr_null(struct smb_sb_info *server, struct dentry *dir,
- struct smb_fattr *attr)
+ struct smb_fattr *fattr)
{
- return -EIO;
+ int result;
+
+ if (smb_proc_ops_wait(server) < 0)
+ return -EIO;
+
+ smb_init_dirent(server, fattr);
+ result = server->ops->getattr(server, dir, fattr);
+ smb_finish_dirent(server, fattr);
+
+ return result;
+}
+
+static int
+smb_proc_readdir_null(struct file *filp, void *dirent, filldir_t filldir,
+ struct smb_cache_control *ctl)
+{
+ struct smb_sb_info *server = server_from_dentry(filp->f_dentry);
+
+ if (smb_proc_ops_wait(server) < 0)
+ return -EIO;
+
+ return server->ops->readdir(filp, dirent, filldir, ctl);
}

int
@@ -3431,6 +3470,7 @@ static struct smb_ops smb_ops_unix =
/* Place holder until real ops are in place */
static struct smb_ops smb_ops_null =
{
+ .readdir = smb_proc_readdir_null,
.getattr = smb_proc_getattr_null,
};

2004-06-20 00:29:09

by Christophe Saout

[permalink] [raw]
Subject: Re: 2.6.7 Samba OOPS (in smb_readdir)

Am Sa, den 19.06.2004 um 20:27 Uhr -0400 schrieb Zwane Mwaikambo:

> > > This is an updated debugging patch (which is also added to Bugzilla),
> > > please give this a spin. There are still a few issues with this patch but
> > > lets try at least avoid oopsing for now.
> >
> > Hold on, this is buggy garbage. i'll have something in a bit.
>
> Index: linux-2.6.7/include/linux/smb_fs_sb.h
> ===================================================================
> RCS file: /home/cvsroot/linux-2.6.7/include/linux/smb_fs_sb.h,v

Ha! Success! :-)


Attachments:
signature.asc (189.00 B)
Dies ist ein digital signierter Nachrichtenteil

2004-06-20 00:34:26

by Zwane Mwaikambo

[permalink] [raw]
Subject: Re: 2.6.7 Samba OOPS (in smb_readdir)

On Sun, 20 Jun 2004, Christophe Saout wrote:

> Am Sa, den 19.06.2004 um 20:27 Uhr -0400 schrieb Zwane Mwaikambo:
>
> > > > This is an updated debugging patch (which is also added to Bugzilla),
> > > > please give this a spin. There are still a few issues with this patch but
> > > > lets try at least avoid oopsing for now.
> > >
> > > Hold on, this is buggy garbage. i'll have something in a bit.
> >
> > Index: linux-2.6.7/include/linux/smb_fs_sb.h
> > ===================================================================
> > RCS file: /home/cvsroot/linux-2.6.7/include/linux/smb_fs_sb.h,v
>
> Ha! Success! :-)

Great, and Nautilus is happy? By the way, which OS is the SMB server?

2004-06-20 00:40:44

by Christophe Saout

[permalink] [raw]
Subject: Re: 2.6.7 Samba OOPS (in smb_readdir)

Am Sa, den 19.06.2004 um 20:36 Uhr -0400 schrieb Zwane Mwaikambo:

> > Ha! Success! :-)
>
> Great, and Nautilus is happy? By the way, which OS is the SMB server?

Yes, everyone is happy now. It's a samba (3.0.4) server. NFS is
currently also broken on that machine (my fault). That server machine is
so dog slow that I'm currently not interested in rebooting it. But at
least smbfs is working now so I don't need to use rsync to access my
files anymore. ;)

Well, I tested mounting/unmounting it several times and it worked
without glitches where I had a nearly 100% chance of making it Oops
before.


Attachments:
signature.asc (189.00 B)
Dies ist ein digital signierter Nachrichtenteil