commit 0792644d22852f40c8ad16c4ba1fefd76aba5643
Merge: e6ece70 f2a4d8a
Author: Linus Torvalds
Date: Sun Jun 5 08:11:11 2011 +0900
Merge branch 'for-linus' of git://android.git.kernel.org/kernel/tegra
* 'for-linus' of git://android.git.kernel.org/kernel/tegra:
ARM: Tegra: Harmony: Fix conflicting GPIO numbering
commit f2a4d8ae4d40f6f5482d207f47fd4d53b3ae0ed4
Author: Stephen Warren
Date: Tue May 31 15:14:07 2011 -0600
ARM: Tegra: Harmony: Fix conflicting GPIO numbering
Currently, both the WM8903 and TPS6586x chips attempt to register with
gpiolib using the same GPIO numbers. This causes the audio driver to
fail to initialize.
To solve this, add a define to board-harmony.h for the TPS6586x, and make
board-harmony-power.c use this define, instead of directly referencing
TEGRA_NR_GPIOS.
This fixes a regression introduced by commit
6f168f2fa60f87e85e0df25e87e2372f22f5eb7c.
ARM: tegra: harmony: initialize the TPS65862 PMIC
Signed-off-by: Stephen Warren
Signed-off-by: Colin Cross
commit e6ece70732b905742ad91a7b5489e0ca1362c0cd
Merge: 23c79d3 aa0467d
Author: Linus Torvalds
Date: Sun Jun 5 06:17:23 2011 +0900
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable: (25 commits)
btrfs: fix uninitialized variable warning
btrfs: add helper for fs_info->closing
Btrfs: add mount -o inode_cache
btrfs: scrub: add explicit plugging
btrfs: use btrfs_ino to access inode number
Btrfs: don't save the inode cache if we are deleting this root
btrfs: false BUG_ON when degraded
Btrfs: don't save the inode cache in non-FS roots
Btrfs: make sure we don't overflow the free space cache crc page
Btrfs: fix uninit variable in the delayed inode code
btrfs: scrub: don't reuse bios and pages
Btrfs: leave spinning on lookup and map the leaf
Btrfs: check for duplicate entries in the free space cache
Btrfs: don't try to allocate from a block group that doesn't have enough space
Btrfs: don't always do readahead
Btrfs: try not to sleep as much when doing slow caching
Btrfs: kill BTRFS_I(inode)->block_group
Btrfs: don't look at the extent buffer level 3 times in a row
Btrfs: map the node block when looking for readahead targets
Btrfs: set range_start to the right start in count_range_bits
...
commit 23c79d31a3dd2602ee1a5ff31303b2d7a2d3c159
Merge: 0e833d8 e73e079
Author: Linus Torvalds
Date: Sat Jun 4 23:19:51 2011 +0900
Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6:
[SCSI] Fix oops caused by queue refcounting failure
commit 0e833d8cfcb52b5ee3ead22cabbab81dea32c3f0
Merge: 4f1ba49 7b29dc2
Author: Linus Torvalds
Date: Sat Jun 4 23:16:00 2011 +0900
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (40 commits)
tg3: Fix tg3_skb_error_unmap()
net: tracepoint of net_dev_xmit sees freed skb and causes panic
drivers/net/can/flexcan.c: add missing clk_put
net: dm9000: Get the chip in a known good state before enabling interrupts
drivers/net/davinci_emac.c: add missing clk_put
af-packet: Add flag to distinguish VID 0 from no-vlan.
caif: Fix race when conditionally taking rtnl lock
usbnet/cdc_ncm: add missing .reset_resume hook
vlan: fix typo in vlan_dev_hard_start_xmit()
net/ipv4: Check for mistakenly passed in non-IPv4 address
iwl4965: correctly validate temperature value
bluetooth l2cap: fix locking in l2cap_global_chan_by_psm
ath9k: fix two more bugs in tx power
cfg80211: don't drop p2p probe responses
Revert "net: fix section mismatches"
drivers/net/usb/catc.c: Fix potential deadlock in catc_ctrl_run()
sctp: stop pending timers and purge queues when peer restart asoc
drivers/net: ks8842 Fix crash on received packet when in PIO mode.
ip_options_compile: properly handle unaligned pointer
iwlagn: fix incorrect PCI subsystem id for 6150 devices
...
commit aa0467d8d2a00e75b2bb6a56a4ee6d70c5d1928f
Author: David Sterba
Date: Fri Jun 3 16:29:08 2011 +0200
btrfs: fix uninitialized variable warning
With Linus' tree, today's linux-next build (powercp ppc64_defconfig)
produced this warning:
fs/btrfs/delayed-inode.c: In function 'btrfs_delayed_update_inode':
fs/btrfs/delayed-inode.c:1598:6: warning: 'ret' may be used
uninitialized in this function
Introduced by commit 16cdcec736cd ("btrfs: implement delayed inode items
operation").
This fixes a bug in btrfs_update_inode(): if the returned value from
btrfs_delayed_update_inode is a nonzero garbage, inode stat data are not
updated and several call paths may hit a BUG_ON or fail with strange
code.
Reported-by: Stephen Rothwell
Signed-off-by: David Sterba
commit 7841cb2898f66a73062c64d0ef5733dde7279e46
Author: David Sterba
Date: Tue May 31 18:07:27 2011 +0200
btrfs: add helper for fs_info->closing
wrap checking of filesystem 'closing' flag and fix a few missing memory
barriers.
Signed-off-by: David Sterba
commit 4b9465cb9e3859186eefa1ca3b990a5849386320
Author: Chris Mason
Date: Fri Jun 3 09:36:29 2011 -0400
Btrfs: add mount -o inode_cache
This makes the inode map cache default to off until we
fix the overflow problem when the free space crcs don't fit
inside a single page.
Signed-off-by: Chris Mason
commit e7786c3ae517b2c433edc91714e86be770e9f1ce
Author: Arne Jansen
Date: Sat May 28 20:58:38 2011 +0000
btrfs: scrub: add explicit plugging
With the removal of the implicit plugging scrub ends up doing more and
smaller I/O than necessary. This patch adds explicit plugging per chunk.
Signed-off-by: Arne Jansen
Signed-off-by: Chris Mason
commit a4689d2bd3b00dcf5c4320f06e0ab88810fbff9c
Author: David Sterba
Date: Tue May 31 17:08:14 2011 +0000
btrfs: use btrfs_ino to access inode number
commit 4cb5300bc ("Btrfs: add mount -o auto_defrag") accesses inode
number directly while it should use the helper with the new inode
number allocator.
Signed-off-by: David Sterba
Signed-off-by: Chris Mason
commit d132a538d258f8f52fd0cd8b5017755f4e915386
Author: Josef Bacik
Date: Tue May 31 19:33:33 2011 +0000
Btrfs: don't save the inode cache if we are deleting this root
With xfstest 254 I can panic the box every time with the inode number caching
stuff on. This is because we clean the inodes out when we delete the subvolume,
but then we write out the inode cache which adds an inode to the subvolume inode
tree, and then when it gets evicted again the root gets added back on the dead
roots list and is deleted again, so we have a double free. To stop this from
happening just return 0 if refs is 0 (and we're not the tree root since tree
root always has refs of 0). With this fix 254 no longer panics. Thanks,
Signed-off-by: Josef Bacik
Tested-by: David Sterba
Signed-off-by: Chris Mason
commit 5f3f302a6f4cb74906c05fad1d03fc5e95c7e5af
Author: Arne Jansen
Date: Mon May 30 08:36:16 2011 +0000
btrfs: false BUG_ON when degraded
In degraded mode the struct btrfs_device of missing devs don't have
device->name set. A kstrdup of NULL correctly returns NULL. Don't
BUG in this case.
Signed-off-by: Arne Jansen
Signed-off-by: Chris Mason
commit ca456ae280c0646e1e571c3b9a3834c55e90adfe
Author: liubo
Date: Wed Jun 1 09:42:49 2011 +0000
Btrfs: don't save the inode cache in non-FS roots
This adds extra checks to make sure the inode map we are caching really
belongs to a FS root instead of a special relocation tree. It
prevents crashes during balancing operations.
Signed-off-by: Liu Bo
Signed-off-by: Chris Mason
commit 211f96c24f117fcc6e9e2431e40d92f4de22625e
Author: Chris Mason
Date: Fri Jun 3 01:26:53 2011 -0400
Btrfs: make sure we don't overflow the free space cache crc page
The free space cache uses only one page for crcs right now,
which means we can't have a cache file bigger than the
crcs we can fit in the first page. This adds a check to
enforce that restriction.
Signed-off-by: Chris Mason
commit 17aca1c987cff89dc4279371857035da902c8854
Author: Chris Mason
Date: Fri Jun 3 01:13:45 2011 -0400
Btrfs: fix uninit variable in the delayed inode code
The nitems counter needs to start at zero
Signed-off-by: Chris Mason
commit 1bc8779349d6278e2713a1ff94418c2a6746a791
Author: Arne Jansen
Date: Sat May 28 21:57:55 2011 +0200
btrfs: scrub: don't reuse bios and pages
The current scrub implementation reuses bios and pages as often as possible,
allocating them only on start and releasing them when finished. This leads
to more problems with the block layer than it's worth. The elevator gets
confused when there are more pages added to the bio than bi_size suggests.
This patch completely rips out the reuse of bios and pages and allocates
them freshly for each submit.
Signed-off-by: Arne Jansen
Signed-off-by: Chris Maosn
commit 4f1ba49efafccbc73017f824efa2505c81b247cd
Merge: 39b4a46 e3a57b3
Author: Linus Torvalds
Date: Sat Jun 4 08:11:26 2011 +0900
Merge branch 'for-linus' of git://git.kernel.dk/linux-block
* 'for-linus' of git://git.kernel.dk/linux-block:
block: Use hlist_entry() for io_context.cic_list.first
cfq-iosched: Remove bogus check in queue_fail path
xen/blkback: potential null dereference in error handling
xen/blkback: don't call vbd_size() if bd_disk is NULL
block: blkdev_get() should access ->bd_disk only after success
CFQ: Fix typo and remove unnecessary semicolon
block: remove unwanted semicolons
Revert "block: Remove extra discard_alignment from hd_struct."
nbd: adjust 'max_part' according to part_shift
nbd: limit module parameters to a sane value
nbd: pass MSG_* flags to kernel_recvmsg()
block: improve the bio_add_page() and bio_add_pc_page() descriptions
commit 39b4a46f19295b4876fba6655f27d67232dc6a1f
Merge: cb37bbd 5ff6197
Author: Linus Torvalds
Date: Sat Jun 4 08:04:10 2011 +0900
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vapier/blackfin
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vapier/blackfin:
Blackfin: strncpy: fix handling of zero lengths
commit cb37bbd90a11003993d47c395837e0f87abf1b31
Merge: 3af91a1 b36a968
Author: Linus Torvalds
Date: Sat Jun 4 08:03:16 2011 +0900
Merge branch 'stable' of git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile
* 'stable' of git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile:
asm-generic/unistd.h: support sendmmsg syscall
tile: enable CONFIG_BUGVERBOSE
commit 3af91a1256b628d55913324d27fe747c69566749
Merge: 9a44fde 0980119
Author: Linus Torvalds
Date: Sat Jun 4 07:59:32 2011 +0900
Merge branch 'linux-next' of git://git.infradead.org/ubifs-2.6
* 'linux-next' of git://git.infradead.org/ubifs-2.6:
UBIFS: fix-up free space earlier
UBIFS: intialize LPT earlier
UBIFS: assert no fixup when writing a node
UBIFS: fix clean znode counter corruption in error cases
UBIFS: fix memory leak on error path
UBIFS: fix shrinker object count reports
UBIFS: fix recovery broken by the previous recovery fix
UBIFS: amend ubifs_recover_leb interface
UBIFS: introduce a "grouped" journal head flag
UBIFS: supress false error messages
commit 9a44fde3435e0c6012cbc9122497bbbd3338434a
Merge: cd4ecf8 9bf7174
Author: Linus Torvalds
Date: Sat Jun 4 07:58:48 2011 +0900
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-ktest
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-ktest:
ktest: Ignore unset values of the minconfig in config_bisect
ktest: Fix result of rebooting the kernel
ktest: Fix off-by-one in config bisect result
commit cd4ecf877a4d629c38571405fd649077c12dec50
Merge: 1f3bd0f 816af74
Author: Linus Torvalds
Date: Sat Jun 4 07:53:23 2011 +0900
Merge branch 'rmobile-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6
* 'rmobile-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6:
ARM: mach-shmobile: add DMAC clock definitions on SH7372
ARM: arch-shmobile: support SDHI card detection on mackerel, using a GPIO
sh_mobile_meram: MERAM platform data for LCDC
commit 1f3bd0f2ac870c9eb29590f193ee3d94e2d35514
Merge: bb3d6bf a1b2cc5
Author: Linus Torvalds
Date: Sat Jun 4 07:04:25 2011 +0900
Merge branch 'sh-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6
* 'sh-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6:
dmaengine: shdma: fix a regression: initialise DMA channels for memcpy
dmaengine: shdma: Fix up fallout from runtime PM changes.
Revert "clocksource: sh_cmt: Runtime PM support"
Revert "clocksource: sh_tmu: Runtime PM support"
sh: Fix up asm-generic/ptrace.h fallout.
sh64: Move from P1SEG to CAC_ADDR for consistent sync.
sh64: asm/pgtable.h needs asm/mmu.h
sh: asm/tlb.h needs linux/swap.h
sh: mark DMA slave ID 0 as invalid
sh: Update shmin to reflect PIO dependency.
sh: arch/sh/kernel/process_32.c needs linux/prefetch.h.
sh: add MMCIF runtime PM support on ecovec
sh: switch ap325rxa to dynamically manage the platform camera
commit bb3d6bf1919a20c56b3257b4ec09e67a9226cfb2
Author: Linus Torvalds
Date: Sat Jun 4 07:00:50 2011 +0900
Revert "ASoC: Update cx20442 for TTY API change"
This reverts commit ed0bd2333cffc3d856db9beb829543c1dfc00982.
Since we reverted the TTY API change, we should revert the ASoC update
to it too.
Cc: Mark Brown
Cc: Liam Girdwood
Cc: Greg Kroah-Hartman
Signed-off-by: Linus Torvalds
commit 55db4c64eddf37e31279ec15fe90314713bc9cfa
Author: Linus Torvalds
Date: Sat Jun 4 06:33:24 2011 +0900
Revert "tty: make receive_buf() return the amout of bytes received"
This reverts commit b1c43f82c5aa265442f82dba31ce985ebb7aa71c.
It was broken in so many ways, and results in random odd pty issues.
It re-introduced the buggy schedule_work() in flush_to_ldisc() that can
cause endless work-loops (see commit a5660b41af6a: "tty: fix endless
work loop when the buffer fills up").
It also used an "unsigned int" return value fo the ->receive_buf()
function, but then made multiple functions return a negative error code,
and didn't actually check for the error in the caller.
And it didn't actually work at all. BenH bisected down odd tty behavior
to it:
"It looks like the patch is causing some major malfunctions of the X
server for me, possibly related to PTYs. For example, cat'ing a
large file in a gnome terminal hangs the kernel for -minutes- in a
loop of what looks like flush_to_ldisc/workqueue code, (some ftrace
data in the quoted bits further down).
...
Some more data: It -looks- like what happens is that the
flush_to_ldisc work queue entry constantly re-queues itself (because
the PTY is full ?) and the workqueue thread will basically loop
forver calling it without ever scheduling, thus starving the consumer
process that could have emptied the PTY."
which is pretty much exactly the problem we fixed in a5660b41af6a.
Milton Miller pointed out the 'unsigned int' issue.
Reported-by: Benjamin Herrenschmidt
Reported-by: Milton Miller
Cc: Stefan Bigler
Cc: Toby Gray
Cc: Felipe Balbi
Cc: Greg Kroah-Hartman
Cc: Alan Cox
Signed-off-by: Linus Torvalds
commit 7b29dc21ea084be7ddfb536994a9cfae95337690
Merge: 9a2e0fb dfe2158
Author: John W. Linville
Date: Fri Jun 3 14:31:50 2011 -0400
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 into for-davem
commit 098011940a2549ae7182db4bf101c3e3d2b4e6df
Author: Ben Gardiner
Date: Mon May 30 14:56:16 2011 -0400
UBIFS: fix-up free space earlier
The free space fixup is currently initiated during mount after the call to
ubifs_write_master() which results in a write to PEBs; this has been observed
with the patch 'assert no fixup when writing a node' applied:
Move the free space fixup on mount to before the calls to
ubifs_recover_inl_heads() and ubifs_write_master(). This results in no
assertions with the previously mentioned patch applied.
Artem: tweaked the patch a bit
Signed-off-by: Ben Gardiner
Reviewed-by: Matthew L. Creech
Signed-off-by: Artem Bityutskiy
commit 781c5717a95a74b294beb38b8276943b0f8b5bb4
Author: Ben Gardiner
Date: Mon May 30 14:56:15 2011 -0400
UBIFS: intialize LPT earlier
The current 'mount_ubifs()' implementation does not initialize the LPT until the
the master node is marked dirty. Move the LPT initialization to before marking
the master node dirty. This is a preparation for the next patch which will move
the free-space-fixup check to before marking the master node dirty, because we
have to fix-up the free space before doing any writes.
Artem: massaged the patch and commit message.
Signed-off-by: Ben Gardiner
Reviewed-by: Matthew L. Creech
Signed-off-by: Artem Bityutskiy
commit 4f1ab9b01d34eac9fc958f7150d3bf266dcc1685
Author: Ben Gardiner
Date: Mon May 30 14:56:14 2011 -0400
UBIFS: assert no fixup when writing a node
The current free space fixup can result in some writing to the UBI volume
when the space_fixup flag is set.
To catch instances where UBIFS is writing to the NAND while the space_fixup
flag is set, add an assert to ubifs_write_node().
Artem: tweaked the patch, added similar assertion to the write buffer
write path.
Signed-off-by: Ben Gardiner
Reviewed-by: Matthew L. Creech
Signed-off-by: Artem Bityutskiy
commit 837072377034d0a0b18b851d1ab95676b245cc0a
Author: Artem Bityutskiy
Date: Tue May 31 14:26:07 2011 +0300
UBIFS: fix clean znode counter corruption in error cases
UBIFS maintains per-filesystem and global clean znode counters
('c->clean_zn_cnt' and 'ubifs_clean_zn_cnt'). It is important to maintain
correct values there since the shrinker relies on 'ubifs_clean_zn_cnt'.
However, in case of failures during commit the counters were corrupted. E.g.,
if a failure happens in the middle of 'write_index()', then some nodes in the
commit list ('c->cnext') are marked as clean, and some are marked as dirty. And
the 'ubifs_destroy_tnc_subtree()' frees does not retrun correct count, and we
end up with non-zero 'c->clean_zn_cnt' when unmounting. This means that if we
have 2 file-sytem and one of them fails, and we unmount it,
'ubifs_clean_zn_cnt' stays incorrect and confuses the shrinker.
Signed-off-by: Artem Bityutskiy
commit 812eb258311f89bcd664a34a620f249d54a2cd83
Author: Artem Bityutskiy
Date: Tue May 31 08:40:40 2011 +0300
UBIFS: fix memory leak on error path
UBIFS leaks memory on error path in 'ubifs_jnl_update()' in case of write
failure because it forgets to free the 'struct ubifs_dent_node *dent' object.
Although the object is small, the alignment can make it large - e.g., 2KiB
if the min. I/O unit is 2KiB.
Signed-off-by: Artem Bityutskiy
Cc: stable@kernel.org
commit cf610bf4199770420629d3bc273494bd27ad6c1d
Author: Artem Bityutskiy
Date: Tue May 31 07:03:21 2011 +0300
UBIFS: fix shrinker object count reports
Sometimes VM asks the shrinker to return amount of objects it can shrink,
and we return the ubifs_clean_zn_cnt in that case. However, it is possible
that this counter is negative for a short period of time, due to the way
UBIFS TNC code updates it. And I can observe the following warnings sometimes:
shrink_slab: ubifs_shrinker+0x0/0x2b7 [ubifs] negative objects to delete nr=-8541616642706119788
This patch makes sure UBIFS never returns negative count of objects.
Signed-off-by: Artem Bityutskiy
Cc: stable@kernel.org
commit 5ff6197f828d5ea051b3abf77cb61f8a34480e8d
Author: Steven Miao
Date: Wed Jun 1 15:52:41 2011 +0800
Blackfin: strncpy: fix handling of zero lengths
The jump to 4f will cause the NUL padding loop to run at least one time,
so if string length is zero just jump to the end. Otherwise we wrongly
write one NUL byte when size==0.
Signed-off-by: Steven Miao
Signed-off-by: Mike Frysinger
commit 9a2e0fb0893ddf595d0a372e681f5b98017c6d90
Author: Matt Carlson
Date: Thu Jun 2 13:01:39 2011 +0000
tg3: Fix tg3_skb_error_unmap()
This function attempts to free one fragment beyond the number of
fragments that were actually mapped. This patch brings back the limit
to the correct spot.
Signed-off-by: Matt Carlson
Tested-by: Alex Williamson
Signed-off-by: David S. Miller
commit ec764bf083a6ff396234351b51fd236f53c903bf
Author: Koki Sanagi
Date: Mon May 30 21:48:34 2011 +0000
net: tracepoint of net_dev_xmit sees freed skb and causes panic
Because there is a possibility that skb is kfree_skb()ed and zero cleared
after ndo_start_xmit, we should not see the contents of skb like skb->len and
skb->dev->name after ndo_start_xmit. But trace_net_dev_xmit does that
and causes panic by NULL pointer dereference.
This patch fixes trace_net_dev_xmit not to see the contents of skb directly.
If you want to reproduce this panic,
1. Get tracepoint of net_dev_xmit on
2. Create 2 guests on KVM
2. Make 2 guests use virtio_net
4. Execute netperf from one to another for a long time as a network burden
5. host will panic(It takes about 30 minutes)
Signed-off-by: Koki Sanagi
Signed-off-by: David S. Miller
commit b36a968927b789b2dd8de0aaf7a72ef7c1f0d012
Author: Chris Metcalf
Date: Thu Jun 2 14:21:45 2011 -0400
asm-generic/unistd.h: support sendmmsg syscall
Signed-off-by: Chris Metcalf
Acked-by: Arnd Bergmann
commit 9bf7174949aef2f43253956e1f3ab01698abbd79
Author: Steven Rostedt
Date: Wed Jun 1 23:27:19 2011 -0400
ktest: Ignore unset values of the minconfig in config_bisect
By ignoring the unset values of the minconfig in deciding
what to test in the config_bisect can cause the problem
config from being tested too.
Just do not test the configs that are set in the minconfig.
Signed-off-by: Steven Rostedt
commit 4da46da2d295c0d9f4aaf28dd2b70a1ecb42d972
Author: Steven Rostedt
Date: Wed Jun 1 23:25:13 2011 -0400
ktest: Fix result of rebooting the kernel
The command that is called that reboots the kernel may fail
but the return code is not passed back to the ktest.pl script.
This is because a ';' is used between the two commands and
if the second command fails, only the first command's return
code is returned. Using a '&&' between the two commands fixes
this.
Signed-off-by: Steven Rostedt
commit 4c8cc55b3c0ebe989e727017933945b68b4327cd
Author: Steven Rostedt
Date: Wed Jun 1 23:22:30 2011 -0400
ktest: Fix off-by-one in config bisect result
Because in perl the array size returned by $#arr, is the last
index and not the actually size of the array, we end the config
bisect early, thinking there is only one config left when there
are in fact two. Thus the result has a 50% chance of picking
the correct config that caused the problem.
Signed-off-by: Steven Rostedt
commit e3a57b3ccf5c04934ac43b5b80e32ba51b817288
Merge: e2bd967 9b83c77
Author: Jens Axboe
Date: Thu Jun 2 13:14:15 2011 +0200
Merge branch 'for-jens/xen-blkback.fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen into for-linus
commit e2bd9678fc0085acf540dc4cb48ff961cd4d88c0
Author: Paul Bolle
Date: Thu Jun 2 13:05:02 2011 +0200
block: Use hlist_entry() for io_context.cic_list.first
list_entry() and hlist_entry() are both simply aliases for
container_of(), but since io_context.cic_list.first is an hlist_node one
should at least use the correct alias.
Signed-off-by: Paul Bolle
Signed-off-by: Jens Axboe
commit 28304f485c3627cc5e1665b92e26eb7fcfe98088
Author: Paul Bolle
Date: Thu Jun 2 13:05:02 2011 +0200
cfq-iosched: Remove bogus check in queue_fail path
queue_fail can only be reached if cic is NULL, so its check for cic must
be bogus.
Signed-off-by: Paul Bolle
Signed-off-by: Jens Axboe
commit e73e079bf128d68284efedeba1fbbc18d78610f9
Author: James Bottomley
Date: Wed May 25 15:52:14 2011 -0500
[SCSI] Fix oops caused by queue refcounting failure
In certain circumstances, we can get an oops from a torn down device.
Most notably this is from CD roms trying to call scsi_ioctl. The root
cause of the problem is the fact that after scsi_remove_device() has
been called, the queue is fully torn down. This is actually wrong
since the queue can be used until the sdev release function is called.
Therefore, we add an extra reference to the queue which is released in
sdev->release, so the queue always exists.
Reported-by: Parag Warudkar
Cc: stable@kernel.org
Signed-off-by: James Bottomley
commit 2e4ceec4edaef6e903422792de4f7f37de98cec6
Author: Julia Lawall
Date: Wed Jun 1 19:48:50 2011 +0000
drivers/net/can/flexcan.c: add missing clk_put
The failed_get label is used after the call to clk_get has succeeded, so it
should be moved up above the call to clk_put.
The failed_req labels doesn't do anything different than failed_get, so
delete it.
A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)
//
@r exists@
expression e1,e2;
statement S;
@@
e1 = clk_get@p1(...);
... when != e1 = e2
when != clk_put(e1)
when any
if (...) { ... when != clk_put(e1)
when != if (...) { ... clk_put(e1) ... }
* return@p3 ...;
} else S
//
Signed-off-by: Julia Lawall
Signed-off-by: David S. Miller
commit 816af7422f5bdbb74a0c9bb09735a9aeb9522c30
Author: Guennadi Liakhovetski
Date: Wed Jun 1 07:32:07 2011 +0000
ARM: mach-shmobile: add DMAC clock definitions on SH7372
These definitions are needed to let the runtime PM subsystem turn off
DMAC clocks, when it is suspended by the driver.
Signed-off-by: Guennadi Liakhovetski
Signed-off-by: Paul Mundt
commit a1b2cc50679c1d2eed44e2885f6178ce907498b7
Author: Guennadi Liakhovetski
Date: Tue May 31 09:25:16 2011 +0000
dmaengine: shdma: fix a regression: initialise DMA channels for memcpy
A recent patch has introduced a regression, where repeating a memcpy
DMA test with shdma module unloading between them skips the DMA channel
configuration. Fix this regression by always configuring the channel
during its allocation.
Signed-off-by: Guennadi Liakhovetski
Signed-off-by: Paul Mundt
commit 6979d5dd96a4a4975ce240982436e92a3da23315
Author: Mark Brown
Date: Wed Jun 1 10:18:09 2011 +0000
net: dm9000: Get the chip in a known good state before enabling interrupts
Currently the DM9000 driver requests the primary interrupt before it
resets the chip and puts it into a known good state. This means that if
the chip is asserting interrupt for some reason we can end up with a
screaming IRQ that the interrupt handler is unable to deal with. Avoid
this by only requesting the interrupt after we've reset the chip so we
know what state it's in.
This started manifesting itself on one of my boards in the past month or
so, I suspect as a result of some core infrastructure changes removing
some form of mitigation against bad behaviour here, even when things boot
it seems that the new code brings the interface up more quickly.
Signed-off-by: Mark Brown
Signed-off-by: David S. Miller
commit b722dbf176b67c75fe0f5a6b1b31f5ea8aa6117d
Author: Julia Lawall
Date: Wed Jun 1 07:10:10 2011 +0000
drivers/net/davinci_emac.c: add missing clk_put
Go to existing error handling code at the end of the function that calls
clk_put.
A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)
//
@r exists@
expression e1,e2;
statement S;
@@
e1 = clk_get@p1(...);
... when != e1 = e2
when != clk_put(e1)
when any
if (...) { ... when != clk_put(e1)
when != if (...) { ... clk_put(e1) ... }
* return@p3 ...;
} else S
//
Signed-off-by: Julia Lawall
Acked-by: Kevin Hilman
Signed-off-by: David S. Miller
commit a3bcc23e890a6d49d6763d9eb073d711de2e0469
Author: Ben Greear
Date: Wed Jun 1 06:49:10 2011 +0000
af-packet: Add flag to distinguish VID 0 from no-vlan.
Currently, user-space cannot determine if a 0 tcp_vlan_tci
means there is no VLAN tag or the VLAN ID was zero.
Add flag to make this explicit. User-space can check for
TP_STATUS_VLAN_VALID || tp_vlan_tci > 0, which will be backwards
compatible. Older could would have just checked for tp_vlan_tci,
so it will work no worse than before.
Signed-off-by: Ben Greear
Acked-by: Eric Dumazet
Signed-off-by: David S. Miller
commit 41be5a4a3668810bf3687a76c2b017bd437039e0
Author: sjur.brandeland@stericsson.com
Date: Wed Jun 1 00:55:37 2011 +0000
caif: Fix race when conditionally taking rtnl lock
Take the RTNL lock unconditionally when calling dev_close.
Taking the lock conditionally may cause race conditions.
Signed-off-by: Sjur Brændeland
Signed-off-by: David S. Miller
commit 85e3c65fa3a1d0542c181510a950a2be7733ff29
Author: Stefan Metzmacher
Date: Wed Jun 1 02:01:41 2011 +0000
usbnet/cdc_ncm: add missing .reset_resume hook
This avoids messages like this after suspend:
cdc_ncm 2-1.4:1.6: no reset_resume for driver cdc_ncm?
cdc_ncm 2-1.4:1.7: no reset_resume for driver cdc_ncm?
cdc_ncm 2-1.4:1.6: usb0: unregister 'cdc_ncm' usb-0000:00:1d.0-1.4, CDC NCM
This is important for the Ericsson F5521gw GSM/UMTS modem.
Otherwise modemmanager looses the fact that the cdc_ncm and cdc_acm devices
belong together.
The cdc_ether module does the same.
Signed-off-by: Stefan Metzmacher
Signed-off-by: David S. Miller
commit 307f73df2b9829ee5a261d1ed432ff683c426cdf
Author: Wei Yongjun
Date: Tue May 31 22:53:19 2011 +0000
vlan: fix typo in vlan_dev_hard_start_xmit()
commit 4af429d29b341bb1735f04c2fb960178ed5d52e7 (vlan: lockless
transmit path) have a typo in vlan_dev_hard_start_xmit(), using
u64_stats_update_begin() to end the stat update, it should be
u64_stats_update_end().
Signed-off-by: Wei Yongjun
Reviewed-by: WANG Cong
Acked-by: Eric Dumazet
Signed-off-by: David S. Miller
commit d0733d2e29b652b2e7b1438ececa732e4eed98eb
Author: Marcus Meissner
Date: Wed Jun 1 21:05:22 2011 -0700
net/ipv4: Check for mistakenly passed in non-IPv4 address
Check against mistakenly passing in IPv6 addresses (which would result
in an INADDR_ANY bind) or similar incompatible sockaddrs.
Signed-off-by: Marcus Meissner
Cc: Reinhard Max
Signed-off-by: David S. Miller
commit 1fa7b6a29c61358cc2ca6f64cef4aa0e1a7ca74c
Author: Linus Torvalds
Date: Thu Jun 2 06:11:24 2011 +0900
Revert "mm: fail GFP_DMA allocations when ZONE_DMA is not configured"
This reverts commit a197b59ae6e8bee56fcef37ea2482dc08414e2ac.
As rmk says:
"Commit a197b59ae6e8 (mm: fail GFP_DMA allocations when ZONE_DMA is not
configured) is causing regressions on ARM with various drivers which
use GFP_DMA.
The behaviour up until now has been to silently ignore that flag when
CONFIG_ZONE_DMA is not enabled, and to allocate from the normal zone.
However, as a result of the above commit, such allocations now fail
which causes drivers to fail. These are regressions compared to the
previous kernel version."
so just revert it.
Requested-by: Russell King
Acked-by: Andrew Morton
Cc: David Rientjes
Signed-off-by: Linus Torvalds
commit f0f52a9463839c52a63c05d6e7d4a330d94a9794
Merge: 0f48f26 70e535d
Author: Linus Torvalds
Date: Thu Jun 2 05:48:50 2011 +0900
Merge git://git.infradead.org/iommu-2.6
* git://git.infradead.org/iommu-2.6:
intel-iommu: Fix off-by-one in RMRR setup
intel-iommu: Add domain check in domain_remove_one_dev_info
intel-iommu: Remove Host Bridge devices from identity mapping
intel-iommu: Use coherent DMA mask when requested
intel-iommu: Dont cache iova above 32bit
intel-iommu: Speed up processing of the identity_mapping function
intel-iommu: Check for identity mapping candidate using system dma mask
intel-iommu: Only unlink device domains from iommu
intel-iommu: Enable super page (2MiB, 1GiB, etc.) support
intel-iommu: Flush unmaps at domain_exit
intel-iommu: Remove obsolete comment from detect_intel_iommu
intel-iommu: fix VT-d PMR disable for TXT on S3 resume
commit 0f48f2600911d5de6393829e4a9986d4075558b3
Author: Linus Torvalds
Date: Thu Jun 2 05:29:19 2011 +0900
block: fix mismerge of the DISK_EVENT_MEDIA_CHANGE removal
Jens' back-merge commit 698567f3fa79 ("Merge commit 'v2.6.39' into
for-2.6.40/core") was incorrectly done, and re-introduced the
DISK_EVENT_MEDIA_CHANGE lines that had been removed earlier in commits
- 9fd097b14918 ("block: unexport DISK_EVENT_MEDIA_CHANGE for
legacy/fringe drivers")
- 7eec77a1816a ("ide: unexport DISK_EVENT_MEDIA_CHANGE for ide-gd
and ide-cd")
because of conflicts with the "g->flags" updates near-by by commit
d4dc210f69bc ("block: don't block events on excl write for non-optical
devices")
As a result, we re-introduced the hanging behavior due to infinite disk
media change reports.
Tssk, tssk, people! Don't do back-merges at all, and *definitely* don't
do them to hide merge conflicts from me - especially as I'm likely
better at merging them than you are, since I do so many merges.
Reported-by: Steven Rostedt
Cc: Jens Axboe
Signed-off-by: Linus Torvalds
commit 3cc39b3f061e90f69cb1f65d72c005c56cddd6a6
Author: Chris Metcalf
Date: Wed Jun 1 16:06:04 2011 -0400
tile: enable CONFIG_BUGVERBOSE
Trivial config change to enable backtraces on panic.
Signed-off-by: Chris Metcalf
commit dfe21582ac5ebc460dda98c67e8589dd506d02cd
Author: Stanislaw Gruszka
Date: Wed Jun 1 17:17:57 2011 +0200
iwl4965: correctly validate temperature value
In some cases we can read wrong temperature value. If after that
temperature value will not be updated to good one, we badly configure
tx power parameters and device is unable to send a data.
Resolves:
https://bugzilla.kernel.org/show_bug.cgi?id=35932
Cc: stable@kernel.org # 2.6.39+
Signed-off-by: Stanislaw Gruszka
Signed-off-by: John W. Linville
commit a7567b2059020bf3fa96c389ec25eed8e28ad4ba
Author: Johannes Berg
Date: Wed Jun 1 08:29:54 2011 +0200
bluetooth l2cap: fix locking in l2cap_global_chan_by_psm
read_lock() ... read_unlock_bh() is clearly bogus.
This was broken by
commit 23691d75cdc69c3b285211b4d77746aa20a17d18
Author: Gustavo F. Padovan
Date: Wed Apr 27 18:26:32 2011 -0300
Bluetooth: Remove l2cap_sk_list
Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville
commit 21fdc87248d1d28492c775e05fa92b3c8c7bc8db
Author: Daniel Halperin
Date: Tue May 31 11:59:30 2011 -0700
ath9k: fix two more bugs in tx power
This is the same fix as
commit 841051602e3fa18ea468fe5a177aa92b6eb44b56
Author: Matteo Croce
Date: Fri Dec 3 02:25:08 2010 +0100
The ath9k driver subtracts 3 dBm to the txpower as with two radios the
signal power is doubled.
The resulting value is assigned in an u16 which overflows and makes
the card work at full power.
in two more places. I grepped the ath tree and didn't find any others.
Cc: stable@kernel.org
Signed-off-by: Daniel Halperin
Signed-off-by: John W. Linville
commit 333ba7325213f0a09dfa5ceeddb056d6ad74b3b5
Author: Eliad Peller
Date: Sun May 29 15:53:20 2011 +0300
cfg80211: don't drop p2p probe responses
Commit 0a35d36 ("cfg80211: Use capability info to detect mesh beacons")
assumed that probe response with both ESS and IBSS bits cleared
means that the frame was sent by a mesh sta.
However, these capabilities are also being used in the p2p_find phase,
and the mesh-validation broke it.
Rename the WLAN_CAPABILITY_IS_MBSS macro, and verify that mesh ies
exist before assuming this frame was sent by a mesh sta.
Signed-off-by: Eliad Peller
Signed-off-by: John W. Linville
commit 9b83c771214cf6a256ee875050e6eaf320cf7983
Author: Dan Carpenter
Date: Fri May 27 09:27:16 2011 +0300
xen/blkback: potential null dereference in error handling
blkbk->pending_pages can be NULL here so I added a check for it.
Signed-off-by: Dan Carpenter
[v1: Redid the loop a bit]
Signed-off-by: Konrad Rzeszutek Wilk
commit 6464920a6e30604cb71d0ecbaa20e35009bd76fb
Author: Laszlo Ersek
Date: Wed May 25 12:24:25 2011 +0200
xen/blkback: don't call vbd_size() if bd_disk is NULL
...because vbd_size() dereferences bd_disk if bd_part is NULL.
Signed-off-by: Laszlo Ersek
Signed-off-by: Konrad Rzeszutek Wilk
commit 3f303103b884ca577908d3e5c0650ad12e40c586
Merge: 5c6cce9 63da029
Author: Linus Torvalds
Date: Wed Jun 1 21:47:39 2011 +0900
Merge git://git.infradead.org/mtd-2.6
* git://git.infradead.org/mtd-2.6:
mtd: fix physmap.h warnings
commit 70e535d1e5d1e4317e894d6228b762cf9c3fbc6a
Author: David Woodhouse
Date: Tue May 31 00:22:52 2011 +0100
intel-iommu: Fix off-by-one in RMRR setup
We were mapping an extra byte (and hence usually an extra page):
iommu_prepare_identity_map() expects to be given an 'end' argument which
is the last byte to be mapped; not the first byte *not* to be mapped.
Signed-off-by: David Woodhouse
commit 8519dc4401ddf8a5399f979870bbeeadbc111186
Author: Mike Habeck
Date: Sat May 28 13:15:07 2011 -0500
intel-iommu: Add domain check in domain_remove_one_dev_info
The comment in domain_remove_one_dev_info() states "No need to compare
PCI domain; it has to be the same". But for the si_domain that isn't
going to be true, as it consists of all the PCI devices that are
identity mapped thus multiple PCI domains can be in si_domain. The
code needs to validate the PCI domain too.
Signed-off-by: Mike Habeck
Signed-off-by: Mike Travis
Cc: stable@kernel.org
Signed-off-by: David Woodhouse
commit 825507d6d059f1cbe2503e0e5a3926225b983aec
Author: Mike Travis
Date: Sat May 28 13:15:06 2011 -0500
intel-iommu: Remove Host Bridge devices from identity mapping
When using the 1:1 (identity) PCI DMA remapping, PCI Host Bridge devices
that do not use the IOMMU causes a kernel panic. Fix that by not
inserting those devices into the si_domain.
Signed-off-by: Mike Travis
Reviewed-by: Mike Habeck
Cc: stable@kernel.org
Signed-off-by: David Woodhouse
commit c681d0ba1252954208220ad32248a3e8e2fc98e4
Author: Mike Travis
Date: Sat May 28 13:15:05 2011 -0500
intel-iommu: Use coherent DMA mask when requested
The __intel_map_single function is not honoring the passed in DMA mask.
This results in not using the coherent DMA mask when called from
intel_alloc_coherent().
Signed-off-by: Mike Travis
Acked-by: Chris Wright
Reviewed-by: Mike Habeck
Cc: stable@kernel.org
Signed-off-by: David Woodhouse
commit 1c9fc3d11b84fbd0c4f4aa7855702c2a1f098ebb
Author: Chris Wright
Date: Sat May 28 13:15:04 2011 -0500
intel-iommu: Dont cache iova above 32bit
Mike Travis and Mike Habeck reported an issue where iova allocation
would return a range that was larger than a device's dma mask.
https://lkml.org/lkml/2011/3/29/423
The dmar initialization code will reserve all PCI MMIO regions and copy
those reservations into a domain specific iova tree. It is possible for
one of those regions to be above the dma mask of a device. It is typical
to allocate iovas with a 32bit mask (despite device's dma mask possibly
being larger) and cache the result until it exhausts the lower 32bit
address space. Freeing the iova range that is >= the last iova in the
lower 32bit range when there is still an iova above the 32bit range will
corrupt the cached iova by pointing it to a region that is above 32bit.
If that region is also larger than the device's dma mask, a subsequent
allocation will return an unusable iova and cause dma failure.
Simply don't cache an iova that is above the 32bit caching boundary.
Reported-by: Mike Travis
Reported-by: Mike Habeck
Cc: stable@kernel.org
Acked-by: Mike Travis
Tested-by: Mike Habeck
Signed-off-by: Chris Wright
Signed-off-by: David Woodhouse
commit cb452a4040bb051d92e85d6e7eb60c11734c1781
Author: Mike Travis
Date: Sat May 28 13:15:03 2011 -0500
intel-iommu: Speed up processing of the identity_mapping function
When there are a large count of PCI devices, and the pass through
option for iommu is set, much time is spent in the identity_mapping
function hunting though the iommu domains to check if a specific
device is "identity mapped".
Speed up the function by checking the cached info to see if
it's mapped to the static identity domain.
Signed-off-by: Mike Travis
Reviewed-by: Mike Habeck
Cc: stable@kernel.org
Signed-off-by: David Woodhouse
commit 8fcc5372fbac085199d84a880503ed67aba3fe49
Author: Chris Wright
Date: Sat May 28 13:15:02 2011 -0500
intel-iommu: Check for identity mapping candidate using system dma mask
The identity mapping code appears to make the assumption that if the
devices dma_mask is greater than 32bits the device can use identity
mapping. But that is not true: take the case where we have a 40bit
device in a 44bit architecture. The device can potentially receive a
physical address that it will truncate and cause incorrect addresses
to be used.
Instead check to see if the device's dma_mask is large enough
to address the system's dma_mask.
Signed-off-by: Mike Travis
Reviewed-by: Mike Habeck
Cc: stable@kernel.org
Signed-off-by: David Woodhouse
commit 9b4554b21ed07e8556405510638171f0c787742a
Author: Alex Williamson
Date: Tue May 24 12:19:04 2011 -0400
intel-iommu: Only unlink device domains from iommu
Commit a97590e5 added unlinking domains from iommus to reciprocate the
iommu from domains unlinking that was already done. We actually want
to only do this for device domains and never for the static
identity map domain or VM domains. The SI domain is special and
never freed, while VM domain->id lives in their own special address
space, separate from iommu->domain_ids.
In the current code, a VM can get domain->id zero, then mark that
domain unused when unbound from pci-stub. This leads to DMAR
write faults when the device is re-bound to the host driver.
Signed-off-by: Alex Williamson
Cc: stable@kernel.org
Signed-off-by: David Woodhouse
commit 6dd9a7c73761a8a5f5475d5cfdc15368a0f4c06d
Author: Youquan Song
Date: Wed May 25 19:13:49 2011 +0100
intel-iommu: Enable super page (2MiB, 1GiB, etc.) support
There are no externally-visible changes with this. In the loop in the
internal __domain_mapping() function, we simply detect if we are mapping:
- size >= 2MiB, and
- virtual address aligned to 2MiB, and
- physical address aligned to 2MiB, and
- on hardware that supports superpages.
(and likewise for larger superpages).
We automatically use a superpage for such mappings. We never have to
worry about *breaking* superpages, since we trust that we will always
*unmap* the same range that was mapped. So all we need to do is ensure
that dma_pte_clear_range() will also cope with superpages.
Adjust pfn_to_dma_pte() to take a superpage 'level' as an argument, so
it can return a PTE at the appropriate level rather than always
extending the page tables all the way down to level 1. Again, this is
simplified by the fact that we should never encounter existing small
pages when we're creating a mapping; any old mapping that used the same
virtual range will have been entirely removed and its obsolete page
tables freed.
Provide an 'intel_iommu=sp_off' argument on the command line as a
chicken bit. Not that it should ever be required.
==
The original commit seen in the iommu-2.6.git was Youquan's
implementation (and completion) of my own half-baked code which I'd
typed into an email. Followed by half a dozen subsequent 'fixes'.
I've taken the unusual step of rewriting history and collapsing the
original commits in order to keep the main history simpler, and make
life easier for the people who are going to have to backport this to
older kernels. And also so I can give it a more coherent commit comment
which (hopefully) gives a better explanation of what's going on.
The original sequence of commits leading to identical code was:
Youquan Song (3):
intel-iommu: super page support
intel-iommu: Fix superpage alignment calculation error
intel-iommu: Fix superpage level calculation error in dma_pfn_level_pte()
David Woodhouse (4):
intel-iommu: Precalculate superpage support for dmar_domain
intel-iommu: Fix hardware_largepage_caps()
intel-iommu: Fix inappropriate use of superpages in __domain_mapping()
intel-iommu: Fix phys_pfn in __domain_mapping for sglist pages
Signed-off-by: Youquan Song
Signed-off-by: David Woodhouse
commit 63da029015b5255915cd6d61f19ffc276ad4635d
Author: Randy Dunlap
Date: Mon May 23 11:37:09 2011 -0700
mtd: fix physmap.h warnings
Fix build warnings in physmap.h:
include/linux/mtd/physmap.h:25: warning: 'struct platform_device' declared inside parameter list
include/linux/mtd/physmap.h:25: warning: its scope is only this definition or declaration, which is probably not what you want
include/linux/mtd/physmap.h:26: warning: 'struct platform_device' declared inside parameter list
include/linux/mtd/physmap.h:27: warning: 'struct platform_device' declared inside parameter list
Signed-off-by: Randy Dunlap
Signed-off-by: David Woodhouse
commit da8b94ea61c5d80aae0cc7b7541f1e0fa7459391
Author: Artem Bityutskiy
Date: Thu May 26 08:58:19 2011 +0300
UBIFS: fix recovery broken by the previous recovery fix
Unfortunately, the recovery fix d1606a59b6be4ea392eabd40d1250aa1eeb19efb
(UBIFS: fix extremely rare mount failure) broke recovery. This commit make
UBIFS drop the last min. I/O unit in all journal heads, but this is needed only
for the GC head. And this does not work for non-GC heads. For example, if
suppose we have min. I/O units A and B, and A contains a valid node X, which
was fsynced, and then a group of nodes Y which spans the rest of A and B. In
this case we'll drop not only Y, but also X, which is obviously incorrect.
This patch fixes the issue and additionally makes recovery to drop last min.
I/O unit only for the GC head, and leave things as they have been for ages for
the other heads - this is safer.
Signed-off-by: Artem Bityutskiy
commit efcfde54ca68091b164f9aec544c7233a9760aff
Author: Artem Bityutskiy
Date: Thu May 26 08:36:52 2011 +0300
UBIFS: amend ubifs_recover_leb interface
Instead of passing "grouped" parameter to 'ubifs_recover_leb()' which tells
whether the nodes are grouped in the LEB to recover, pass the journal head
number and let 'ubifs_recover_leb()' look at the journal head's 'grouped' flag.
This patch is a preparation to a further fix where we'll need to know the
journal head number for other purposes.
Signed-off-by: Artem Bityutskiy
commit 1a0b06997ceca96db9259e537eb935f9fe59a3de
Author: Artem Bityutskiy
Date: Thu May 26 08:26:05 2011 +0300
UBIFS: introduce a "grouped" journal head flag
Journal heads are different in a way how UBIFS writes nodes there. All normal
journal heads receive grouped nodes, while the GC journal heads receives
ungrouped nodes. This patch adds a 'grouped' flag to 'struct ubifs_jhead' which
describes this property.
This patch is a preparation to a further recovery fix.
Signed-off-by: Artem Bityutskiy
commit ab75950b11e74145ffe61376ac073d56645aab8a
Author: Artem Bityutskiy
Date: Thu May 26 06:51:48 2011 +0300
UBIFS: supress false error messages
Commit ab51afe05273741f72383529ef488aa1ea598ec6 was a good clean-up, but
it introduced a regression - now UBIFS prints scary error messages during
recovery on all corrupted nodes, even though the corruptions are expected
(due to a power cut). This patch fixes the issue.
Additionally fix a typo in a commentary introduced by the same commit.
Signed-off-by: Artem Bityutskiy
commit 5c6cce92bc8aee751aafe82c5d9caf7553226a3d
Merge: 603d04b a5b2c5b
Author: Linus Torvalds
Date: Wed Jun 1 16:35:37 2011 +0900
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6:
AppArmor: fix oops in apparmor_setprocattr
commit 603d04b2010976a52f62b7633f9999d104046900
Author: Mike Frysinger
Date: Sat May 28 10:04:25 2011 -0400
kgdbts: only use new asm-generic/ptrace.h api when needed
The new instruction_pointer_set helper is defined for people who have
converted to asm-generic/ptrace.h, so don't use it generally unless
the arch needs it (in which case it has been converted). This should
fix building of kgdb tests for arches not yet converted.
Signed-off-by: Mike Frysinger
Acked-by: Stephen Rothwell
Cc: Jason Wessel
Cc: Andrew Morton
Signed-off-by: Linus Torvalds
commit 4c49ff3fe128ca68dabd07537415c419ad7f82f9
Author: Tejun Heo
Date: Wed Jun 1 08:27:41 2011 +0200
block: blkdev_get() should access ->bd_disk only after success
d4dc210f69 (block: don't block events on excl write for non-optical
devices) added dereferencing of bdev->bd_disk to test
GENHD_FL_BLOCK_EVENTS_ON_EXCL_WRITE; however, bdev->bd_disk can be
%NULL if open failed which can lead to an oops.
Test the flag after testing open was successful, not before.
Signed-off-by: Tejun Heo
Reported-by: David Miller
Tested-by: David Miller
Cc: stable@kernel.org
Signed-off-by: Jens Axboe
commit a5b2c5b2ad5853591a6cac6134cd0f599a720865
Author: Kees Cook
Date: Tue May 31 11:31:41 2011 -0700
AppArmor: fix oops in apparmor_setprocattr
When invalid parameters are passed to apparmor_setprocattr a NULL deref
oops occurs when it tries to record an audit message. This is because
it is passing NULL for the profile parameter for aa_audit. But aa_audit
now requires that the profile passed is not NULL.
Fix this by passing the current profile on the task that is trying to
setprocattr.
Signed-off-by: Kees Cook
Signed-off-by: John Johansen
Cc: stable@kernel.org
Signed-off-by: James Morris
commit 948252cb9e01d65a89ecadf67be5018351eee15e
Author: David S. Miller
Date: Tue May 31 19:27:48 2011 -0700
Revert "net: fix section mismatches"
This reverts commit e5cb966c0838e4da43a3b0751bdcac7fe719f7b4.
It causes new build regressions with gcc-4.2 which is
pretty common on non-x86 platforms.
Reported-by: James Bottomley
Signed-off-by: David S. Miller
commit 930a6eac9f40e692bd9670d89bcd9ac0f4019356
Author: Alexey Khoroshilov
Date: Mon May 30 07:06:24 2011 +0000
drivers/net/usb/catc.c: Fix potential deadlock in catc_ctrl_run()
catc_ctrl_run() calls usb_submit_urb() with GFP_KERNEL, while it is called from
catc_ctrl_async() and catc_ctrl_done() with catc->ctrl_lock spinlock held.
The patch replaces GFP_KERNEL with GFP_ATOMIC.
Found by Linux Driver Verification project (linuxtesting.org).
Signed-off-by: Alexey Khoroshilov
Signed-off-by: David S. Miller
commit a000c01e60e40e15304ffe48fff051d17a7bea91
Author: Wei Yongjun
Date: Sun May 29 23:23:36 2011 +0000
sctp: stop pending timers and purge queues when peer restart asoc
If the peer restart the asoc, we should not only fail any unsent/unacked
data, but also stop the T3-rtx, SACK, T4-rto timers, and teardown ASCONF
queues.
Signed-off-by: Wei Yongjun
Signed-off-by: David S. Miller
commit b10cec8a4e8167075b9e1ff3f05419769e7f381a
Author: Dennis Aberilla
Date: Sun May 29 11:46:54 2011 +0000
drivers/net: ks8842 Fix crash on received packet when in PIO mode.
This patch fixes a driver crash during packet reception due to not enough
bytes allocated in the skb. Since the loop reads out 4 bytes at a time, we
need to allow for up to 3 bytes of slack space.
Signed-off-by: Dennis Aberilla
Signed-off-by: David S. Miller
commit 48bdf072c3f1f8f739f76d19c74f4c79605cac46
Author: Chris Metcalf
Date: Sun May 29 10:55:44 2011 +0000
ip_options_compile: properly handle unaligned pointer
The current code takes an unaligned pointer and does htonl() on it to
make it big-endian, then does a memcpy(). The problem is that the
compiler decides that since the pointer is to a __be32, it is legal
to optimize the copy into a processor word store. However, on an
architecture that does not handled unaligned writes in kernel space,
this produces an unaligned exception fault.
The solution is to track the pointer as a "char *" (which removes a bunch
of unpleasant casts in any case), and then just use put_unaligned_be32()
to write the value to memory.
Signed-off-by: Chris Metcalf
Signed-off-by: David S. Miller
commit e12ca23d41bd157354a5d1aadff30211a410c53a
Merge: 850761b 7a66f78
Author: Linus Torvalds
Date: Wed Jun 1 06:45:08 2011 +0900
Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus
* git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus:
virtio_net: delay TX callbacks
virtio: add api for delayed callbacks
virtio_test: support event index
vhost: support event index
virtio_ring: support event idx feature
virtio ring: inline function to check for events
virtio: event index interface
virtio: add full three-clause BSD text to headers.
virtio balloon: kill tell-host-first logic
virtio console: don't manually set or finalize VIRTIO_CONSOLE_F_MULTIPORT.
drivers, block: virtio_blk: Replace cryptic number with the macro
virtio_blk: allow re-reading config space at runtime
lguest: remove support for VIRTIO_F_NOTIFY_ON_EMPTY.
lguest: fix up compilation after move
lguest: fix timer interrupt setup
commit 850761b2b13aec5d4f9935199e917f9a4ae00cce
Merge: af0d6a0 83caba8
Author: Linus Torvalds
Date: Wed Jun 1 06:44:10 2011 +0900
Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6
* 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:
[IA64] wire up sendmmsg() syscall for Itanium
commit 1144181c1bc054dc5e001a6f10b4820167e6c883
Author: Wey-Yi Guy