kernel weekly news – 28.01.12

Posted: January 28, 2012 in kernel

Howdy there! Let’s see what’s the news this week!

-Nicolas Ferre has at91 updates for -rc2, Rafael
J. Wysocki has PM fixes for 3.3, Taakshi Iwai has
sound fixes, Arnaldo Carvalho de Melo has perf/core
improvements and fixes and David Miller has a networking
pull request:

1) Fix JIT code generation on x86-64 for divide by zero, from Eric Dumazet.

2) tg3 header length computation correction from Eric Dumazet.

3) More build and reference counting fixes for socket memory cgroup
code from Glauber Costa.

4) module.h snuck back into a core header after all the hard work we
did to remove that, from Paul Gortmaker and Jesper Dangaard Brouer.

5) Fix PHY naming regression and add some new PCI IDs in stmmac, from
Alessandro Rubini.

6) Netlink message generation fix in new team driver, should only advertise
the entries that changed during events, from Jiri Pirko.

7) SRIOV VF registration and unregistration fixes, and also add a
missing PCI ID, from Roopa Prabhu.

8) Fix infinite loop in tx queue flush code of brcmsmac, from Stanislaw Gruszka.

9) ftgmac100/ftmac100 build fix, missing interrupt.h include.

10) Memory leak fix in net/hyperv do_set_mutlicast() handling, from Wei Yongjun.

11) Off by one fix in netem packet scheduler, from Vijay Subramanian.

12) TCP loss detection fix from Yuchung Cheng.

13) TCP reset packet MD5 calculation uses wrong address, fix from Shawn Lu.

14) skge carrier assertion and DMA mapping fixes from Stephen Hemminger.

15) Congestion recovery undo performed at the wrong spot in BIC and CUBIC
congestion control modules, fix from Neal Cardwell.

16) Ethtool ETHTOOL_GSSET_INFO is unnecessarily restrictive, from Michał Mirosław.

17) Fix triggerable race in ipv6 sysctl handling, from Francesco Ruggeri.

18) Statistics bug fixes in mlx4 from Eugenia Emantayev.

19) rds locking bug fix during info dumps, from your’s truly.

Please pull, thanks a lot.

-Benjamin Herrenschmidt has some powerpc fixes, Keith Packard has
fixes for drm-intel (“A bunch of patches which fix IVB-specific troubles:

* A selection of code which was labeled for SNB, but needs to be run on
IVB as well.

* A replacement for the quick-hack IVB lost-IRQ issue. This appears to
help on SNB as well, but for now it’s only enabled on IVB in case we
discover problems with it.

* Fix some 3-pipe issues

And, a couple of minor mode setting fixes.”) and Tyler Hicks has some ecryptfs
fixes for -rc2 :

Tim’s logging message update will be really helpful to users when
they’re trying to locate a problematic file in the lower filesystem with
filename encryption enabled.

You’ll recognize the fix from Li, as you commented on that.

You should also be familiar with my setattr/truncate improvements, since
you were the one that pointed them out to us (thanks again!). Andrew
noted the /dev/ecryptfs write count sanitization needed to be improved,
so I’ve got a fix in there for that along with some other less important
cleanups of the /dev/ecryptfs read/write code.

They’ve all sat in -next for at least a day, while some have been there
around a week, I believe.

I’ll get signed tags going for the next pull request I send. That was my
intention this time, but it just hit me that I forgot to do it.

-Greg KH announces the release of 2.6.32.55, 3.2.2 and 3.0.18, Dave Airlie
has some drm fixes, mostly radeon-related, Geert Uytterhoeven has m68k updates
for 3.3 and Ingo Molnar has core, perf and x86 fixes.

-Olof Johansson has arm-soc fixes for -rc, and this concludes this week’s news.

kernel weekly news – 21.01.2012

Posted: January 21, 2012 in kernel

Hi y’all!

-Miklos Szeredi has fuse updates for 3.3, Takashi Iwai
has sound updates for -rc1(“Some highlights:
- The new core infrastructure for compressed data streams is merged.
No real device driver is implemented yet in this merge window.

- A new jack-control interface is provided for some HD-audio codec
drivers

- Further reworks of Realtek HD-audio driver to reduce the static
quirks

- The update of asihpi driver

- ibool module parameter changes by Rusty

- A few driver fixes for au88x0, hdspm, virtuoso, and usb-audio

- Many ASoC updates:
– Conversion of a number of CODEC drivers to use regmap directly. This is
especially beneficial for drivers for devices which are part of MFDs as
they can use a central cache for all operations and means that the
process of factoring out the more complex register management code in
ASoC can begin.

– As a result of the move of drivers to regmap the rbtree and LZO cache
types have been removed, leaving only the the basic flat cache in ASoC.
Drivers which need the more complex cache types should use regmap
directly.

– Lots of cleanups and fixes from Axel Lin.

– New CODEC drivers for Cirrus CS42L73, Realtek ALC5632.

“), Sage Weil updates ceph and John W. Linville has
wireless updates:

Here is a quick batch of wireless fixes intended for 3.3!

On the Bluetooth patches, Gustavo says this:

“A couple of fixes for the 3.3 release. The majority of the fixes are
related to the change from tasklets to workqueue in the Bluetooth
Core. The rest are important fixes over the tree. Exception is
‘Bluetooth: Rename extfeatures’, as the name says it is just a rename
and no harm, but it is a preparation for a following fix.”

Also included is a fix from Jesper Juhl for a potential memory leak in
brcm80211, a one-line comment fix (plus a couple of lines of removing
unused code) from Mohammed Shafi Shajakhan in ath9k, a fix from Larry
Finger to prevent hitting a BUG in rtl8192se when an skb allocation
fails, a fix from Stanislaw Gruszka for a NULL pointer dereference
in mac80211, a fix from Rajkumar Manoharan for an ath9k regression
relating to channel noisefloor readings, and a fix from Johannes Berg
for a regression related to parsing station flags.

Hopefully all of these are fine for the merge window. Please let me
know if there are problems!

-Greg KH announces the release of kernels 2.6.32.54, 3.0.17, 3.19
and 3.2.1, J. Bruce Fields has nfsd updates for 3.3, Rusty Russell
has module and param updates and David Miller has fixes for the
networking tree:

1) Bug fixes in HCI extended features parsing, from Andre Guedes.

2) Many fixed MDIO drivers don’t use a unique device name, resulting
in conflicts. Generalize to ${PLATFORM_DEVICE_NAME}-${INDEX}.
From Florian Fainelli.

3) ksz884x driver doesn’t handle VLAN properly. From Doug Kehn.

4) Conversion to rcu_assign_pointer() converted not just NULL cases,
it converted non-NULL cases too which is wrong. Partial revert
from Eric Dumazet.

5) IRQ masking and NAPI handling in via-rhine was buggy and could
wedge the device, fix this and suspend/resume as well. From
Francois Romieu.

6) Jump label optimization of memcg socket memory code was buggy and
wouldn’t actually turn the jump label back on when the feature
was turned off. Fix from Glauber Costa.

7) Missing iounmap() calls from Julia Lawall.

8) Fix TX timestamping in gianfar, from Manfred Rudigier.

9) Fix local BH enabling in wrong context when netconsole is used
over bond_alb, from Maxim Uvarov.

10) Revert accidental user visible datastructure name changes in inet
diag, from Pavel Emelyanov.

11) Support RED over SFQ, from Eric Dumazet.

Please pull, thanks a lot!

-Benjamin Herrenschmidt has important powerpc bugfixes,
Chris Ball has MMC updates for -rc1, Samuel Ortiz has
a MFD pull request, Florian Tobias Schandinat
updates fbdev, James Morris updates SELinux and
Jens Axboe has some small block IO bits for -rc:

It has the following changes:

- The big io context cleanup from Tejun.

- Remove duplicated block plug in mpage_readpages(). read_pages()
already does the plugging, and it’s the only call path to
mpage_readpages().

- ioctl to query rotational nature of a device from Martin.

- Getting rid of the bio integrity macros, use proper functions instead.

- Recursive merging was added and then disabled, it’s suspected to be
our cause for empty cfqq crashes. It’ll be re-enabled once we get to
the bottom of this.

-Ingo Molnar has x86 and perf fixes, Steven Rostedt has updates
for the linux-trace tree, Vinod Koul updates slave-dma, Rafael J. Wysocki
has fixes for linux-pm and Daniel Vetter announces a new tree, namely
drm-intel-next:

Because Keith is routinely really busy with all kinds of things, notably
gathering fixes for drm-intel-fixes, the patch merge process for the next
release cycle sometimes falls behind. To support him and improve things I’ve
been volunteered to take over handling the -next tree.

The main aim is to shift the drm/i915 -next merge process massively ahead with
the goals to:
- Reduce pressure to merge questionable patches into -rc kernels because the
-next tree is not yet open for patches.
- Allow our QA at Intel and also the community to actually test things before
they land in mainline. The lack of such testing has severly bitten us in the
past few releases.
- Refocus -fixes on handling regressions with absolute top priority (as it
should).
- And generally get a steady and predictable patch-flow towards mainline back
into gears.

I plan to run this -next tree with a few simple rules:
- I’ll open the drm/i915 -next tree around -rc1 (maybe earlier in the future)
and cut regular new trees about every 2nd week or so. 2 weeks should be enough
for both our qa and the community to give it some decent testing.

- I intend to send out the previous -next to Dave Airlie (assuming it tests ok)
so that he has a good check on the stuff that’s going on in i915-land. A few
other people also asked for a better overview of what’s going on on drm/i915 -
I’ll plan to announce every new -next tree with a short mail (maybe together
with the pull request to Dave for the old one).

- -next will close about 1-2 weeks before the merge opens. No new features after
that point for a given release cycle.

- To make this really work we also need to cut down on what can go into -fixes.
drm/i915 unfortunately has the reputation that deserves it a bunch of
draconian rules (which are stricter than drm/* in general):

– Only fixes for serious issues and regressions after the -next tree went to
Dave.
– After -rc2 regression fixes only. It simply happend why too often that an
“obvious” patch blew up late in the -rc release cycle, my patches included.
– After -rc4/5 only reverts and disable patches. Imo it’s way too late to play
games by then, the real fix should go straight to -next (which will close
only a few weeks afterwards already).

- Regressions have top priority, if they get neglected due to ongoing work
headed for -next I’ll refuse to merge the patches.

- We have a test-suite in the intel-gpu-tools package for the kernel. Expect me
to be annoying about patches that should have testcases for them but don’t.
This includes new features, but also bugs that can be reproduced with a
reasonable amount of effort.

- To avoid me pushing utter crack I will only merge my own patches after they
have gathered sufficient review on intel-gfx. Please yell at me at the top of
your voice (and in public) if I violate this.

- The main discussion list for patches to drm/i915 is
intel-gfx@lists.freedesktop.org – I don’t keep up with lkml usually.

- I’ll reserve my human right to act like an incompetent arrogant fool once in a
while.

Last but not least, the new tree is available at

http://cgit.freedesktop.org/~danvet/drm-intel

git://people.freedesktop.org/~danvet/drm-intel

drm-intel-next is the main branch, but I expect at least a for-airlied branch
for pull requests and maybe other branches with proposed patches to show up.

Comments, flames and suggestions highly welcome.

Yours, Daniel

PS: Quick version for people with too short attentation spans:

- -next will open around -rc1, a new tree should show up about every second
week. -next trees that are tested will regurarly be forwarded to Dave.

- No stuff in -fixes that should go into -next instead.

- -next will close for features about 1-2 weeks ahead of the upstream merge window.

- Regressions have top priority.

- Implementing proper tests is required.

- Hit me hard if I break these rules for my own patches.

- Sometimes I’ll screw things up badly.

Now grab the tree from

git://people.freedesktop.org/~danvet/drm-intel

-Michal Marek updates kbuild and kconfig for -rc1,
Trond Myklebust announces more NFS client changes,
John W. Linville has wireless fixes, Ben Myers has
a XFS update for 3.3 and James Morris has security updates.

-Al Viro has lots of things to share for the audit tree,
Jeff Garzik has libata bugfixes, David Miller has networking
fixes and Len Brown has ACPI updates.

-James Bottomley has SCSI ups, Greg KH announces the release
of kernel 3.1.10, Mauro Carvalho Chehab has media fixes and
John W. Linville has a wireless pull request:

Here is another small group of fixes intended for 3.3. Included is
a fix from Javier Cardona to make the mesh code always use the right
headroom size for mesh management frames, a fix from Johannes Berg to
point a debugfs link to the right place, another fix from Johannes that
properly cleans-up some state in mac80211 after a deauth request,
and a fix from Stanislaw Gruszka to avoid a potential infinite
loop in brcmsmac. Also included is a small Kconfig fix from me to
discourage configurations with overlapping hardware support between
b43 and brcmsmac.

-H. Peter Anvin announces x86, perf and sched fixes for -rc1,
David Howells has an interesting patchset for linux-headers,
aaaaaaaand….

So the subject says it all. It’s been two weeks(+a day), and 3.3-rc1 is now out.

There are a couple of trees I haven’t merged on purpose, and there may
be a few trees I overlooked by mistake. The “on purpose” ones were
things that looked unfamiliar and I felt I didn’t have the bandwidth
to check. The “mistake” ones would just be things I missed due to
being busy.

And it really was a pretty busy merge window. I don’t know *why* it
felt so busy, though. In pure numbers, the merge window seems to have
been pretty normal – the number of merges and regular commits are
right where you’d expect them. Part of it was spending what felt like
(and I think was) a couple of days chasing down two independent
suspend/resume regressions on my laptop, part of it was a couple of
just bad pull requests, and some of it was some of the independent
discussions that were on-going. But none of that is unheard of, so
what do I know..

Anyway, it’s out now, and I’m taking off early for a weekend of beer,
skiing and poker (not necessarily in that order: “don’t drink and
ski”). No email.

So if you felt that your pull request was overlooked by mistake (or
intentionally, but really not so scary that you think I should have a
really easy time checking it), you have a couple of days to marshal
your arguments for why I should pull it after all.

And if you didn’t send your pull request in time: “Phhhthrthtpt!”. No
arguments for that one.

(Stats for those that like them: 20% arch updates (arm, power, mips,
x86), 60% drivers (networking – wireless in particular, staging,
media, dri, sound, misc – including getting rid of ‘struct sysdev’),
and 20% random stuff: filesystems, networking, perf etc)

Linus

kernel weekly news – 14.01.2012

Posted: January 14, 2012 in kernel

Howdy!

-We start with Cătălin Marinaș and his kmemleak patches for -rc1
(3.3-rc1, of course), Roland Dreier has Infiniband fixes,
Rafael J. Wysocki has PM updates for 3.3 and Mark Brown
has regmap updates, also for 3.3:

Please pull the tree below to merge regmap updates for version 3.3.
After the rush of new features in version 3.2 this has been a fairly
quiet cycle for the regmap API, the main change being the wider usage by
drivers and some fixes and tweaks for them. The main things from a
subsystem point of view are:

– Addition of a generic interrupt controller driver which should work
for a range of chips, saving them from having to open code this.
– Removal of the indexed cache type as it’s not got any real advantage
over the rbtree cache.

This pull request also includes the MFD driver for the DA9052 PMIC as it
is one of the first users of the generic regmap IRQ code and therefore
has a build dependency on it.

-Greg KH announces the release of 3.1.8, 3.0.16 and 2.6.32.53 kernels,
Martin Schwidefsky has 3.3 patches regarding s390 and we’re back at Greg KH ,
which has driver core updates for 3.3:

Here’s the big driver core merge for 3.3.

It’s based off of 3.2, as I needed to fix up a merge issue and most
importantly, a build issue with the merge that had to be done by hand,
keeping the tree bisectable.

Note, when you merge this with your tree right now, you will get a
conflict in include/linux/cpu.h, which should be pretty obvious and
trivial to resolve, and a build error in drivers/base/cpu.c that you can
fix by changing the cpu_is_hotpluggable function to look like this:

bool cpu_is_hotpluggable(unsigned cpu)
{
struct device *dev = get_cpu_device(cpu);
return dev && container_of(dev, struct cpu, dev)->hotpluggable;
}

If you want me to do this merge, just let me know, I will be glad to do
so, but I know how much you like doing these types of merges :)

Big thing here, that caused all of the merge issues, is the removal of
the sysdev code. It has been long needed to be removed, Kay finally
just did it, thankfully. There are patches pending that take advantage
of this, providing properly CPU hotplug driver loading support, that
will have to wait until 3.4, as they didn’t make the merge window in
time. Note, the sysdev code isn’t removed from the tree just yet, to
help catch any other tree that might not have noticed this in the
linux-next merge process. I’ll send a follow-on patch after 3.3-rc1 is
out that removes this code, after ensuring that no other in-tree code is
using the sysdev structures.

Those changes touched a lot of the kernel.

So did the module_usb_driver() changes, which had to go through this
tree instead of the USB one, as they depended on some driver.h changes.

All of the fun details are in the shortlog below.

Please pull from:
git.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-core.git/ driver-core-next

All of these patches have been in the linux-next and mm trees for a
while now.

-Arnaldo Carvalho de Melo announces perf/core cleanups, fixes and improvements,
Avi Kivity has KVM updates for 3.3, and Linus Waleji has updates for pinctrl
for 3.3:

The only bigger change is the addition of a pin
configuration API. This makes it possible to, well, config
stuff on pins. Usually this tends to be things like biasing
(pull-up, pull-down), drive strength, schmitt-triggering,
drive mode (open collector/open drain) etc.

We haven’t yet merged any users of this interface, but these
can be expected in the next merge window.

Apart from that it is basically it’s a bunch of refinements
where especially Stephen Warren deserves credit for
straightening out some design issues in the stuff merged
in 3.2.

Myself I’ve mostly renamed stuff, moved the COH901 driver
over from the GPIO subsystem (it’s a copuled twin unit
with the U300 pin controller actually).

I was close to merging the PXA pin controller code for this
set, increasing the users from two to three platforms, but
I’ve decided to be conservative this time. We have a number
of potential platforms cooking so next time there may be
some serious migration to this subsystem.

Most stuff has been maturing in linux-next for a while
except the two top commits from Chanho Park which are
essentially fixes and would be -rc material anyway.

-James Morris updates security for 3.3 (if not otherwise
specified, this will be the default target release), Bob Liu
has blackfin changes, Dmitry Torokhov has input updates,
Boaz Harrosh updates exofs and Jan Kara has ext3, udf and
reiserfs fixes for -rc1.

-Tejun Heo comes up with percpu and cgroup changes for -rc1,
Konrad Rzeszutek Wilk updates xen/stable, Greg Kroah-Hartman
has TTY/serial, USB, char and misc updates and David
Miller updates networking:

1) Make the new socket diag bits default to ‘n’.

2) Fix assertion triggers by adding a missing napi_gro_flush() call to
the 8139cp driver, from Francois Romieu.

3) The IGMP delay zero fix from Ben Hutchings.

4) Fix endless loop in asix driver’s SKB fixup handler, from Aurelien
Jacobs.

5) Silence lockdep warnings when we take the netdevice address list lock
for child and parent device at the same time, which is common for
nested devices (f.e. bonding, vlan, bridge, teaming). From Jiri Pirko.

6) Fix socket refcounting when tcp cgroup memcontrol is enabled/disabled.
From Glauber Costa.

7) Fix regression in r6040 driver wherein the wrong register bits were
used. From Cesar Eduardo Barros.

8) device ops constifications from Stephen Hemminger.

9) pktgen setting validation from the eagle eyed Dan Carpenter

-David Teigland has DLM updates, Dave Miller is
back with sparc fixes, Guan Xuetao has unicore32 fixes, Wu
Fengguang has writeback updates for 3.3 and Arnd Bergmann
announces arm-soc changes:

It took me a while to sort everything out this time, but here are the
majority of the arm-soc changes for this merge window. The total number
of changes has dropped slightly since last time, but there were a
significant number of complex merge conflicts, so I ended up pulling
all of Russell’s commits into almost all of these series in order to
resolve them.

As you probably have noticed already, I’m maintaining the arm-soc tree
together with Olof Johansson, and he did a lot of the work, especially
while I was away on vacation. As part of sharing the maintainership,
we have enforced stricter rules about how stuff gets into the arm-soc
tree, and you will notice that for each pull request that we got, there
are actually two changesets in the history: one where we pull into
a fresh topic branch of arm-soc using –no-ff, and another one where
this gets pulled into one of the larger series branches (each of which
becomes one pull request to you), using –no-ff –log. If you think
this is excessive, we can stop using –no-ff, but I like the way
this gives us a clear history.

The extra merge changesets from pulling in the rmk/for-linus branch
through all the samsung/* branches to resolve the conflicts however
are something we will try to avoid in the future, sorry about those.

There are two or three more pull requests coming after this:

1. A next/drivers2 branch that depends on the v4l and the dmaengine
trees. I will send the request as soon as the dependencies are
merged

2. A short series moving arch/arm/mach-mx5 into mach-imx
I want to keep this coming last to avoid merge conflicts with
other patches to mx5. The patch itself is trivial (all the
interesting parts are in today’s series), so I will recreate
it end the end of the merge window.

3. A series for stuff that was submitted to arm-soc after the start
of the merge window. While the patches were in linux-next
already, I’m currently leaning towards queuing them for 3.4 instead
of 3.3 because they were never in arm-soc and I have not yet
looked at them.

I expect you to see four trivial conflicts that you will have to
resolve, unless other new patches have been merged in the meantime:
- arch/arm/mach-tegra/board-dt-tegra20.c, a function has been removed
and the patch conflicted with a merge between two other conflicting
patches.
- drivers/net/ethernet/freescale/fec.c, a clk cleanup conflicted with
the netdev tree.
- arch/arm/mach-s3c2440/clock.c, addition conflicts with the sys_device
removal.
- drivers/tty/serial/Kconfig, some Kconfig symbols were removed, and
the context changed.

For each branch “next/foo”, there is also a signed tag “foo” on the
arm-soc git. Please pull whichever of these you prefer.

-Michal Simek updates microblaze, Artem Bityutskiy has UBI changes
and Dave Airlie updates drm for -rc1:

This is the main pull request for the drm for this merge window. It has
two conflicts with your tree, I’ve fixed them up in a separate
drm-linus-merged branch if you don’t want to exercise your merging
fingers.

Highlights:
drm core: add plane support and userspace interface to expose overlays for
intel and soc hardwre. Lots of code removal through restructing by Daniel
Vetter. EDID support for CEA modes.
ttm: DMA aware page pool added, allows for use under Xen, and makes
support for radeon VM easier.
radeon: multi-ring support, semaphore support, better IB pool support, add
VM support for Cayman and upcoming GPUs, evergreen HDMI audio support
gma500: Initial GMA500 KMS driver moved from staging into drm proper.
nouveau: HDMI audio support, lots of power management fixes, overscan
connector property, initial nvd9 support,
exynos: hdmi support, pm support, plane support.
intel: better HDMI ELD support, plane support, GEN 7 streamout support.

The Intel guys are also having process issues again, and then Intel pull
request was very late and it looked like nobody was pulling stuff into a
-next tree at all regularly. I’m sort of tempted to just drop anything
more from them for this cycle, to give them time to sort themselves out
for the next one. I think there is one missed IRQ fix from them I’d like
to see, the rest I’m thinking can wait.

-Wim Van Sebroeck has a pull request for watchdog, Trond Myklebust
pushes NFS client updates, Mark Salter has C6X patches, James Bottomley
announces the first batch of SCSI updates for the 3.2 merge window and
Theodore Ts’o has ext4 fixes.

-Anton Vorontsov has battery updates for 3.3:

- Now we have a full fledged charger manager, implemented by Samsung
folks. This manager monitors battery charge and health, even when
machine suspended! RTC wake-up is used to bring kernel [partially]
back to life periodically.

This new awesome charger manager, hopefully, will start replacing
bunch of proprietary charger managers that are used in embedded
devices today (e.g. BME in Nokia N900).

- New ‘scope’ property for power supplies. The property is used to
distinguish between system vs. devices’ power supplies (think of
wireless keyboard/mice/tablet battery monitors); The support is
already implemented for Wacom and Nintendo Wiimote devices;

- National/TI LP8727 charger driver;

- Work has been started to bring drivers/power/ and ACPI SBS battery
code closer, and hopefully merge the code bases some day;

- Lots of small fixes here and there.

Note that changes that touch anything outside of driver/power were
acked by appropriate maintainers: MFD changes were acked by Samuel
Ortiz; HID changes were acked by Jiri Kosina and ARM changes were
acked by Tony Lindgren.

-Nicholas Bellinger has target updates for -rc1, Pekka Enberg has
SLAB updates for 3.x, John Stultz worked on rtc/time, Rusty Russell ->
virtio and lguest and Jesse Barnes comes up with PCI changes:

There’s a fix pending for a build problem when CONFIG_AMD_NB=n, but I
didn’t want to delay the pull request any longer; I’ll include it in
the next fixes pull.

This one doesn’t include Yinghai’s resource management stuff either,
I’ll put that in my -next tree for the next merge window when Yinghai
has it ready. That might be a good time to revert 12c22d6ef299 (the
revert of the transparent bridge sizing code we talked about), unless
you want to try it now.

It *does* include some nice improvements from Bjorn on how the root bus
and bus resource code is structured, some good boot fixes from Fedora,
and lots of misc fixes elsewhere.

There was definitely more rebasing than I’d like fairly late on, but that
was mainly to merge in fixes to Bjorn’s series for various build errors
that got reported, so I don’t think it invalidated testing (I generally
don’t pull from you and rebase except after you’ve pulled from me).

-Paul Mundt announces rmobile updates for -rc1:

The diffstat here is a bit misleading since it also includes some changes
that were pulled in from one of the sh topic branches which will have
already made their way upstream via the sh merge. This mostly applies to
clock framework and pfc changes that were needed in both trees. Thus,
most of the arch/sh and drivers/sh stuff can just be factored out when
looking at the net impact.

I could have simply made the pull request based on top of the last change
from the sh topic branch in question, but that seemed to be misleading
too, so I’ve just done it this way instead.

-…and sh updates as well:

Here goes my attempt at a merge request by way of signed tag, hopefully
I’ve not botched anything too terribly.

I noticed some people using 3.3 in their signed tags and others with a
single for-linus one that seems like it will be overwritten on each
subsequent merge. I’ve opted for the latter as presumably verification is
only of interest at the time of merging, but can switch to the former if
that’s the preferred way going forward.

Ideally this should be pulled prior to the rmobile updates, which build
on top of some of the changes in here.

-That’s it for this week, see ya!

kernel weekly news – 07.01.2012

Posted: January 7, 2012 in kernel

Hello everyone!

-David Miller announces networking fixes, as below:

1) mlx4 driver stops working after a ring size change due to forgotten
clear of the queue vector value, fix from Yevgeny Petrilin.

2) RX multicast filter in skge is not restored after resume, breaking
ipv6 amongst other things, fix from Florian Zumbiehl.

3) Fix sync message handling in IPVS, from Julian Anastasov.

4) ctnetlink timeout sanity checks never work due to signedness,
fix from Xi Wang.

-Greg KH announces the release of kernels 2.6.32.52, 3.0.15 and 3.1.7.
Arnaldo Carvalho de Melo has perf/core fixes and improvements,
John W. Linville has wireless fixes and David Miller updates networking
(again):

Probably the bluetooth 10 second resume delay fix is the most
interesting fix here, especially if you’re actually hitting it.

The rest are small fixes isolated to specific drivers or packet
schedulers.

1) Revert bluetooth HCI reset timeout increase, it adds a 10 second delay
during resume in Thinkpad laptops and potentially other machines. From
Gustavo F. Padovan.

2) New packet QFQ scheduler using wrong types to compute queueing limits
leading to overflows, fix from Eric Dumazet.

3) Fix regression in b43 driver conversion to new RX descriptor header
format, it broke PIO mode where the header length needs to be computed
differently. Fix from Guennadi Liakhovetski.

4) Fix build dependencies of FEC ethernet driver, from Wolfram Sang.

5) mwifiex gets OOPS when scan and connect occur simultaneously, fix from
Amitkumar Karwar.

6) ath9k crashes in access point mode because it does aggregation
handling during power save even if TX aggregation is not enabled.
Fix from Mohammed Shafi Shajakhan.

7) Update CAN MAINTAINERS entry, from Oliver Hartkopp.

-Al Viro has vfs updates, Keith Packard updates drm-intel,
Neil Brown has important md changes for 3.3 and Grant Likely
has gpio and spi changes, also for 3.3.

-Linus Torvalds finally announces the release of Linux 3.2:

So 3.2 is out, and the merge window for 3.3 is thus officially open.

I delayed 3.2 first a few days to wait for the final linux-next
(“final” in the sense that that’s what I’ll fetch to decide whether
something has been in linux-next for 3.3 or not), and then some more
as people were coming back from holidays and sorting out some
regressions. So we do have a few last-minute reverts and small fixes.

Still, there’s not a whole lot of changes since -rc7 (shortlog
appended), and almost all of them are *tiny*. So despite the few
annoying last-minute reverts, I’m feeling pretty happy about it.

-Ingo Molnar has core/{locking,memblock,printk}, RCU, perf and scheduler
changes, and also timer, x86/{apic,asm,cleanup,cpu,debug,efi,mce,microcode},
Geert Uytterhoeven has m68k updates for 3.3, Ingo steps up again with
x86/{mm,platform,rdrand} changes, Joerg Roedel has IOMMU updates for
3.3-rc1 and Tony Luck has pstore changes.

-Guenter Roeck has hwmon updates for 3.3:

No new drivers this time, only cleanups, minor fixes, and added support for
new chips to existing drivers.

Most of the patches have been in -next for a while, but there are some cleanups
and minor fixes which I only added in the last couple of days (the patches
submitted by Frans). Some of those may be missing in the -next snapshot you use
as base to determine what to accept and what not (all are in next-20120105,
though). I have no problem taking those out and resubmit later into an -rc
if you prefer. Please let me know.

-Ben Myers has XFS updates for -rc1, Jiri Kosina updates HID, APM
and trivial, James Bottomley has SCSI patches and David Miller
has networking changes:

The most prominent thing here are the TX byte queue limit changes
from Tom Herbert and others at Google.

The idea is that you can limit the amount of packet data, in bytes,
that can get queued up to a TX queue of a networking device. And as
a result one can tune things such that high priority packets get
serviced with a reasonable amount of latency whilst not subjecting
the hardware queue to emptying when data is available to send.

Driver’s need to make some minor changes to support this feature, and
drivers for most of the most commonly used ethernet devices have been
transformed. In particular niu, bnx2, igb, e1000e, forcedeth, tg3,
bnx2x, sfc, and sky2 have support.

Eric Dumazet added a new interface for drivers called build_skb() which
allows the driver to DMA RX packets into kmalloc()’d buffers, and
then allocate the packet metadata on the local cpu right when we push
the packet up into the stack for better cache locality. Currently
tg3, bnx2, and bnx2x have been converted to use this new interface.

Eric also extended our RED packet scheduler to support Adaptive RED
wherein the random-drop/tail-drop thresholds are adjusted dynamically
in response to traffic.

Jiri Pirko has introduced a new “teaming” network device which is
intended to be a more cleanly designed, scalable, and simpler
replacement for the bonding driver. Currently round-robin and
active-backup modes are implemented.

Netlink socket dumping is now supported for UDP and AF_UNIX sockets
thanks to Pavel Emelyanov. For AF_UNIX sockets we report the peers as
well as the pending connection IDs. The reporting of socket memory
usage is also now more complete.

Socket memory pressure can now be enforced on a per-cgroup level,
from Glauber Costa.

As is usually the case the majority of this pull is a boatload of
driver updates.

-Greg Ungerer updates the m68knommu tree, Benjamin Herrenschmidt
updates powerpc.git, Ingo Molnar is yet again back with x86/syscall
changes for 3.3, Steven Whitehouse updates GFS2 and that’s it for
this week. See ya!

kernel weekly news – 31.12.2011

Posted: December 31, 2011 in kernel

Hello and welcome to the last edition of the year!

-Arnaldo Carvalho de Melo has perf/core improvements and fixes, David
Miller has a few bug fixes for sparc and networking, and Linus announces
the seventh and last release candidate :

There it is, likely the last -rc in before final 3.2, so please do
check it out in between your holiday festivities.

Most of the changes are faily simple one-liners, but some qla4xxx
driver updates stand out and in fact account for about 40% of the diff
(“qla4xxx: fix flash/ddb support”). That, together with a VMWare DRI
driver update and some dvb updates and the regular random driver fixes
means that 80+% of the changes are in drivers.

Some net updates, some SH updates, and then a (tiny) smattering of
other stuff. The appended shortlog gives the (fairly boring) details,

-Dave Airlie has drm fixes, one for radeon and another for vmwgfx,
Avi Kivity has quite important KVM fixes and David Miller updates
networking:

1) AF_PACKET bind() can leak a netdevice reference, from Wei Yongjun.

2) netem erroneously calls vfree() under spinlock and soft interrupt
disable, fix from Eric Dumazet.

3) ctnetlink_get_expect() can make nfnetlink loop forever when it
returns -EAGAIN in situations where it should not, fix from
Pablo Neira Ayuso.

4) Autoloading connection tracking helpers cannot be done with
spinlocks held because that operation sleeps, fix also from Pablo.

-Ben Myers has an XFS update for 3.2, Sage Weil has ceph fixes, also
for 3.2, and…this is it for this edition, good folks. May you have a happy
new year and see you next year!

kernel weekly news – 24.12.2011

Posted: December 24, 2011 in kernel

Hello everyone! Welcome to 2011′s Christmas edition, for
those of you who celebrate it.

-Jens Axboe has block fixes for -rc5, Arnd Bergmann has
arm-soc fixes for 3.2, Takashi Iwai has sound fixes
for -rc6 and Keith Packard has intel-drm fixes:

A few regression fixes:

* eDP panels with too few lanes need 6bpc modes
* older machine backlights going black
* divide-by-zero crash when reading a /sys file

Quirks for a couple of machines:

* No lvds panel on a desktop ASUS machine
* Light up the second LVDS on the Libretto W105

Two more Ivybridge changes:

* Use Multi-threaded force-wake where enabled by the BIOS
* Light up eDP panels

Finally, this enables RC6 and semaphores, unconditionally on Ivybridge.
On Sandybridge, these are enabled when VTd isn’t in use. We’ve been
wanting to do this for a long time, and instead of turning this on for
RC1 and hoping things worked out, we spent time working directly with
people who reported problems and discovered that RC6 and Semaphores
cannot be enabled when VTd is in use (even VTd for non-gfx devices).

There’s a patch here which exports a value from the iommu code letting
us know when VTd is active so that RC6 and semaphores can be
disabled. That patch has been ok’d by David Woodhouse, although he’s not
very happy about it. Matthew Garrett wanted to write a second patch that
disabled VTd by default on SNB machines, which would enable RC6 and
semaphores more often.

-Chris Mason has btrfs fixes, as per below:

This pull request is bigger than I wanted it to be, but Josef has
commits in here for some long running ENOSPC bugs in btrfs. This is
a few weeks of tracing our delalloc reservations from Josef, and then
fixing up the related bugs.

Outside of Josef’s patches we have some assorted fixes. Arne figured
out we were orphaning whole snapshots if you unmounted enough times
while the snapshot was being deleted.

…and here’s part two as well:

I try to keep most of the btrfs commits against the last release. This
way, people can update their old and crusty kernels from 3 months ago,
and still have the latest btrfs code.

We do have one commit that is 3.2 specific though, so I put it into a
for-linus-3.2 branch:

git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs.git for-linus-3.2

Wu Fengguang noticed that btrfs’ file write needs to consider the balance
dirty thresholds when it allows big multi-page writes.

-David Miller announces fixes to the networking tree:

1) IPv6 code checks prefix length of destination address on wrong route, so
anycast handling is never performed.

2) Device name handling in ipip/sit regressed, copy the name into the device
parms after register_netdevice() to fix it. From Ted Feng.

3) Add device ID to btmrvl bluetooth driver, from Bing Zhao.

4) Fix module refcounting in bluetooth cmtp and bnep modules, from
David Herrmann.

5) Leak fix in btusb_send_frame(), from Cong Wang.

6) hci_setup() checks the wrong version field in device structure, fix from
Andrei Emeltchenko.

7) Roaming clients fixes in batman-adv from Antonio Quartulli.

8) Fix regression on single-stream ath9k wireless chips by properly testing
for antenna diversity support, from Felix Fietkau.

9) pptp module double releases socket in bind() error path, from Djalal Harouni.

10) Fix races in wireless TX aggregation start, from Jahannes Berg.

11) Fix SSB bus initialization regression causing data bus errors, from
Hauke Mehrtens.

12) IPV6 erroneously adds a multicast route on the loopback device when it
is brought up, this can cause multicast communication failures depending
upon the order in which devices are brought up. From Li Wei.

13) Use GFP_ATOMIC while holding lock in GRED packet scheduler, fix from Eric
Dumazet.

-David also has sparc fixes, but probably the most important event of the week
is the release of the sixth release candidate of 3.2:

Ok, people have clearly figured out and are gaming my release timing,
because over half the commits in -rc6 were merged today.

And that’s purely because I got more merge requests today than I got
the rest of the week..

Now, I’ll be somewhat generous and just say “ok, people left it to
Friday before the holidays to push me stuff”, and maybe it’s not
gaming the -rc cycle, but in general I *hate* it when it seems like
people leave their requests to the last moment. So if you did it
consciously, please just stop. It would be much nicer to just spread
things out, and have developers that track current -git give reactions
to things as they come in, rather than having things clump just before
the -rc release.

That said, this is still a smaller -rc release than previous ones, and
things do seem to be calming down. We’re at -rc6 now, and while I can
see myself doing an -rc7, I probably won’t do an -rc8 unles something
bad pops up. There doesn’t seem to be any real reason to drag out this
release any more, and we’ll probably have the real 3.2 around new
years.

Shortlog appended, the only thing that stands out is that we have
relatively more fs updates than usual – both btrfs and cifs had some
sizable (for -rc6) updates here, and there’s a few smaller ext4
commits too. That said, it’s still dominated by drivers (block – swim3
driver – and i915 – more eDP updates), just less than usual. And some
arm and x86 stuff. The rest is really tiny.

Nothing really stands out,

Linus

-Steven Rostedt has linux-trace updates, James Bottomley has
scsi fixes for -rc6, Robert Richter has oprofile updates
for 3.3, mostly s390-related, and also a fix for 3.2, and
Trond Myklebust has bugfixes for the nfs-client.

-Arnaldo Carvalho de Melo announces perf/core improvements
and fixes, Paul Mundt updates rmobile, Chris Ball has mmc fixes
for 3.2, Samuel Ortiz has mfd fixes and Greg KH announces
kernels 2.6.32.51, 3.1.6 and 3.0.14 .

-David Miller updates networking:

Hopefully the last set of fixes for 3.2.x:

1) iwlwifi fixes that cure the regressions reported by Ted T’so and
others, from Wey-Yi Guy, Johannes Berg, and Emmanuel Grumbach.

2) When we moved PMTU information to the inetpeer cache, we removed the
periodic garbage collector, but this is still needed and without
it we have regressions such as ARP entries sticking around forever
(even after a routing cache flush).

The GC scanner needs to run to see these routing cache entries with
an out-dated generation count, so then can be unlinked, put, and
that route’s ARP table references dropped as well.

From Eric Dumazet.

3) The flow cache potentially sleeps, but it can be called in the packet
path with SW interrupts disabled. Add a deferred task that takes
care of this in such situations.

4) The x86-64 BPF JIT has a branch target calculation error, fix from
Markus Kötter.

5) SCTP Autoclose timeout overflow check is not correct, from Xi Wang.

6) SCTP accounts too much into receive buffer space used when estimating
the receive window, fix from Thomas Graf.

7) R8169 programs wrong regiater and bit for MSI enable, from François Romieu.

8) LLC socket layer can reference SKB after sk_eat_skb() when putting the
socket address back to userspace. Fix from Alex Juncu.

9) Add new device ID to ASIX driver, from Aurelien Jacobs.

10) ipconfig spins waiting for “link up” for a very long time even
if no devices have actually been brough up and added the ipconfig’s
list of devices. Fix from Gerlando Falauto.

11) When bluetooth L2CAP performs configuration, it potentially references
an uninitialized on-stack l2cap_conf_rfc struct, fix from Mat Martineau.

12) Bluetooth RFCOMM forgets to kill session timer on last channel
disconnect.

13) Revert bluetooth L2CAP connect establishment fix, it causes regressions
when talking to legacy devices. From Gustavo F. Padovan.

14) Fix DMA channel locking in davinci-cpdma driver, from Ilya Yanok.

-Here’s the end, and for those of you celebrating Christmas, enjoy it and take care.

kernel weekly news – 17.12.2011

Posted: December 17, 2011 in kernel

Hello everyone and welcome!

-Greg KH announces the release of 3.0.13, as well as 3.1.5, plus,
for those of you using more conservative options, 2.6.32.50.

-Speaking of announcements, Linus Torvalds announces 3.2-rc5:

It’s been a bit over a week, and I’m sad to report that -rc5 is bigger
(at least in number of commits – most of the commits are pretty small,
so it’s possible that the *diff* ends up being smaller, but I didn’t
check) than both -rc2 and -rc4 were.

So much for “calming down”.

Yeah, part of it is probably that Ingo is back, and had a backlog
(mainly x86 and perf). But quite frankly, that isn’t enough to explain
it all – we have xfs and btrfs changes, we have network updates, and
we have the usual 50% random driver updates (sound, target and gpu
drivers stand out, but there’s some network amd MD driver noise too).

That said, there’s nothing really scary there and it all tends to be
pretty small, and many of them are solid regression fixes.

So I’m going to continue to push back a bit on people sending me
stuff, but I’m also just going to hope that this was some one-time
thing and we really will be calming down now.

Ok? Because we all want a quiet holiday season, don’t we? And Santa
doesn’t like it when I curse a lot in email.

-Thomas Gleixner has x86 fixes for 3.2, Chris Ball has mmc fixes for -rc6,
Arnaldo Carvalho de Melo has perf/core fixes and improvements and Christoph Hellwig
has a status update on xfs, as seen below:

November saw stabilization of the Linux 3.2 release candidates, including
a few fixes for XFS. In addition a lot of bug fixes were backported to
the 3.0 long term stable and 3.1-stable releases for users not on
bleeding edge kernels.

At the same time development for Linux 3.3 went on at a fast pace, although
no pages were merged into the development tree yet. The highlights are:

– further versions of the patches to log all file size updates instead of
relying the the flaky VM writeback code for them
– an initial version of SEEK_HOLE/SEEK_DATA support
– removal of the old non-delaylog logging code, and cleanups resulting
from the removal
– large updates for the quota code

Userspace development was even more busy:

Xfsprogs saw the rushed 3.1.7 release which contains Debian packaging fixes,
a polish translation update and a xfs_repair fix. In the meantime a lot of
xfs_repair fixes were posted but mostly not reviewed and commit yet.

Xfsdump grew support for using pthreads to write backup streams to multiple
tapes in parallel, and SGI_XFSDUMP_SKIP_FILE which has been deprecated in
favor of the nodump flag has finally been removed.

Xfstests saw an enormous amount of updates. The fsstress tool saw major
updates to exercise even more system calls, and found numerous bugs in
all major Linux filesystems, additional ENOSPC tests, a new test for
btrfs-specific functionality and the usual amount of bug fixes and small
cleanups. Also a series to clean up the very large filesystem testing,
including extending the support to ext4 was posted but not committed yet.

-Mauro Carvalho Chehab has media fixes:

The changes are:
– ati_remote (new driver for 3.2): Fix the scancode tables;
– af9015: fix some issues with firmware load;
– au0828: (trivial) add device ID’s for some devices;
– omap3 and s5p: several small fixes;
– Update MAINTAINERS entry to cover /drivers/staging/media and
media DocBook;
– a few other small trivial fixes.

-Sage Weil has ceph fixes for -rc6:

There are two biggish things here, unfortunately. One is a locking fix
that replaces i_lock use with a ceph-private inode spinlock. This is
necessary to work around lock ordering issues which unfortunately we
didn’t notice until now (it’s from the lock scalability stuff a couple of
kernels back). The diffstat is large, but it’s a mechanical replacement
and has been pretty well tested. The other big one is removing rbd
rollback functionality from the kernel entirely (we found a minor bug but
it is better done from userspace anyway).

There are also a handful of other small bug fixes (missing spin_unlock,
typo), some error reporting/handling on a corrupt image, a fix for the
CRUSH mapping calculation, and a fix for a the seek() regression in 3.1.

There will probably be one more lock ordering patch coming shortly, but I
want to do some more testing first.

-Ingo Molnar announces x86 fixes, Al Viro has vfs changes, Theodore Ts’o
has ext4 bugfixes for -rc5 and Konrad Rzeszutek Wilk has xen stable
fixes for -rc6.

-Greg KH has USB and staging fixes for 3.2, John W. Linville has
wireless fixes for 3.2, and that’s about it for today! I’m not sure
yet if I’ll have a Christmas edition, so if not, happy holidays and
take care.

kernel weekly news – 10.12.2011

Posted: December 10, 2011 in kernel

Hello everyone and welcome!

-Ben Myers of SGI has an xfs update for -rc5, Arnaldo Carvalho de Melo
announces perf test improvements, Greg KH has small usb fixes for 3.2,
Martin Schwidefsky has s390 patches for -rc5 and Ingo Molnar has scheduler,
slab, timer, perf, x86 and irq fixes/patches.

-John W. Linville has wireless updates for 3.2:

Included is an iwlwifi fix to correctly set some flags related to packet
encryption, a couple of cfg80211 regulatory fixes (including one that
patches a hole created by the earlier “cfg80211: fix regulatory NULL
dereference”), a mac80211 fix to avoid sending probe requests with no
supported rates included, an iwlwifi fix to prevent reconfiguring HT40
after an association (prevents an assert in the firmware), and another
iwlwifi fix that customizes the watchdog timer enablement based on the
device type.

Also included is a reversion of a patch that was causing the iwlegacy
driver to throw WARNINGs.

-Nicholas Bellinger has fixes/cleanups for target-pending:

This series contains outstanding bugfixes+cleanups from target-pending
that have been testing in lio-core.git on v3.1 the last number of weeks,
and are ready to be pulled for v3.2 rc-fixes.

This includes the following changes:

- conversion of PYX_TRANSPORT_* sense payload handling to use explict
se_cmd->scsi_sense_reason assignment to fix a number of cases where
incorrect sense qualifier was being returned.
- bugfix for fileio and ramdisk backend to properly walk chained SGLs
when using pre-allocated scsi_cmnd memory with loopback LUNs.
(Sebastian)
- bugfixes for target CDB parsing with Solaris FC clients (Roland)
- removal of unused target code (Christoph + Joern)
- drop set_user_nice() usage with processing thread context (Bart)
- make unsupported backend configfs attributes return zero (Andy)

-David Miller has networking fixes:

1) RTO_ONLINK state bit can be lost in routing cache entries, fix from
Julian Anastasov.

2) INET peer validation fix could result in an OOPS if the call fails,
but allowing this operation to fail in the first place is the real
issue. If we can’t lookup the neighbour for the new gateway, simply
revert back to the old one. We’ll end up with another ICMP redirect
but that’s fine and better than failing and having to add ugly recovery
code all over the place.

3) FIFO overflow and packet processing race fixes in r8169 from
François Reomieu.

4) pasemi_mac build was broken accidently, fix from Ben Hutchings.

5) cfg80211 wireless race fixes from Luis R. Rodriguez.

6) Reconfiguring HT40 after assosciation in iwlwifi results in a firmware
abort, so don’t do it. From Wey-Yi Guy.

-Dave Airlie announces drm fixes:

3 fixes, one for an ongoing Intel VT-d/Ironlake GPU that I’ve been
testing, and one kexec fix from Jerome for an issue reported on the list
where the gpu writeback engines need to be switched off, along with a
trivial fix from Alex.

Due to the size of the kexec fix I’ve decided to keep this pull small.
(I have some kzalloc->kcalloc fixes to check on).

-Ben Myers has a small xfs update for 3.2, Jeremy Fitzhardinge has
three updates to power-supply-scope, Takashi Iwai has sound fixes
for -rc5 and Chris Metcalf updates arch/tile for 3.2.

-Thus endeth this week’s news, have a good weekend!

kernel weekly news – 03.12.2011

Posted: December 3, 2011 in kernel

Hello people and welcome to the 1st edition of December!

-Greg Kroah-Hartman announces the release of kernels 3.1.3, 3.0.11 and
2.6.32.49, Takashi Iwai has sound updates for -rc4, Tejun Heo has
-rc3 fixes for percpu and cgroup and Greg KH announces kernels
3.1.4 and 3.0.12.

-Arnaldo Carvalho de Melo has a 25-piece perf/core fixes and
improvements pull request, Pekka Enberg has slab fixes for
-rc4, Roland Dreier updates infiniband and John W. Linville has
wireless updates.

-David Brown announces msm updates for 3.3, Chris Mason has
btrfs updates, Joel Becker has ocfs updates for -rc3 and
Linus Torvalds announces Linux 3.2-rc4:

This doesn’t look tons smaller than -rc2 or -rc3, but it really is.
Yes, there are some ARM updates and fixups to the new Exonys DRI code,
and a questionably late ocfs2 update, but if you ignore those three
areas (and most people can happily ignore them), things really are
calming down pretty nicely.

There are some small sound updates, and btrfs is still getting fixups
(but nowhere near -rc2 levels), but other than that it was almost
eerily quiet.

I’m waiting for the other shoe to drop. Maybe Davem and GregKH are
holding back – they’ve been suspiciously quiet, and I think I can hear
some evil chuckling going on there. But maybe it’s just time for my
meds.

-David Miller has misc fixes for the networking tree:

Lots of tiny fixes, pretty much everywhere. Nothing really stands out, but
each bug is certainly a bummer if you happen to run into it.

I hope all the PMTU and redirect regressions I added to the ipv4 code
are really fixed now :-) A huge thanks to Steffen Klassert, Eric Dumazet,
and others for helping to resolve these problems.

The netfilter ADVANCED depency adjustments are, of course, in here too.

1) ARCNET and PHYLIB were inadvertantly changed to bool, revert back to
tristate. From Ben Hutchings.

2) Two netfilter ADVANCED adjustments.

3) Cached route lookups must validate referenced inetpeer.

4) Revert old udp_recvmsg() ‘redundant variable’ change, because in fact
the ‘copied’ variable was not redundant and this broke things when
encountering UDP packets with bad checksums.

5) TCP ipv6 input packet processing could crash under various
circumstances in error paths, fixes from Eric Dumazet.

6) Fix bad decnet socket refcounting, also from Eric Dumazet.

7) L2TP needs to validate attached socket route, fix from Florian Westphal.

8) Proxy ARP entries listed improperly in network namespace, fix from
Jorge Boncompte.

9) IGMP’s ip_mc_add_src() incorrectly decrements the entry refcount,
fix from Jun Zhao.

10) bnx2x LED handling fix from Yaniv Rosner.

11) TX descriptor list was mis-sized in qlge driver, fix from Thadeu
Lima de Souza Cascardo.

12) ehea per-TX-queue memory consumption was enormous, scale it
down to be more reasonable, from Anton Blanchard.

13) We have to adjust the IP header ->daddr in ip_forward_options()
not ip_options_rcv_srr() as the latter is too early. Fix from
Li Wei.

14) Netlabel adds to ipv4 map list in ipv6 code :-) Fix from
Dan Carpenter.

15) Several MTU handling regression fixes in ipv4 from Steffen Klassert.

16) DM9000 driver tests bit using && instead of &. Fix from Mark Brown.

17) Concurrent stream socket reads may cause poll() to incorrectly block
for AF_UNIX sockets, report and fix from Alexey Moiseytsev.

18) Invalidate cached ipv4 redirects properly, fix from Eric Dumazet.

19) Some 802.11 netlink attributes were not being validated properly,
fix from Eliad Peller.

20) Wireless TX aggregation accidental double-stop fix from Johannes Berg.

21) rtlwifi can deadlock on lps_lock, fix from Stanislaw Gruszka.

22) /proc/*/net/dev_mcast output corruption fix from Anton Blanchard.

23) “-1″ means default for multicast hops in ipv6, fix from Li Wei.

24) Integer overflow fix in SCTP from Xi Wang, although it took me two
tries to get it committed properly, my bad.

25) ISDN string NULL termination fixes from Dan Carpenter.

26) TEQL driver needs to perform dst_get_neighbour() under proper
RCU protection, fix from Eric Dumazet.

27) Likewise, fix a similar lockdep splat in rt_cache_seq_show, also
from Eric Dumazet.

28) When the PSCHED_SHIFT was adjusted from 10 to 6 the RED packet scheduler did
not have it’s idle period handling adjusted properly. Fix from Eric Dumazet.

29) When bridge user-stp mode is used, we can get the device stuck in no-carrier
state forever. Fix from Vitalii Demianets.

30) When the RED packet scheduler was made classful, we didn’t update the test
for queue empty. It must check q->qdisc->q.len not whether sch->q is empty.
Fix from Eric Dumazet.

31) Missing spin_lock_init() and workqueue deadlock fix in p54spi driver from
Michael Buesch.

32) ip_route_me_harder() in netfilter needs to use HH_DATA_ALIGN when expanding
the SKB header area, otherwise packet headers become misaligned. Fix
from Paul Guo.

33) iseries_veth uses wrong length argument to memset() call, from Thomas Jarosch.

34) When DCCP ipv4 connect fails to lookup a route, we don’t record the error
from the ‘rt’ error pointer properly, fix from RongQing Li.

35) Fix namespace based OOPS in nf_conntrack by making event callback
registration per-ns. Fix from Pablo Neira Ayuso.

36) In netlink socket dumps, report the TOS attribute of inet sockets,
regardless of whether they are ipv4 or ipv6, because this value
has meaning for ipv4 mapped ipv6 connections. Fix from Maciej
Żenczykowski.

37) ndisc_send_redirect() has reversed rate limiting check, oops. Fix from
Li Wei.

38) B44 needs to use dev_kfree_skb_irq() when releasing TX buffers because
the free runs with an IRQ safe spinlock held, fix from Xander Hover.

39) If we reuse a TCP time-wait socket in ipv6, we erroneously drop the SYN
because treq->iif is not set early enough in tcp_v6_conn_request(). Fix
from Eric Dumazet. This was largely not noticed because 1 second later the
client would resend the SYN and that would work since the first SYN
killed off the time-wait entry.

40) Fix PHY initialization in jme driver, from Aries Lee.

-Takashi Iwai has sound fixes, Dave Airlie has drm fixes,
mainly nouveau and radeon, and this concludes this week’s news.
Enjoy your weekend!

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.

[1]

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
machines.

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, kernel.org 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
present.

-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
shape.

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
fixes:

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
down.

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.

Linus

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