QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1326|回复: 10

2.6.0 release

[复制链接]
发表于 2003-12-18 14:16:43 | 显示全部楼层 |阅读模式
hohoho

now using
 楼主| 发表于 2003-12-18 14:36:08 | 显示全部楼层
Summary of changes from v2.6.0-test11 to v2.6.0
============================================

<[email protected]>
[PATCH] Missing initialization of /proc/net/tcp seq_file

We need to initialize st->state in tcp_seq_start(). Otherwise
tcp_seq_stop() is run with previous st->state, and it calls the unneeded
unlock etc, causing a kernel crash.

<[email protected]>
[PATCH] Fix lost wakeups problem

When doing sync wakeups we must not skip the notification of other cpus
if the task is not on this runqueue.

<[email protected]>
Fix x86 kernel page fault error codes

<[email protected]>
Fix ide-scsi.c uninitialized variable

<[email protected]>
[IPV6]: Fix ipv4 mapped address calculation in udpv6_sendmsg().

<[email protected]>
[NETFILTER]: Sanitize ip_ct_tcp_timeout_close_wait value, from 2.4.x

<[email protected]>
[RTNETLINK]: Add RTPROT_XORP.

<[email protected]>
[PATCH] Fix /proc access to dead thread group list oops

The pid_alive() check within the loop is incorrect. If we are within
the tasklist lock and the thread group leader is valid then the thread
chain will be fully intact.

Instead, the check should be _outside_ the loop, since if the group
leader no longer exists, the whole list is gone and we must not try
to access it.

Move the check around, and add comment.

Bug-hunting and fix by Srivatsa Vaddagiri

<[email protected]>
[PATCH] fix broken x86_64 rdtscll

The scheduler is completed b0rked on x86_64, and I finally found out
why. sched_clock() always returned 0, because rdtscll() always returned
0. The 'a' in the macro doesn't agree with the 'a' in the function,
yippe :-)

This is a show stopper for x86_64.

<[email protected]>
[PATCH] I2C: fix i2c_smbus_write_byte() for i2c-nforce2

This patch fixes i2c_smbus_write_byte() being broken for i2c-nforce2.
This causes trouble when that module is used together with eeprom (which
is also in 2.6). We have had three user reports about the problem.

Credits go to Mark D. Studebaker for finding and fixing the problem.

<[email protected]>
[PATCH] Fix 'noexec' behaviour

We should not allow mmap() with PROT_EXEC on mounts marked "noexec",
since otherwise there is no way for user-supplied executable loaders
(like ld.so and emulator environments) to properly honour the
"noexec"ness of the target.

<[email protected]>
[NETFILTER]: In conntrack, do not fragment TSO packets by accident.

<[email protected]>
[BRIDGE]: Provide correct TOS value to IPv4 routing.

<[email protected]>
[PATCH] fix use-after-free in libata

Fixes oops some were seeing on module unload.

Caught by Jon Burgess.

<[email protected]>
[PATCH] fix oops on unload in pcnet32

The driver was calling pci_unregister_driver for each _device_, and then
again at the end of the module unload routine. Remove the call that's
inside the loop, pci_unregister_driver should only be called once.

Caught by Don Fry (and many others)

<[email protected]>
[PATCH] remove manual driver poisoning of net_device

From: Al Viro <[email protected]>

Such poisoning can cause oopses either because the refcount is not
zero when the poisoning occurs, or due to kernel debugging options
being enabled.

<[email protected]>
Fix the PROT_EXEC breakage on anonymous mmap.

Clean up the tests while at it.

<[email protected]>
[PATCH] wireless airo oops fix

From Javier Achirica:

Delay MIC activation to prevent Oops

<[email protected]>
[PKT_SCHED]: Do not dereference the special pointer value 'HTB_DIRECT'.

Based upon a patch from devik.

<[email protected]>
[PKT_SCHED]: In HTB, filters must be destroyed before the classes.

<[email protected]>
[PATCH] tmpfs oops fix

The problem was that the cursor was in the list being walked, and when
the pointer pointed to the cursor the list_del/list_add_tail pair would
oops trying to find the entry pointed to by the prev pointer of the
deleted cursor element.

The solution I found was to move the list_del earlier, before the
beginning of the list walk. since it is not used during the list walk and
should not count in the list enumeration it can be deleted, then the
list pointer cannot point to it so it can be added safely with the
list_add_tail without oopsing, and everything works as expected.

I am unable to oops this version with any of my test programs.

Patch acked by Al Viro.

<[email protected]>
[PATCH] USB: register usb-serial ports in the proper place in sysfs

They should be bound to the interface the driver is attached to, not
the device.

<[email protected]>
[PATCH] USB: fix remove device after set_configuration

If a device can't be configured, the current test9 code forgets
to clean it out of sysfs. This resolves that issue, so the retry
in usb_new_device() stands a chance of working.

The enumeration code still doesn't handle such errors well, but
at least this way that hub port can be used for another device.

<[email protected]>
[PATCH] USB: fix race with hub devices disconnecting while stuff is still happening to them.

<[email protected]>
[IPV6]: Fix TCP socket leak.

TCP IPV6 ->hash() method should not grab a socket reference.

<[email protected]>
[PATCH] scsi_ioctl memcpy'ing user address

James reported a bug in scsi_ioctl.c where it mem copies a user pointer
instead of using copy_from_user(). I inadvertently introduced this one
when getting rid of CDROM_SEND_PACKET. Here's a trivial patch to fix it.

<[email protected]>
[PATCH] USB storage: fix for jumpshot and datafab devices

This patch fixes some obvious errors in the jumpshot and datafab drivers.

This should close out Bugzilla bug #1408

> Date: Mon, 1 Dec 2003 12:14:53 -0500 (EST)
> From: Alan Stern <[email protected]>
> Subject: Patch from Eduard Hasenleithner
> To: Matthew Dharm <[email protected]>
&gt; cc: USB Storage List <[email protected]>
&gt;
&gt; Matt:
&gt;
&gt; Did you see this patch? It was posted to the usb-development mailing list
&gt; about a week ago, before I started making all my changes. It is clearly
&gt; correct and necessary.
&gt;
&gt; Alan Stern

&lt;[email protected]&gt;
[PATCH] USB: mark the scanner driver as obsolete

On Mon, Dec 01, 2003 at 11:21:58AM -0800, Greg KH wrote:
&gt; Can't you use xsane without the scanner kernel driver? I thought the
&gt; latest versions used libusb/usbfs to talk directly to the hardware.
&gt; Because of this, the USB scanner driver is marked to be removed from the
&gt; kernel sometime in the near future.

After a bit of mucking around (and possibly finding a bug with debian's
libusb/xsane/hotplug interaction, nothing seems to run
/etc/hotplug/usb/libusbscanner and thus only root can scan, anyone whose
got this working please let me know), the problem does not exist if I
only use libusb xsane.

How about the following:

&lt;[email protected]&gt;
[PATCH] USB: fix sleping in interrupt bug in auerswald driver

this fixes two instances of GFP_KERNEL from completion handlers.

&lt;[email protected]&gt;
[PATCH] USB: fix race with signal delivery in usbfs

apart from locking bugs, there are other races. This fixes one with
signal delivery. The signal should be delivered _before_ the reciever
is woken.

&lt;[email protected]&gt;
[PATCH] USB: fix bug not setting device state following usb_device_reset()

&lt;[email protected]&gt;
[PATCH] USB: Fix connect/disconnect race

This patch was integrated by you in 2.4 six months ago. Unfortunately
it never got into 2.5. Without it you can end up with crashes such
as http://bugs.debian.org/218670

&lt;[email protected]&gt;
[PATCH] USB: fix bug for multiple opens on ttyUSB devices.

This patch fixes the bug where running ppp over a ttyUSB device would fail.

&lt;[email protected]&gt;
[PATCH] USB: prevent catch-all USB aliases in modules.alias

visor.c defines one empty slot in USB ids table that can be filled in at
runtime using module parameters. file2alias generates catch-all alias for it:

alias usb:v*p*dl*dh*dc*dsc*dp*ic*isc*ip* visor

patch adds the same sanity check as in depmod to scripts/file2alias.

&lt;[email protected]&gt;
kobject: fix bug where a parent could be deleted before a child device.

&lt;[email protected]&gt;
Fix subtle bug in "finish_wait()", which can cause kernel stack
corruption on SMP because of another CPU still accessing a waitqueue
even after it was de-allocated.

Use a careful version of the list emptiness check to make sure we
don't de-allocate the stack frame before the waitqueue is all done.

&lt;[email protected]&gt;
[PATCH] no bio unmap on cdb copy failure

The previous scsi_ioctl.c patch didn't cleanup the buffer/bio in the
error case.

Fix it by copying the command data earlier.

&lt;[email protected]&gt;
[PATCH] HPFS: missing lock_kernel() in hpfs_readdir()

In 2.5.x, the BKL was pushed from vfs_readdir() into the filesystem
specific functions. But only the unlock_kernel() made it into the HPFS
code, lock_kernel() got lost on the way. This rendered the filesystem
unusable.

This adds the missing lock_kernel(). It's been tested by Timo Maier who
also reported the problem earlier today.

&lt;[email protected]&gt;
More subtle SMP bugs in prepare_to_wait()/finish_wait().

This time we have a SMP memory ordering issue in prepare_to_wait(),
where we really need to make sure that subsequent tests for the
event we are waiting for can not migrate up to before the wait
queue has been set up.

&lt;[email protected]&gt;
Fix thread group leader zombie leak

Petr Vandrovec noticed a problem where the thread group leader
would not be properly reaped if the parent of the thread group
was ignoring SIGCHLD, and the thread group leader had exited
before the last sub-thread.

Fixed by Ingo Molnar.

&lt;[email protected]&gt;
[PATCH] Fix possible bio corruption with RAID5

1/ make sure raid5 doesn't try to handle multiple overlaping
requests at the same time as this would confuse things badly.
Currently it justs BUGs if this is attempted.
2/ Fix a possible data-loss-on-write problem. If two or
more bio's that write to the same page are processed at the
same time, only the first was actually commited to storage.
3/ Fix a use-after-free bug. raid5 keeps the bio's it is given
in linked lists when more than one bio touch a single page.
In some cases the tail of this list can be freed, and
the current test for 'are we at the end' isn't reliable.
This patch strengths the test to make it reliable.

&lt;[email protected]&gt;
[PATCH] Fix IDE bus reset and DMA disable when reading blank DVD-R

From Jon Burgess:

There is a problems with blank DVD media using the ide-cd driver.

When we attempt to read the blank disk, the drive responds to the read
request by returning a "blank media" error. The kernel doesn't have
any special case handling for this sense value and retries the request
a couple of times, then gives up and does a bus reset and disables DMA
to the device.

Which obviously doesn't help the situation.

The sense key value of 8 isn't listed in ide-cd.h, but it is listed in
scsi.h as a "BLANK_CHECK" error.

This trivial patch treats this error condition as a reason to abort
the request. This behaviour is the same as what we do with a blank CD-R.

It looks like the same fix might be desired for 2.4 as well, although
is perhaps not so important since scsi-ide is normally used instead.

&lt;[email protected]&gt;
[PATCH] CDROM_SEND_PACKET bug

I just found Yet Another Bug in scsi_ioctl - CDROM_SEND_PACKET puts a
kernel pointer in hdr-&gt;cmdp, where sg_io() expects to find user address.
This worked up until recently because of the memcpy bug, but now it
doesn't because we do the proper copy_from_user().

This fix undoes the user copy code from sg_io, and instead makes the
SG_IO ioctl copy it locally. This makes SG_IO and CDROM_SEND_PACKET
agree on the calling convention, and everybody is happy.

I've tested that both

cdrecord -dev=/dev/hdc -inq

and

cdrecord -dev=ATAPI:/dev/hdc -inq

works now. The former will use SG_IO, the latter CDROM_SEND_PACKET (and
incidentally would work in both 2.4 and 2.6, if it wasn't for
CDROM_SEND_PACKET sucking badly in 2.4).

&lt;[email protected]&gt;
[PATCH] qla1280 crash fix in error handling

This fixes a bug in the qla1280 driver where it would leave a pointer to
an on the stack completion event in a command structure if
qla1280_mailbox_command fails. The result is that the interrupt handler
later tries to complete() garbage on the stack. The mailbox command can
fail if a device on the bus decides to lock up etc.

&lt;[email protected]&gt;
Linux 2.6.0
回复

使用道具 举报

发表于 2003-12-18 14:54:54 | 显示全部楼层
现在有多少人,换上了新内核?


谈谈感受?
回复

使用道具 举报

发表于 2003-12-18 20:56:39 | 显示全部楼层
可惜nvidia还没用发布正式支持2.6的显卡驱动……我的tuxracer零售版在强行安装的那个驱动下运行不了……
回复

使用道具 举报

发表于 2003-12-18 22:59:54 | 显示全部楼层
没有 Promise 的 RAID 驱动。没法使用新内核。
2.2.x 的驱动无法用在 2.6 上了。
回复

使用道具 举报

发表于 2003-12-19 12:33:57 | 显示全部楼层
呵呵~~就等nvidia 驱动了
回复

使用道具 举报

发表于 2003-12-19 21:07:59 | 显示全部楼层
http://www.minion.de/
这里好象是FOR 2.6的
回复

使用道具 举报

发表于 2003-12-19 22:00:34 | 显示全部楼层
[quote:f408e705c8="matthew6868"]http://www.minion.de/
这里好象是FOR 2.6的[/quote]
打补丁后2.6可以用nvidia的驱动了,但是,2.4的却用不了。。。
回复

使用道具 举报

发表于 2003-12-19 22:04:46 | 显示全部楼层
和以前的test变化不是太大。正式版的内核发布经历了漫长阶段。同样,想要等到它完全普及,以及相关驱动和软件都完备且投入使用,又经历一个漫长的过程。
什么都不是可以一步登天的


nv的4620驱动(不支持2.6) http://www.linuxfans.org/nuke/modules.php?name=Forums&file=viewtopic&t=47877
patch(2.6的补丁) http://www.minion.de/nvidia.html
我这里一切正常,但是用glxgear测试并不比2.4快。
另外也没觉得鼠标相应快。preempt没有说的那么神奇吧。也许是我反应迟钝
回复

使用道具 举报

发表于 2003-12-21 16:30:59 | 显示全部楼层
哈哈,虽然感觉不出和2.4的区别,但不想回2.4了
回复

使用道具 举报

发表于 2003-12-30 00:28:51 | 显示全部楼层
太复杂了。有没 有简单的。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-9-14 11:09 , Processed in 0.044117 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表