02 Apr, 2010
1 commit
-
This is needed with some of the tracing code built as modules, so provide
the export.Signed-off-by: Paul Mundt
29 Mar, 2010
4 commits
-
For the boot, enable_mmu() is called from setup_arch() but we don't call
setup_arch() for any of the other cpus. So turn on the non-boot cpu's
mmu inside of start_secondary().I noticed this bug on an SMP board when trying to map I/O memory
(smsc911x registers) into the kernel address space. Since the Address
Translation bit in MMUCR wasn't set, accessing the virtual address where
the smsc911x registers were supposedly mapped actually performed a
physical address access.Signed-off-by: Matt Fleming
Cc: stable@kernel.org
Signed-off-by: Paul Mundt -
Ensure that the aux table is properly initialized, even when optional
features are missing. Without this, the FDPIC loader did not work.Signed-off-by: Andrew Stubbs
Cc: stable@kernel.org
Signed-off-by: Paul Mundt -
Use set_cpus_allowed_ptr rather than set_cpus_allowed.
The semantic patch that makes this change is as follows:
(http://coccinelle.lip6.fr/)//
@@
expression E1,E2;
@@- set_cpus_allowed(E1, cpumask_of_cpu(E2))
+ set_cpus_allowed_ptr(E1, cpumask_of(E2))@@
expression E;
identifier I;
@@- set_cpus_allowed(E, I)
+ set_cpus_allowed_ptr(E, &I)
//Signed-off-by: Julia Lawall
Signed-off-by: Paul Mundt -
Signed-off-by: Yusuke Goda
Signed-off-by: Paul Mundt
26 Mar, 2010
2 commits
-
drivers/usb/gadget/r8a66597-udc.c: linux/err.h is included more than once.
Signed-off-by: Andrea Gelmini
Signed-off-by: Paul Mundt -
Presently the TLB wiring code depends on MMUCR.URB for working out where
to place the wired entry, but fails to take the replacment counter in to
consideration. This fixes up the wiring logic and ensures that wired
entries remain so.Signed-off-by: Matt Fleming
Signed-off-by: Paul Mundt
25 Mar, 2010
33 commits
-
* 'for-linus' of git://gitorious.org/linux-omap-dss2/linux:
OMAP: DSS2: panel-generic: re-implement mode changing
OMAP: DSS2: initialize dss clk sources properly
OMAP: DSS2: VRAM: Fix early_param for vram -
* master.kernel.org:/home/rmk/linux-2.6-arm:
[ARM] Orion5x: replace KEY_WLAN with KEY_WPS_BUTTON
[ARM] Kirkwood: WPS button keycode mapping
pxa168fb: fix incorrect resource calculation
[ARM] pxa/raumfeld: fix button name
[ARM] pxa/raumfeld: remove duplicated #include
[ARM] locomo: fix unpaired spin_lock_irqsave
[ARM] locomo: fix SPI register offset
[ARM] pxa/sharpsl: add dependency of max1111 driver to sharpsl_pm
[ARM] pxa: remove unnecessary 'select FB_W100' from some platforms
[ARM] pxa: remove spi cs gpio direction to avoid clash with driver
[ARM] mmp: fix for variables in uncompress.h being discarded
[ARM] pxa: fix for variables in uncompress.h being discarded
ARM: Update mach-types
ARM: Fix IXP23xx build error in mach/memory.h -
* 'bugfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6:
NFS: don't try to decode GETATTR if DELEGRETURN returned error
sunrpc: handle allocation errors from __rpc_lookup_create()
SUNRPC: Fix the return value of rpc_run_bc_task()
SUNRPC: Fix a use after free bug with the NFSv4.1 backchannel
SUNRPC: Fix a potential memory leak in auth_gss
NFS: Prevent another deadlock in nfs_release_page() -
* 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:
libata-sff: fix spurious IRQ handling
pata_via: Add VIA VX900 support -
* 'sh/for-2.6.34' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6:
sh: Silence unintialized variable warnings in dwarf unwinder.
sh: Tidy up a couple of section mismatches.
sh: Fix build after dynamic PMB rework
sh: Replace unsafe manipulation of MMUCR
sh: Flush ITLB too in PTEAEX's flush_tlb_page()
sh64: Remove long unused mid_sched macro
SH: remove superfluous warning from the serial driver
SH: fix SCIFA SCASCR register bit definitions
serial: sh-sci: fix SH-Mobile SH breakage
sh: Add watch-dog register address for SH7722/SH7723/SH7724
sh: ms7724: Add tiny-document for sound
sh: mach-ecovec24: Add i2c_put_adapter on sh_eth_init -
Sparse complained about this missing spin_unlock()
Signed-off-by: Dan Carpenter
Signed-off-by: David Howells
Signed-off-by: Linus Torvalds -
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/voltage-2.6:
regulator: fix dangling pointers
lp3971: Fix BUCK_VOL_CHANGE_SHIFT logic
lp3971: Fix setting val for LDO2 and LDO4
regulator: Get rid of lockdep warning
regulator: handle kcalloc() failure
Regulators: max8925-regulator - clean up driver data after removal -
do_sync_read/write() should set kiocb.ki_nbytes to be consistent with
do_sync_readv_writev().Signed-off-by: David Howells
Signed-off-by: Linus Torvalds -
Fix an incorrect for-loop in elf_core_vma_data_size(). The advance-pointer
statement lacks an assignment:CC fs/binfmt_elf_fdpic.o
fs/binfmt_elf_fdpic.c: In function 'elf_core_vma_data_size':
fs/binfmt_elf_fdpic.c:1593: warning: statement with no effectSigned-off-by: David Howells
Signed-off-by: Linus Torvalds -
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel:
drm/i915: Stop trying to use ACPI lid status to determine LVDS connection.
drm/intel: fix up set_tiling for untiled->tiled transition
drm/i915: Set up the documented clock gating on Sandybridge and Ironlake.
agp/intel: Don't do the chipset flush on Sandybridge.
agp/intel: Respect the GTT size on Sandybridge for scratch page setup.
drm/i915: fix small leak on overlay error path
drm/i915: Avoid NULL deref in get_pages() unwind after error.
drm/i915: Fix check with IS_GEN6
drivers/gpu/drm/i915/intel_bios.c: fix continuation line formats
drm/i915: Enable VS timer dispatch.
drm/i915: Rename FBC_C3_IDLE to FBC_CTL_C3_IDLE to match other registers
drm/i915: remove an unnecessary wait_request()
drm/i915: Don't bother with the BKL for GEM ioctls. -
* 'i2c-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging:
i2c-scmi: Provide module aliases for automatic loading
i2c-scmi: Support IBM SMBus CMI devices
acpi: Support IBM SMBus CMI devices -
* 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6:
[S390] fix boot failures with compressed kernels
[S390] fix broken proc interface for sclp_async
[S390] sclp: avoid 64 bit division
[S390] dasd: check tsb validity
[S390] dasd: fix alignment of transport mode recovery TCW
[S390] system.h: Fix compile error for 1 and 2 byte cmpxchg
[S390] smp: fix lowcore allocation
[S390] zcore: CPU registers are not saved under LPAR -
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
ALSA: cmipci: work around invalid PCM pointer
ASoC: Remove BROKEN from i.MX audio after dependencies merged
ALSA: hda - Fix access-after-free in patch_realtek.c
ALSA: hda - Sort codec entry list of Nvidia HDMI
ALSA: hda - Add support of Nvidia GT220 HDMI
ALSA: hda: Fix 0 dB offset for HP laptops using CX20551 (Waikiki)
ALSA: hda - Add PCI quirk for HP dv6-1110ax.
sound/oss/vidc.c: change the field used with DMA_ACTIVE
ASoC: pxa-pcm-lib: initialize DMA channel to -1
ASoC: Bail out of wm_hubs DC servo if calibration fails
ASoC: tlv320dac33: Internal clocking changes
ASoC: tlv320dac33: Fix DSP modes
ASoC: SIU driver shall select FW_LOADER -
Document the circular buffering capabilities available in Linux.
Signed-off-by: David Howells
Signed-off-by: Paul E. McKenney
Reviewed-by: Randy Dunlap
Reviewed-by: Stefan Richter
Signed-off-by: Linus Torvalds -
Smaller size than a minimum blocksize can't be used, after all it's
handled like 0 size.For extended partition itself, this makes sure to use bigger size than one
logical sector size at least.Signed-off-by: OGAWA Hirofumi
Cc: Daniel Taylor
Cc: "H. Peter Anvin"
Cc:
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
In order to use disks larger than 2TiB on Windows XP, it is necessary to
use 4096-byte logical sectors in an MBR.Although the kernel storage and functions called from msdos.c used
"sector_t" internally, msdos.c still used u32 variables, which results in
the ability to handle XP-compatible large disks.This patch changes the internal variables to "sector_t".
Daniel said: "In the near future, WD will be releasing products that need
this patch".[hirofumi@mail.parknet.co.jp: tweaks and fix]
Signed-off-by: Daniel Taylor
Signed-off-by: OGAWA Hirofumi
Cc: "H. Peter Anvin"
Cc:
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Fixup for the flatpanel output. The geode_modedb attribute flags are used
to set the SYNC polarity of the flatpanel. Without this patch our
flatpanel registers stayed unconfigured, so we just saw garbage output.Signed-off-by: Michael Grzeschik
Cc: Andres Salomon
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
"m" is never NULL here. We need a different test for the end of list
condition.Signed-off-by: Dan Carpenter
Acked-by: KAMEZAWA Hiroyuki
Acked-by: WANG Cong
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Discovered while testing other mempolicy changes:
get_mempolicy() does not handle static/relative mode flags correctly.
Return the value that the user specified so that it can be restored
via set_mempolicy() if desired.Signed-off-by: Lee Schermerhorn
Cc: Hugh Dickins
Cc: Ravikiran Thirumalai
Cc: KOSAKI Motohiro
Cc: Christoph Lameter
Cc: David Rientjes
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
In the extended CSD register the CARD_TYPE is an 8-bit value of which the
upper 6 bits were reserved in JEDEC specifications prior to version 4.4.
In version 4.4 two of the reserved bits were designated for identifying
support for the newly added High-Speed Dual Data Rate. Unfortunately the
mmc_read_ext_csd() function required that the reserved bits be zero
instead of ignoring them as it should.This patch makes mmc_read_ext_csd() ignore the CARD_TYPE bits that are
reserved or not yet supported. It also stops the function jumping to the
end as though an error occurred, when it is only warns that the CARD_TYPE
bits (that it does interpret) are invalid.Signed-off-by: Adrian Hunter
Cc:
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
The reiserfs journal behaves inconsistently when determining whether to
allow a mount of a read-only device.This is due to the use of the continue_replay variable to short circuit
the journal scanning. If it's set, it's assumed that there are
transactions to replay, but there may not be. If it's unset, it's assumed
that there aren't any, and that may not be the case either.I've observed two failure cases:
1) Where a clean file system on a read-only device refuses to mount
2) Where a clean file system on a read-only device passes the
optimization and then tries writing the journal header to update
the latest mount id.The former is easily observable by using a freshly created file system on
a read-only loopback device.This patch moves the check into journal_read_transaction, where it can
bail out before it's about to replay a transaction. That way it can go
through and skip transactions where appropriate, yet still refuse to mount
a file system with outstanding transactions.Signed-off-by: Jeff Mahoney
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Commit 57fe60df ("reiserfs: add atomic addition of selinux attributes
during inode creation") contains a bug that will cause it to oops when
mounting a file system that didn't previously contain extended attributes
on a system using security.* xattrs.The issue is that while creating the privroot during mount
reiserfs_security_init calls reiserfs_xattr_jcreate_nblocks which
dereferences the xattr root. The xattr root doesn't exist, so we get an
oops.Addresses http://bugzilla.kernel.org/show_bug.cgi?id=15309
Signed-off-by: Jeff Mahoney
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
In 2.6.34-rc1, removing vhost_net module causes an oops in sync_mm_rss
(called from do_exit) when workqueue is destroyed. This does not happen
on net-next, or with vhost on top of to 2.6.33.The issue seems to be introduced by
34e55232e59f7b19050267a05ff1226e5cd122a5 ("mm: avoid false sharing of
mm_counter) which added sync_mm_rss() that is passed task->mm, and
dereferences it without checking. If task is a kernel thread, mm might be
NULL. I think this might also happen e.g. with aio.This patch fixes the oops by calling sync_mm_rss when task->mm is set to
NULL. I also added BUG_ON to detect any other cases where counters get
incremented while mm is NULL.The oops I observed looks like this:
BUG: unable to handle kernel NULL pointer dereference at 00000000000002a8
IP: [] sync_mm_rss+0x33/0x6f
PGD 0
Oops: 0002 [#1] SMP
last sysfs file: /sys/devices/system/cpu/cpu7/cache/index2/shared_cpu_map
CPU 2
Modules linked in: vhost_net(-) tun bridge stp sunrpc ipv6 cpufreq_ondemand acpi_cpufreq freq_table kvm_intel kvm i5000_edac edac_core rtc_cmos bnx2 button i2c_i801 i2c_core rtc_core e1000e sg joydev ide_cd_mod serio_raw pcspkr rtc_lib cdrom virtio_net virtio_blk virtio_pci virtio_ring virtio af_packet e1000 shpchp aacraid uhci_hcd ohci_hcd ehci_hcd [last unloaded: microcode]Pid: 2046, comm: vhost Not tainted 2.6.34-rc1-vhost #25 System Planar/IBM System x3550 -[7978B3G]-
RIP: 0010:[] [] sync_mm_rss+0x33/0x6f
RSP: 0018:ffff8802379b7e60 EFLAGS: 00010202
RAX: 0000000000000008 RBX: ffff88023f2390c0 RCX: 0000000000000000
RDX: ffff88023f2396b0 RSI: 0000000000000000 RDI: ffff88023f2390c0
RBP: ffff8802379b7e60 R08: 0000000000000000 R09: 0000000000000000
R10: ffff88023aecfbc0 R11: 0000000000013240 R12: 0000000000000000
R13: ffffffff81051a6c R14: ffffe8ffffc0f540 R15: 0000000000000000
FS: 0000000000000000(0000) GS:ffff880001e80000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
CR2: 00000000000002a8 CR3: 000000023af23000 CR4: 00000000000406e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
Process vhost (pid: 2046, threadinfo ffff8802379b6000, task ffff88023f2390c0)
Stack:
ffff8802379b7ee0 ffffffff81040687 ffffe8ffffc0f558 ffffffffa00a3e2d
0000000000000000 ffff88023f2390c0 ffffffff81055817 ffff8802379b7e98
ffff8802379b7e98 0000000100000286 ffff8802379b7ee0 ffff88023ad47d78
Call Trace:
[] do_exit+0x147/0x6c4
[] ? handle_rx_net+0x0/0x17 [vhost_net]
[] ? autoremove_wake_function+0x0/0x39
[] ? worker_thread+0x0/0x229
[] kthreadd+0x0/0xf2
[] kernel_thread_helper+0x4/0x10
[] ? kthread+0x0/0x87
[] ? kernel_thread_helper+0x0/0x10
Code: 00 8b 87 6c 02 00 00 85 c0 74 14 48 98 f0 48 01 86 a0 02 00 00 c7 87 6c 02 00 00 00 00 00 00 8b 87 70 02 00 00 85 c0 74 14 48 98 48 01 86 a8 02 00 00 c7 87 70 02 00 00 00 00 00 00 8b 87 74
RIP [] sync_mm_rss+0x33/0x6f
RSP
CR2: 00000000000002a8
---[ end trace 41603ba922beddd2 ]---
Fixing recursive fault but reboot is needed!(note: handle_rx_net is a work item using workqueue in question).
sync_mm_rss+0x33/0x6f gave me a hint. I also tried reverting
34e55232e59f7b19050267a05ff1226e5cd122a5 and the oops goes away.The module in question calls use_mm and later unuse_mm from a kernel
thread. It is when this kernel thread is destroyed that the crash
happens.Signed-off-by: Michael S. Tsirkin
Andrea Arcangeli
Reviewed-by: Rik van Riel
Reviewed-by: KAMEZAWA Hiroyuki
Reviewed-by: Minchan Kim
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Signed-off-by: Miao Xie
Acked-by: David Rientjes
Cc: Nick Piggin
Cc: Paul Menage
Cc: Li Zefan
Cc: Ingo Molnar
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
cpuset_mem_spread_node() returns an offline node, and causes an oops.
This patch fixes it by initializing task->mems_allowed to
node_states[N_HIGH_MEMORY], and updating task->mems_allowed when doing
memory hotplug.Signed-off-by: Miao Xie
Acked-by: David Rientjes
Reported-by: Nick Piggin
Tested-by: Nick Piggin
Cc: Paul Menage
Cc: Li Zefan
Cc: Ingo Molnar
Cc:
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
commit 3f226aa1c (mempolicy: support mpol=local tmpfs mount option) added
new mpol=local mount option. but it didn't add a documentation.This patch does it.
Signed-off-by: KOSAKI Motohiro
Cc: Ravikiran Thirumalai
Cc: Christoph Lameter
Cc: Mel Gorman
Acked-by: Lee Schermerhorn
Cc: Hugh Dickins
Cc:
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
mpol_parse_str() made lots 'err' variable related bug. Because it is ugly
and reviewing unfriendly.This patch simplifies it.
Signed-off-by: KOSAKI Motohiro
Cc: Ravikiran Thirumalai
Cc: Christoph Lameter
Cc: Mel Gorman
Acked-by: Lee Schermerhorn
Cc: Hugh Dickins
Cc:
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
commit 71fe804b6d5 (mempolicy: use struct mempolicy pointer in
shmem_sb_info) added mpol=local mount option. but its feature is broken
since it was born. because such code always return 1 (i.e. mount
failure).This patch fixes it.
Signed-off-by: KOSAKI Motohiro
Cc: Ravikiran Thirumalai
Cc: Christoph Lameter
Cc: Mel Gorman
Acked-by: Lee Schermerhorn
Cc: Hugh Dickins
Cc:
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Currently, following mount operation cause mount error.
% mount -t tmpfs -ompol=bind:0 none /tmp
Because commit 71fe804b6d5 (mempolicy: use struct mempolicy pointer in
shmem_sb_info) corrupted MPOL_BIND parse code.This patch restore the needed one.
Signed-off-by: KOSAKI Motohiro
Cc: Ravikiran Thirumalai
Cc: Christoph Lameter
Cc: Mel Gorman
Acked-by: Lee Schermerhorn
Cc: Hugh Dickins
Cc:
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Fix an 'oops' when a tmpfs mount point is mounted with the mpol=default
mempolicy.Upon remounting a tmpfs mount point with 'mpol=default' option, the mount
code crashed with a null pointer dereference. The initial problem report
was on 2.6.27, but the problem exists in mainline 2.6.34-rc as well. On
examining the code, we see that mpol_new returns NULL if default mempolicy
was requested. This 'NULL' mempolicy is accessed to store the node mask
resulting in oops.The following patch fixes it.
Signed-off-by: Ravikiran Thirumalai
Signed-off-by: KOSAKI Motohiro
Cc: Christoph Lameter
Cc: Mel Gorman
Acked-by: Lee Schermerhorn
Cc: Hugh Dickins
Cc:
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Use IS_ERR() instead of comparing to NULL.
[akpm@linux-foundation.org: preserve the error code]
Signed-off-by: Jani Nikula
Cc: Vegard Nossum
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
ksm.c's write_protect_page implements a lockless means of verifying a page
does not have any users of the page which are not accounted for via other
kernel tracking means. It does this by removing the writable pte with TLB
flushes, checking the page_count against the total known users, and then
using set_pte_at_notify to make it a read-only entry.An unneeded mmu_notifier callout is made in the case where the known users
does not match the page_count. In that event, we are inserting the
identical pte and there is no need for the set_pte_at_notify, but rather
the simpler set_pte_at suffices.Signed-off-by: Robin Holt
Acked-by: Izik Eidus
Acked-by: Andrea Arcangeli
Acked-by: Hugh Dickins
Cc: Chris Wright
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Fix a fatal error in scripts/kernel-doc when a function signature uses
__init_or_module (just ignore that string):Error(drivers/base/platform.c:568): cannot understand prototype: 'struct platform_device * __init_or_module platform_create_bundle(struct platform_driver *driver, int (*probe)(struct platform_device *), struct resource *res, unsigned int n_res, const void *data, size_t size) '
Signed-off-by: Randy Dunlap
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds