15 Nov, 2007
32 commits
-
i386 and x86-64 registers System RAM as IORESOURCE_MEM | IORESOURCE_BUSY.
But ia64 registers it as IORESOURCE_MEM only.
In addition, memory hotplug code registers new memory as IORESOURCE_MEM too.This difference causes a failure of memory unplug of x86-64. This patch
fixes it.This patch adds IORESOURCE_BUSY to avoid potential overlap mapping by PCI
device.Signed-off-by: Yasunori Goto
Signed-off-by: Badari Pulavarty
Cc: Luck, Tony"
Cc: Thomas Gleixner
Cc: Ingo Molnar
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
We allow violation of bdi limits if there is a lot of room on the system.
Once we hit half the total limit we start enforcing bdi limits and bdi
ramp-up should happen. Doing it this way avoids many small writeouts on an
otherwise idle system and should also speed up the ramp-up.Signed-off-by: Peter Zijlstra
Reviewed-by: Fengguang Wu
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Update the getdelays utility to become cgroupstats aware. A new -C option has
been added. It takes in a control group path and prints out a summary of the
states of tasks in the control groupSigned-off-by: Balbir Singh
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
We should unset migrate type "ISOLATE" when we successfully removed memory.
But current code has BUG and cannot works well.This patch also includes bugfix? to change get_pageblock_flags to
get_pageblock_migratetype().Thanks to Badari Pulavarty for finding this.
Signed-off-by: KAMEZAWA Hiroyuki
Acked-by: Badari Pulavarty
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
We hit the BUG_ON() in mm/rmap.c:vma_address() when trying to migrate via
mbind(MPOL_MF_MOVE) a non-anon region that spans multiple vmas. For
anon-regions, we just fail to migrate any pages beyond the 1st vma in the
range.This occurs because do_mbind() collects a list of pages to migrate by
calling check_range(). check_range() walks the task's mm, spanning vmas as
necessary, to collect the migratable pages into a list. Then, do_mbind()
calls migrate_pages() passing the list of pages, a function to allocate new
pages based on vma policy [new_vma_page()], and a pointer to the first vma
of the range.For each page in the list, new_vma_page() calls page_address_in_vma()
passing the page and the vma [first in range] to obtain the address to get
for alloc_page_vma(). The page address is needed to get interleaving
policy correct. If the pages in the list come from multiple vmas,
eventually, new_page_address() will pass that page to page_address_in_vma()
with the incorrect vma. For !PageAnon pages, this will result in a bug
check in rmap.c:vma_address(). For anon pages, vma_address() will just
return EFAULT and fail the migration.This patch modifies new_vma_page() to check the return value from
page_address_in_vma(). If the return value is EFAULT, new_vma_page()
searchs forward via vm_next for the vma that maps the page--i.e., that does
not return EFAULT. This assumes that the pages in the list handed to
migrate_pages() is in address order. This is currently case. The patch
documents this assumption in a new comment block for new_vma_page().If new_vma_page() cannot locate the vma mapping the page in a forward
search in the mm, it will pass a NULL vma to alloc_page_vma(). This will
result in the allocation using the task policy, if any, else system default
policy. This situation is unlikely, but the patch documents this behavior
with a comment.Note, this patch results in restarting from the first vma in a multi-vma
range each time new_vma_page() is called. If this is not acceptable, we
can make the vma argument a pointer, both in new_vma_page() and it's caller
unmap_and_move() so that the value held by the loop in migrate_pages()
always passes down the last vma in which a page was found. This will
require changes to all new_page_t functions passed to migrate_pages(). Is
this necessary?For this patch to work, we can't bug check in vma_address() for pages
outside the argument vma. This patch removes the BUG_ON(). All other
callers [besides new_vma_page()] already check the return status.Tested on x86_64, 4 node NUMA platform.
Signed-off-by: Lee Schermerhorn
Acked-by: Christoph Lameter
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
It appears we overlooked support for removing generic proc files
when we added support for multiple proc super blocks. Handle
that now.[akpm@linux-foundation.org: coding-style cleanups]
Signed-off-by: Eric W. Biederman
Acked-by: Pavel Emelyanov
Cc: Alexey Dobriyan
Acked-by: Sukadev Bhattiprolu
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
The following is an extra entry to enable the touch screen on the new LG
C1 EXPRESS DUAL machine.Cc: Russell King
Cc: Bjorn Helgaas
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
This patch fixes the possible usage of a negative value as an array
index spotted by the Coverity checker.sisfb_validate_mode() could return a negative error code and we must check for
that prior to using its return value as an array index.Signed-off-by: Adrian Bunk
Cc: Thomas Winischhofer
Cc: "Antonino A. Daplas"
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
This patch fixes a memory leak spotted by the Coverity checker.
Signed-off-by: Adrian Bunk
Cc: Rusty Russell
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
A relatively recent version of the Geode LX datasheet listed the wrong
address for one of the MSRs that controls TFT panels, resulting in
breakage. This patch corrects the MSR address.Signed-off-by: Jordan Crouse
Cc: "Antonino A. Daplas"
Cc: "H. Peter Anvin"
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Forbid user from changing file flags on quota files. User has no bussiness
in playing with these flags when quota is on. Furthermore there is a
remote possibility of deadlock due to a lock inversion between quota file's
i_mutex and transaction's start (i_mutex for quota file is locked only when
trasaction is started in quota operations) in ext3 and ext4.Signed-off-by: Jan Kara
Cc: LIOU Payphone
Cc:
Acked-by: Dave Kleikamp
Cc:
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Attached patch fixes two compilation problems of s1d13xxxfb.c:
- Fixes outdated dbg() message to fix compilation error with debugging enabled.
- Do not read kernel command line options when compiled as module.
Signed-off-by: Stanislav Brabec
Cc: "Antonino A. Daplas"
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
When I boot with the 'quiet' parameter, I see on the screen:
[ 0.000000] Initializing cgroup subsys cpuset
[ 0.000000] Initializing cgroup subsys cpu
[ 39.036026] Initializing cgroup subsys cpuacct
[ 39.036080] Initializing cgroup subsys debug
[ 39.036118] Initializing cgroup subsys nsThis patch lowers the priority of those messages, adds a "cgroup: " prefix
to another couple of printks and kills the useless reference to the source
file.Signed-off-by: Diego Calleja
Cc: Paul Menage
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
pud_clear wasn't setting the _PAGE_NEWPAGE bit, fooling tlb_flush into
thinking that this area of the address space was up-to-date and not unmapping
whatever was covered by the pud.This manifested itself as ldconfig on x86_64 complaining about the first
library it looked at not being a valid ELF file. A config file is mapped at
0x4000000, as the only thing mapped under its pud, and unmapped. The
unmapping caused a pud_clear, which, due to this bug, didn't actually unmap
the config file data on the host. The first library is then mapped at the
same location, but is not actually mapped on the host because accesses to it
cause no page faults. As a result, ldconfig sees the old config file data.[akpm@linux-foundation.org: coding-style cleanups]
Signed-off-by: Jeff Dike
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Stupid bug - we need to compare the return value of recvmsg to the value of
iov_len, not its size. This caused port_helper processes not to be killed on
shutdown on x86_64 because the pids weren't being passed out properly.Signed-off-by: Jeff Dike
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Instruction pointer returned by profile_pc() can be a random value. This
break the assumption than we can safely set struct op_sample.eip field to a
magic value to signal to the per-cpu buffer reader side special event like
task switch ending up in a segfault in get_task_mm() when profile_pc()
return ~0UL. Fixed by sanitizing the sampled eip and reject/log invalid
eip.Problem reported by Sami Farin, patch tested by him.
Signed-off-by: Philippe Elie
Tested-by: Sami Farin
Cc:
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Variables that are only used in #ifdef CONFIG_X86 should also only be
declared there.Signed-off-by: Frank Lichtenheld
Cc: Michal Januszewski
Cc: "Antonino A. Daplas"
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
chipsfb uses PCI interfaces and should depend on PCI.
CC drivers/video/chipsfb.o
drivers/video/chipsfb.c: In function 'chipsfb_pci_init':
drivers/video/chipsfb.c:378: error: implicit declaration of function 'pci_request_region'
drivers/video/chipsfb.c:435: error: implicit declaration of function 'pci_release_region'
make[2]: *** [drivers/video/chipsfb.o] Error 1
make[1]: *** [drivers/video] Error 2
make: *** [drivers] Error 2!CONFIG_PCI causes the build to fail.
Signed-off-by: Randy Dunlap
Cc: Kamalesh Babulal
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
The max_user_freq member is not really meant for RTC drivers to modify, so
update the rtc documentation so drivers writers know what is expected of
them when handling periodic events.Signed-off-by: Mike Frysinger
Acked-by: Alessandro Zummo
Cc: David Brownell
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
symlinks to directories in the non-O= case were lacking -n, which meant
that, when the link already existed, a new link pointing at itself was
created in the target directory.Signed-off-by: Jeff Dike
Cc: Sam Ravnborg
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
mac80211 has a reference to __bitmap_empty() via bitmap_empty(). In
lib/bitmap.c this is flagged with an EXPORT_SYMBOL(), but this is
ultimately ineffective due to bitmap.o being linked in lib-y, resulting in:ERROR: "__bitmap_empty" [net/mac80211/mac80211.ko] undefined!
Moving bitmap.o to obj-y fixes this up.
Signed-off-by: Paul Mundt
Cc: "John W. Linville"
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
When PCMCIA_DEBUG is set, cm40x0_cs.c and cm4000_cs.c don't build because the
definition of reader_to_dev uses a non-existent handle field of the struct
pcmcia_device in the call to handle_to_dev. As handle_to_dev works on struct
pcmcia_device, the fix is quite trivial.Signed-off-by: Pascal Terjan
Cc: Harald Welte
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Original patch assumed args->nlen < CTL_MAXNAME, but it can be false.
Signed-off-by: Tetsuo Handa
Cc: "Eric W. Biederman"
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
This should resolve these bug reports of the modem not working:
http://bugzilla.kernel.org/show_bug.cgi?id=4355
http://www.linuxquestions.org/questions/linux-newbie-8/connect-script-failed-on-ppp-go-123975/I don't have hardware to test this, but the initial report in the kernel
bugzilla indicates that this change fixed the problem.Signed-off-by: Bjorn Helgaas
Cc: Dmitry Vavilov
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
This patch fixes wrong array index in allocation failure handling.
Cc: Pekka Enberg
Acked-by: Christoph Lameter
Signed-off-by: Akinobu Mita
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
The size argument passed to memset is wrong.
Signed-off-by Li Zefan
Acked-by: Evgeniy Polyakov
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
The size passed to memset is wrong.
Signed-off-by Li Zefan
Acked-by: Geert Uytterhoeven
Cc:
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Export the NVRAM on DS1307 and DS1338 chips, like several of the
other drivers do for such combination RTC-and-NVRAM chips.Signed-off-by: David Brownell
Acked-by: Alessandro Zummo
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Several of the RTC drivers are exporting binary "nvram" files in sysfs. Such
NVRAM (or on many systems, EEPROM) data is often initialized during system
manufacture to hold data about identity (serial numbers, Ethernet addresses,
etc), configuration, calibration, and so forth.This patch improves integrity and security of those files:
- Correctly initializes the size in one of the two cases where
that was not yet being done.- Improves system security/integrity by making this state not
be world-writable by default.Letting arbitrary userspace code mangle such state by default is at least Not
A Good Thing; and it could sometimes be worse, depending on the particular
data that might be corrupted. (I disregard the paranoiac "don't let anyone
read it either" approach. Anyone storing passwords in such memory doesn't
really care about security.)Signed-off-by: David Brownell
Acked-by: Atsushi Nemoto
Cc: Torsten Ertbjerg Rasmussen
Cc: Mark Zhan
Cc: Thomas Hommel
Acked-by: Alessandro Zummo
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
The RTC "hctosys" mechanism expects that RTC clock will use UTC, not local
time (e.g. PST). Say so in Kconfig and in the kernel message.(Strictly speaking, the RTC clock should be tracking the POSIX epoch. That's
not worth going into here. Goofing timezones means clocks are wrong by many
hours; the POSIX-v-UTC differences just cost seconds.)Signed-off-by: David Brownell
Acked-by: Alessandro Zummo
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
When backlight_device_register() fails, return after undo initialization, do
not try to use pointer that just was reset to NULLThis fixes this oops:
[ 1595.177672] [] show_trace_log_lvl+0x1a/0x30
[ 1595.177706] [] show_trace+0x12/0x20
[ 1595.177718] [] dump_stack+0x15/0x20
[ 1595.177728] [] kobject_shadow_add+0x125/0x1c0
[ 1595.177754] [] kobject_add+0xa/0x10
[ 1595.177764] [] device_add+0x97/0x5d0
[ 1595.177776] [] device_register+0x12/0x20
[ 1595.177786] [] backlight_device_register+0x9f/0x110 [backlight]
[ 1595.177814] [] toshiba_acpi_init+0x117/0x15e [toshiba_acpi]
[ 1595.177834] [] sys_init_module+0xfd/0x14e0
[ 1595.177871] [] sysenter_past_esp+0x5f/0x99
[ 1595.177883] =======================
[ 1595.177890] Could not register toshiba backlight device
[ 1595.177985] BUG: unable to handle kernel NULL pointer dereference at virtual address 00000004
...
[ 1595.394097] EIP: 0060:[] Not tainted VLI
[ 1595.394101] EFLAGS: 00010282 (2.6.23-rc9-1avb #24)
[ 1595.480081] EIP is at toshiba_acpi_init+0x143/0x15e [toshiba_acpi]Signed-off-by: Andrey Borzenkov
Cc: John Belmonte
Acked-by: Richard Purdie
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
page->index should be cast to loff_t instead of off_t.
Signed-off-by: Michael Halcrow
Reported-by: Eric Sandeen
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
14 Nov, 2007
8 commits
-
Signed-off-by: Bartlomiej Zolnierkiewicz
-
Signed-off-by: Bartlomiej Zolnierkiewicz
-
Fix ide-cris, cs5530, sc1200 and sis5513 host drivers to just return instead
of OOPS-ing for unsupported modes in ->set_dma_mode methods.Acked-by: Sergei Shtylyov
Signed-off-by: Bartlomiej Zolnierkiewicz -
Use drive->select.all for REQ_TYPE_ATA_TASK requests in execute_drive_cmd()
(the obsolete bits 7 and 5 of the Device register need to be set).Signed-off-by: Bartlomiej Zolnierkiewicz
-
Acked-by: Sergei Shtylyov
Signed-off-by: Bartlomiej Zolnierkiewicz -
We can skip conservative PIO "downgrade" (PIO3 becomes PIO2 etc.) on PMAC.
Problem reported by Mikael.
Cc: Mikael Pettersson
Acked-by: Benjamin Herrenschmidt
Acked-by: Sergei Shtylyov
Signed-off-by: Bartlomiej Zolnierkiewicz -
LILO version 16 was released on 26-02-1995 (sic), so telling people to not use
older versions no longer has any value.Signed-off-by: Adrian Bunk
Cc: Jens Axboe
Signed-off-by: Andrew Morton
Signed-off-by: Bartlomiej Zolnierkiewicz -
Make sure to not clear the other IDE channel's interrupt when clearing an IDE
interrupt via the MRDMODE register.Thanks to Bart for finding a coding mistake.
Bart:
This fixes regression from commit 66602c83dcb6a5d82772d88ae7a32cd4a1213528
("cmd64x: use interrupt status from MRDMODE register (take 2)").Extra thanks to Martin for reporting and bisecting the issue.
From: Sergei Shtylyov
Tested-by: Martin Rogge
Tested-by: Milan Kocian
Signed-off-by: Bartlomiej Zolnierkiewicz