kernel weekly news – 26.11.2011

Posted: November 26, 2011 in kernel

Hello, world! Here’s the news!

-Konrad Rzeszutek Wilk has xen stable updates for -rc2,
David Miller has sparc bug fixes [1] and ide bug fixes
and Keith Packard announces drm-intel fixes.


Several bug fixes:

1) Make syscall restart properly save and restore the first argument
register across possible ptrace modifications.

2) Implement sparc’s io_remap_pfn_range() in terms of remap_pfn_range().
A ton of divergance has occured over time and it makes no sense to
have a completely seperate loop for what amounts to being a very
minor optimization on sparc64.

3) Because modules can use things like pgprot_noncached() and friends,
we have to process the sun4v code patching sections upon module
load on sparc64. This fixes crashes with infiniband on Niagara

4) Missing header include, from Ben Hutchings.

-Rafael J. Wysocki has PM updates for 3.2:

* PM QoS and shmobile PM cleanups from Guennadi Liakhovetski.

* PM clocks management and shmobile PM fixes from Magnus Damm.

* devfreq fixes from MyungJoo Ham and Axel Lin.

* shmobile PM fix to avoid restoring INTCS state from random data
during initialization.

* Driver core fix to disable device runtime PM during shutdown from Peter Chen.

* PM core fix to prevent devices with ignore_children set from blocking power
removal from their power domains unnecessarily (which is a power regression
with respect to 3.1 on some systems).

* Hibernation test modes and suspend statistics fixes from Srivatsa S. Bhat.

-Avi Kivity updates kvm for -rc2:

This includes a ppc ABI breakage fix, s390 fixes, a tracing/kvmclock
conflict fix, and the implementation of guest-only/host-only profiling
for Intel. The latter is not strictly a fix, and missed the merge
window due to a combination of a dependency on tip.git, being
offline, and me forgetting all about it. However it would be good to
have the feature implemented fully instead of just on AMD as it is at

-David Miller updates networking:

It’s been about two weeks since the last batch of networking fixes.

The majority is driver stuff, as is usually the case.

Some small corrections here and there for the drivers/net/
rearrangement. And then the usual collection of fixes for core crashes
and misbehaviors.

1) Kill references to removed NET_ETHERNET kconfig variable, this was removed
during Jeff Kirsher’s drivers/net/ rearrangement during this merge window.

2) Revert L2CAP connection establishment change as it causes regressions,
from Arek Lichwa.

3) Bluetooth’s l2cap_set_timer() expects timeouts in miliseconds, but callers
were not adjusted correctly. Fix from Andrzej Kaczmarek.

4) pm_schedule_suspend() in r8169 needs an increased delay parameter in order
to handle all cases properly, from Hayes Wang.

5) IPV6 must drop all packets using a multicast source address, fix from
Brian Haley.

6) NET_IP_ALIGN is not a fixed vlaue, but the smsc75xx USB driver treated it
as such. It wants to use a fixed value of ‘2’ so create and use a local
macro in this driver to achieve that. From Nico Erfurth.

7) l2tp_udp_recv_core() needs to sample skb->data after any potential header
reallocation, otherwise we could be referencing free’d up data. Fix
from Eric Dumazet.

8) Don’t accidently report a negative PMTU expire time in rt_fill_info(), fix
from Steffen Klassert.

9) Wireless connection monitor can race with suspend, cancel the monitor work
earlier in STA quiesce to avoid the problem. Fix from Johannes Berg.

10) TEMAC driver enables interrupts before the chip is fully programmed and
ready, fix from Ricardo Ribalda.

11) IPSEC AH code doesn’t propagate error codes correctly, breaking things
when using async crypto hashing. Fixes from Nick Bowler.

12) Fix crash when using RF kill to disable the radio in iwlwifi, from
Emmanuel Grumbach.

13) ipv6 tunnel driver doesn’t record the right device name in it’s
parameters due to how the driver now makes use of register_netdevice()
to take care of what explicit calls to dev_alloc_name() use to do.
Fix by copying out the name at a later point in time, from Josh Boyer.

14) Bridge needs to take ->multicast_lock with softirq disabled in order
to avoid deadlocks, fix from Andrey Vagin.

15) IPV6 has a completely seperate type-of-service value it maintains, so we
need to report this using a seperate netlink attribute alongsize ipv4’s TOS
in the socket dumping code. Fix from Maciej Żenczyowski.

16) Missing includes lead to compiler error of MIPS lantiq driver.
From John Crispin.

17) A set of bug fixes to the long maligned and not well maintained ASIX
driver from Grant Grundler. The good news is that the vendor is working
together with Grant and others to get this driver back into well-maintained

18) The “missing bh_unlock_sock()” fix in tcp_v4_syn_recv_sock() was not
complete, timers could be running too so we have to kill those off as
well otherwise we crash. Fix from Eric Dumazet, tested by Simon Kirby
who could reproduce these timer crashes.

19) Partial checksums aren’t adjusted corrected after pulling the ipv6
multicast headers in the bridging code. Fix from Stephen Hemminger
and tested by Martin Volf.

20) r6040 uses “&&” instead of “&” in bitwise test, fix from Florian Fainelli.

21) SKY2 bug fixes from Stephen Hemminger, in particular failed shutdowns should
be fixed now.

22) stmmac timeout loop depends upon the time it takes readl() to occur, use
a proper mdelay() instead. Fix from Francesco Virlinzi.

23) stmmac cannot take the priv->lock in stmmac_ioctl()’s PHY layer calls,
because those sleep. Thankfully the priv->lock isn’t actually needed
here, so simply stop taking it. Fix from Srinivas Kandagatla.

24) f_phonet driver appends page to the wrong SKB fragment slot, fix from
Rémi Denis-Courmont.

25) ICMP redirect in ipv4 were not propagating properly into all existing
routing cache entries. Flavio Leitner earlier tried to cure this problem
but his fix turned out to be insufficient. From Eric Dumazet.

-Sage Weil updates ceph, Ted Ts’O has ext4 fixes, Greg KH presents
kernels 3.1.2 and 3.0.10, Greg KH has fixes for staging, tty,
usb, char/misc and driver-core and Chris Mason pulls btrfs

The most important in the bunch fixes the btrfs cache flushing. This
one probably explains many of the corruptions that have been reported,
especially on multi-device filesystems. I had a hard time hitting it
locally, partially because it is much less likely to happen for fsync
based commits and most of my tests used fsyncs to exercise the commit
code. Ceph users running with -o notreelog were dramatically more
likely to trigger the corruptions.

The problem was that btrfs was triggering cache flushes before the last
copy of the super block, instead of doing them before the first copy.
We also needed to be more careful about getting flushes done to all the
devices in a multi-device FS before writing any of the supers. To help
verify the new code, I wrote up a writeback-caching elevator, which I
sent posted earlier today for comments/review.

Many thanks to Alexandre Oliva and Arne Jansen for helping nail this

Outside of the cache flushes, we also have a fix from Liu Bo for
corruptions when snapshotting with mount -o inode_cache enabled.

-John Stultz has time/clocksource changes for 3.3, Trond Myklebust
has NFS client fixes, John Stultz also has RTC fixes for 3.2,
John W. Linville updates wireless and Dave Airlie has drm fixes:

Keith finally decloaked and sent me his -fixes queue so this is mostly
that along with some radeon i2c fixes/cleanups, a radeon fix for some
userspace problems and a couple of drm core and vga arb fixes.

I have some exynos changes I might send separatly to you, as that driver
only went in during the merge window so it not like they can really cause
any regressions.

-Undoubtedly, the news of the week in Linux kernel world is
the release of 3.2-rc3, as announced by Linus, “juts in time
for Thanksgiving”:

Hey, since most of the US will be in a food-induced coma tomorrow, I
just *know* that doing a new release candidate is a good idea.

One quarter arch updates, two quarters drivers, and one quarter random
changes. Shake vigorously and serve cold..

And maybe the rest of the world can try to make up for the lack of any
expected US participation? Hmm?

Anyway, whether you will be stuffing yourself with turkey tomorrow or
not, there’s a new -rc out. I’d love to say that things have been
calming down, and that the number of commits just keep shrinking, but
I’d be lying. -rc3 is actually bigger than -rc2, mainly due to a
network update (none in -rc2) and with Greg doing his normal
usb/driver-core/tty/staging thing.

We also had a drm update.

That said, most of the commits are pretty small and reasonable. So
there’s certainly more churn than I’d like, but it’s not like it’s a
lot of big changes, there’s just a fair number of small things going
on. The shortlog (appended) gives a fair flavor of the details.


-Tyler Hicks has 3 ecryptfs updates, and that’s about it for this week.
See you next time and enjoy your weekend!


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s