01 Nov, 2011
1 commit
-
These guys were getting it implicitly via module.h before,
when module.h was everywhere.Signed-off-by: Paul Gortmaker
29 Oct, 2011
1 commit
-
* 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/hch/vfs-queue: (21 commits)
leases: fix write-open/read-lease race
nfs: drop unnecessary locking in llseek
ext4: replace cut'n'pasted llseek code with generic_file_llseek_size
vfs: add generic_file_llseek_size
vfs: do (nearly) lockless generic_file_llseek
direct-io: merge direct_io_walker into __blockdev_direct_IO
direct-io: inline the complete submission path
direct-io: separate map_bh from dio
direct-io: use a slab cache for struct dio
direct-io: rearrange fields in dio/dio_submit to avoid holes
direct-io: fix a wrong comment
direct-io: separate fields only used in the submission path from struct dio
vfs: fix spinning prevention in prune_icache_sb
vfs: add a comment to inode_permission()
vfs: pass all mask flags check_acl and posix_acl_permission
vfs: add hex format for MAY_* flag values
vfs: indicate that the permission functions take all the MAY_* flags
compat: sync compat_stats with statfs.
vfs: add "device" tag to /proc/self/mountstats
cleanup: vfs: small comment fix for block_invalidatepage
...Fix up trivial conflict in fs/gfs2/file.c (llseek changes)
28 Oct, 2011
1 commit
-
This was found by inspection while tracking a similar
bug in compat_statfs64, that has been fixed in mainline
since decemeber.- This fixes a bug where not all of the f_spare fields
were cleared on mips and s390.
- Add the f_flags field to struct compat_statfs
- Copy f_flags to userspace in case someone cares.
- Use __clear_user to copy the f_spare field to userspace
to ensure that all of the elements of f_spare are cleared.
On some architectures f_spare is has 5 ints and on some
architectures f_spare only has 4 ints. Which makes
the previous technique of clearing each int individually
broken.I don't expect anyone actually uses the old statfs system
call anymore but if they do let them benefit from having
the compat and the native version working the same.Signed-off-by: Eric W. Biederman
Signed-off-by: Christoph Hellwig
14 Oct, 2011
1 commit
-
"Kernel page size" still defaults to "4KB", for both 32 and 64 bit
processors, when tested with "make ARCH=parisc menuconfig".Signed-off-by: Paul Bolle
Signed-off-by: Jiri Kosina
28 Sep, 2011
1 commit
-
There are numerous broken references to Documentation files (in other
Documentation files, in comments, etc.). These broken references are
caused by typo's in the references, and by renames or removals of the
Documentation files. Some broken references are simply odd.Fix these broken references, sometimes by dropping the irrelevant text
they were part of.Signed-off-by: Paul Bolle
Signed-off-by: Jiri Kosina
30 Aug, 2011
1 commit
-
These were missed in commit f5b940997397 "All Arch: remove linkage
for sys_nfsservctl system call" due to them having no sys_ prefix
(presumably).Cc: NeilBrown
Cc: linuxppc-dev@lists.ozlabs.org
Cc: linux-parisc@vger.kernel.org
Signed-off-by: Stephen Rothwell
Acked-by: James Bottomley
Signed-off-by: Linus Torvalds
05 Aug, 2011
1 commit
-
* 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/parisc-2.6:
[PARISC] wire up sendmmsg syscall
[PARISC] fix return type of __atomic64_add_return
[PARISC] Fix futex support
03 Aug, 2011
2 commits
-
Some trivial conflicts due to other various merges
adding to the end of common lists sooner than this one.arch/ia64/Kconfig
arch/powerpc/Kconfig
arch/x86/Kconfig
lib/Kconfig
lib/MakefileSigned-off-by: Len Brown
-
cmpxchg() is widely used by lockless code, including NMI-safe lockless
code. But on some architectures, the cmpxchg() implementation is not
NMI-safe, on these architectures the lockless code may need a
spin_trylock_irqsave() based implementation.This patch adds a Kconfig option: ARCH_HAVE_NMI_SAFE_CMPXCHG, so that
NMI-safe lockless code can depend on it or provide different
implementation according to it.On many architectures, cmpxchg is only NMI-safe for several specific
operand sizes. So, ARCH_HAVE_NMI_SAFE_CMPXCHG define in this patch
only guarantees cmpxchg is NMI-safe for sizeof(unsigned long).Signed-off-by: Huang Ying
Acked-by: Mike Frysinger
Acked-by: Paul Mundt
Acked-by: Hans-Christian Egtvedt
Acked-by: Benjamin Herrenschmidt
Acked-by: Chris Metcalf
Acked-by: Richard Henderson
CC: Mikael Starvik
Acked-by: David Howells
CC: Yoshinori Sato
CC: Tony Luck
CC: Hirokazu Takata
CC: Geert Uytterhoeven
CC: Michal Simek
Acked-by: Ralf Baechle
CC: Kyle McMartin
CC: Martin Schwidefsky
CC: Chen Liqin
CC: "David S. Miller"
CC: Ingo Molnar
CC: Chris Zankel
Signed-off-by: Len Brown
01 Aug, 2011
1 commit
-
Cc: stable@kernel.org
Signed-off-by: James Bottomley
29 Jul, 2011
1 commit
-
The return type of __atomic64_add_return of should be s64 or long, not
int. This fixes the atomic64 test failure that I previously reported.Signed-off-by: John David Anglin
Cc: stable@kernel.org
Signed-off-by: James Bottomley
27 Jul, 2011
5 commits
-
After changing all consumers of atomics to include , we
ran into some compile time errors due to this dependency chain:linux/atomic.h
-> asm/atomic.h
-> asm-generic/atomic-long.hwhere atomic-long.h could use funcs defined later in linux/atomic.h
without a prototype. This patches moves the code that includes
asm-generic/atomic*.h to linux/atomic.h.Archs that need need to select
CONFIG_GENERIC_ATOMIC64 from now on (some of them used to include it
unconditionally).Compile tested on i386 and x86_64 with allnoconfig.
Signed-off-by: Arun Sharma
Cc: Eric Dumazet
Cc: Ingo Molnar
Cc: David Miller
Acked-by: Mike Frysinger
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
This is in preparation for more generic atomic primitives based on
__atomic_add_unless.Signed-off-by: Arun Sharma
Signed-off-by: Hans-Christian Egtvedt
Reviewed-by: Eric Dumazet
Cc: Ingo Molnar
Cc: David Miller
Acked-by: Mike Frysinger
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
This allows us to move duplicated code in
(atomic_inc_not_zero() for now) toSigned-off-by: Arun Sharma
Reviewed-by: Eric Dumazet
Cc: Ingo Molnar
Cc: David Miller
Cc: Eric Dumazet
Acked-by: Mike Frysinger
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
The majority of architectures implement ext2 atomic bitops as
test_and_{set,clear}_bit() without spinlock.This adds this type of generic implementation in ext2-atomic-setbit.h and
use it wherever possible.Signed-off-by: Akinobu Mita
Suggested-by: Andreas Dilger
Suggested-by: Arnd Bergmann
Acked-by: Arnd Bergmann
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
[ poleg@redhat.com: no need to declare show_regs() in ptrace.h, sched.h does this ]
Signed-off-by: Mike Frysinger
Cc: Tejun Heo
Signed-off-by: Oleg Nesterov
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
26 Jul, 2011
1 commit
-
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (43 commits)
fs: Merge split strings
treewide: fix potentially dangerous trailing ';' in #defined values/expressions
uwb: Fix misspelling of neighbourhood in comment
net, netfilter: Remove redundant goto in ebt_ulog_packet
trivial: don't touch files that are removed in the staging tree
lib/vsprintf: replace link to Draft by final RFC number
doc: Kconfig: `to be' -> `be'
doc: Kconfig: Typo: square -> squared
doc: Konfig: Documentation/power/{pm => apm-acpi}.txt
drivers/net: static should be at beginning of declaration
drivers/media: static should be at beginning of declaration
drivers/i2c: static should be at beginning of declaration
XTENSA: static should be at beginning of declaration
SH: static should be at beginning of declaration
MIPS: static should be at beginning of declaration
ARM: static should be at beginning of declaration
rcu: treewide: Do not use rcu_read_lock_held when calling rcu_dereference_check
Update my e-mail address
PCIe ASPM: forcedly -> forcibly
gma500: push through device driver tree
...Fix up trivial conflicts:
- arch/arm/mach-ep93xx/dma-m2p.c (deleted)
- drivers/gpio/gpio-ep93xx.c (renamed and context nearby)
- drivers/net/r8169.c (just context changes)
24 Jul, 2011
1 commit
-
This patch removes all the module loader hook implementations in the
architecture specific code where the functionality is the same as that
now provided by the recently added default hooks.Signed-off-by: Jonas Bonn
Acked-by: Mike Frysinger
Acked-by: Geert Uytterhoeven
Tested-by: Michal Simek
Signed-off-by: Rusty Russell
21 Jul, 2011
1 commit
-
All these are instances of
#define NAME value;
or
#define NAME(params_opt) value;These of course fail to build when used in contexts like
if(foo $OP NAME)
while(bar $OP NAME)
and may silently generate the wrong code in contexts such as
foo = NAME + 1; /* foo = value; + 1; */
bar = NAME - 1; /* bar = value; - 1; */
baz = NAME & quux; /* baz = value; & quux; */Reported on comp.lang.c,
Message-ID:
Initial analysis of the dangers provided by Keith Thompson in that thread.There are many more instances of more complicated macros having unnecessary
trailing semicolons, but this pile seems to be all of the cases of simple
values suffering from the problem. (Thus things that are likely to be found
in one of the contexts above, more complicated ones aren't.)Signed-off-by: Phil Carmody
Signed-off-by: Jiri Kosina
19 Jul, 2011
1 commit
-
Implements futex op support and makes futex cmpxchg atomic.
Tested on 64-bit SMP kernel running on 2 x PA8700s.[jejb: checkpatch fixes]
Signed-off-by: Carlos O'Donell
Tested-by: John David Anglin
Cc: stable@kernel.org
Signed-off-by: James Bottomley
28 Jun, 2011
1 commit
-
commit 21a3c96 uses node_start/end_pfn(nid) for detection start/end
of nodes. But, it's not defined in linux/mmzone.h but defined in
/arch/???/include/mmzone.h which is included only under
CONFIG_NEED_MULTIPLE_NODES=y.Then, we see
mm/page_cgroup.c: In function 'page_cgroup_init':
mm/page_cgroup.c:308: error: implicit declaration of function 'node_start_pfn'
mm/page_cgroup.c:309: error: implicit declaration of function 'node_end_pfn'So, fixiing page_cgroup.c is an idea...
But node_start_pfn()/node_end_pfn() is a very generic macro and
should be implemented in the same manner for all archs.
(m32r has different implementation...)This patch removes definitions of node_start/end_pfn() in each archs
and defines a unified one in linux/mmzone.h. It's not under
CONFIG_NEED_MULTIPLE_NODES, now.A result of macro expansion is here (mm/page_cgroup.c)
for !NUMA
start_pfn = ((&contig_page_data)->node_start_pfn);
end_pfn = ({ pg_data_t *__pgdat = (&contig_page_data); __pgdat->node_start_pfn + __pgdat->node_spanned_pages;});for NUMA (x86-64)
start_pfn = ((node_data[nid])->node_start_pfn);
end_pfn = ({ pg_data_t *__pgdat = (node_data[nid]); __pgdat->node_start_pfn + __pgdat->node_spanned_pages;});Changelog:
- fixed to avoid using "nid" twice in node_end_pfn() macro.Reported-and-acked-by: Randy Dunlap
Reported-and-tested-by: Ingo Molnar
Acked-by: Mel Gorman
Signed-off-by: KAMEZAWA Hiroyuki
Signed-off-by: Linus Torvalds
29 May, 2011
2 commits
-
* setns:
ns: Wire up the setns system callDone as a merge to make it easier to fix up conflicts in arm due to
addition of sendmmsg system call -
32bit and 64bit on x86 are tested and working. The rest I have looked
at closely and I can't find any problems.setns is an easy system call to wire up. It just takes two ints so I
don't expect any weird architecture porting problems.While doing this I have noticed that we have some architectures that are
very slow to get new system calls. cris seems to be the slowest where
the last system calls wired up were preadv and pwritev. avr32 is weird
in that recvmmsg was wired up but never declared in unistd.h. frv is
behind with perf_event_open being the last syscall wired up. On h8300
the last system call wired up was epoll_wait. On m32r the last system
call wired up was fallocate. mn10300 has recvmmsg as the last system
call wired up. The rest seem to at least have syncfs wired up which was
new in the 2.6.39.v2: Most of the architecture support added by Daniel Lezcano
v3: ported to v2.6.36-rc4 by: Eric W. Biederman
v4: Moved wiring up of the system call to another patch
v5: ported to v2.6.39-rc6
v6: rebased onto parisc-next and net-next to avoid syscall conflicts.
v7: ported to Linus's latest post 2.6.39 tree.> arch/blackfin/include/asm/unistd.h | 3 ++-
> arch/blackfin/mach-common/entry.S | 1 +
Acked-by: Mike FrysingerOh - ia64 wiring looks good.
Acked-by: Tony LuckSigned-off-by: Eric W. Biederman
Signed-off-by: Linus Torvalds
27 May, 2011
1 commit
-
By the previous style change, CONFIG_GENERIC_FIND_NEXT_BIT,
CONFIG_GENERIC_FIND_BIT_LE, and CONFIG_GENERIC_FIND_LAST_BIT are not used
to test for existence of find bitops anymore.Signed-off-by: Akinobu Mita
Acked-by: Greg Ungerer
Cc: Arnd Bergmann
Cc: Russell King
Cc: Martin Schwidefsky
Cc: Heiko Carstens
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
25 May, 2011
4 commits
-
This constant hasn't been used since before the git era (2.6.12) and thus
can be dropped.Signed-off-by: Stephen Boyd
Cc: Russell King
Cc: Richard Weinberger
Cc: Hirokazu Takata
Cc: Kyle McMartin
Cc: Richard Henderson
Cc: Ivan Kokshaysky
Cc: Matt Turner
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Fold all the mmu_gather rework patches into one for submission
Signed-off-by: Peter Zijlstra
Reported-by: Hugh Dickins
Cc: Benjamin Herrenschmidt
Cc: David Miller
Cc: Martin Schwidefsky
Cc: Russell King
Cc: Paul Mundt
Cc: Jeff Dike
Cc: Richard Weinberger
Cc: Tony Luck
Cc: KAMEZAWA Hiroyuki
Cc: Mel Gorman
Cc: KOSAKI Motohiro
Cc: Nick Piggin
Cc: Namhyung Kim
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Architectures that implement their own show_mem() function did not pass
the filter argument to show_free_areas() to appropriately avoid emitting
the state of nodes that are disallowed in the current context. This patch
now passes the filter argument to show_free_areas() so those nodes are now
avoided.This patch also removes the show_free_areas() wrapper around
__show_free_areas() and converts existing callers to pass an empty filter.ia64 emits additional information for each node, so skip_free_areas_zone()
must be made global to filter disallowed nodes and it is converted to use
a nid argument rather than a zone for this use case.Signed-off-by: David Rientjes
Cc: Russell King
Cc: Tony Luck
Cc: Fenghua Yu
Cc: Kyle McMartin
Cc: Helge Deller
Cc: James Bottomley
Cc: "David S. Miller"
Cc: Guan Xuetao
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
* 'for-2.6.40' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu:
percpu: Unify input section names
percpu: Avoid extra NOP in percpu_cmpxchg16b_double
percpu: Cast away printk format warning
percpu: Always align percpu output section to PAGE_SIZEFix up fairly trivial conflict in arch/x86/include/asm/percpu.h as per Tejun
24 May, 2011
1 commit
23 May, 2011
1 commit
-
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/parisc-2.6:
[PARISC] wire up syncfs syscall
[PARISC] wire up the fhandle syscalls
[PARISC] wire up clock_adjtime syscall
[PARISC] wire up fanotify syscalls
[PARISC] prevent speculative re-read on cache flush
[PARISC] only make executable areas executable
[PARISC] fix pacache .size with new binutils
22 May, 2011
1 commit
20 May, 2011
1 commit
-
A new utility function (core_kernel_data()) is used to determine if a
passed in address is part of core kernel data or not. It may or may not
return true for RO data, but this utility must work for RW data.Thus both _sdata and _edata must be defined and continuous,
without .init sections that may later be freed and replaced by
volatile memory (memory that can be freed).This utility function is used to determine if data is safe from
ever being freed. Thus it should return true for all RW global
data that is not in a module or has been allocated, or false
otherwise.Also change core_kernel_data() back to the more precise _sdata condition
and document the function.Signed-off-by: Steven Rostedt
Acked-by: Ralf Baechle
Acked-by: Hirokazu Takata
Cc: Richard Henderson
Cc: Ivan Kokshaysky
Cc: Matt Turner
Cc: Geert Uytterhoeven
Cc: Roman Zippel
Cc: linux-m68k@lists.linux-m68k.org
Cc: Kyle McMartin
Cc: Helge Deller
Cc: JamesE.J.Bottomley
Link: http://lkml.kernel.org/r/1305855298.1465.19.camel@gandalf.stny.rr.com
Signed-off-by: Ingo Molnar
----
arch/alpha/kernel/vmlinux.lds.S | 1 +
arch/m32r/kernel/vmlinux.lds.S | 1 +
arch/m68k/kernel/vmlinux-std.lds | 2 ++
arch/m68k/kernel/vmlinux-sun3.lds | 1 +
arch/mips/kernel/vmlinux.lds.S | 1 +
arch/parisc/kernel/vmlinux.lds.S | 3 +++
kernel/extable.c | 12 +++++++++++-
7 files changed, 20 insertions(+), 1 deletion(-)
12 May, 2011
1 commit
21 Apr, 2011
1 commit
-
When a DISCONTIGMEM memory range is brought online as a NUMA node, it
also needs to have its bet set in N_NORMAL_MEMORY. This is necessary for
generic kernel code that utilizes N_NORMAL_MEMORY as a subset of N_ONLINE
for memory savings.These types of hacks can hopefully be removed once DISCONTIGMEM is either
removed or abstracted away from CONFIG_NUMA.Fixes a panic in the slub code which only initializes structures for
N_NORMAL_MEMORY to save memory:Backtrace:
[] add_partial+0x28/0x98
[] __slab_free+0x1d0/0x1d8
[] kmem_cache_free+0xc4/0x128
[] ida_get_new_above+0x21c/0x2c0
[] sysfs_new_dirent+0xd0/0x238
[] create_dir+0x5c/0x168
[] sysfs_create_dir+0x98/0x128
[] kobject_add_internal+0x114/0x258
[] kobject_add_varg+0x7c/0xa0
[] kobject_add+0x50/0x90
[] kobject_create_and_add+0x54/0xc8
[] cgroup_init+0x138/0x1f0
[] start_kernel+0x5a0/0x840
[] start_parisc+0xa4/0xb8
[] packet_ioctl+0x16c/0x208
[] ip_mroute_setsockopt+0x260/0xf20Signed-off-by: David Rientjes
Cc: stable@kernel.org
Signed-off-by: James Bottomley
16 Apr, 2011
6 commits
-
Cc: stable@kernel.org
Signed-off-by: James Bottomley -
Cc: stable@kernel.org
Signed-off-by: James Bottomley -
Cc: stable@kernel.org
Signed-off-by: James Bottomley -
Cc: stable@kernel.org
Signed-off-by: James Bottomley -
According to Appendix F, the TLB is the primary arbiter of speculation.
Thus, if a page has a TLB entry, it may be speculatively read into the
cache. On linux, this can cause us incoherencies because if we're about
to do a disk read, we call get_user_pages() to do the flush/invalidate
in user space, but we still potentially have the user TLB entries, and
the cache could speculate the lines back into userspace (thus causing
stale data to be used). This is fixed by purging the TLB entries before
we flush through the tmpalias space. Now, the only way the line could
be re-speculated is if the user actually tries to touch it (which is not
allowed).Signed-off-by: James Bottomley
-
Currently parisc has the whole kernel marked as RWX, meaning any
kernel page at all is eligible to be executed. This can cause a
theoretical problem on systems with combined I/D TLB because the act
of referencing a page causes a TLB insertion with an executable bit.
This TLB entry may be used by the CPU as the basis for speculating the
page into the I-Cache. If this speculated page is subsequently used
for a user process, there is the possibility we will get a stale
I-cache line picked up as the binary executes.As a point of good practise, only mark actual kernel text pages as
executable. The same has to be done for init_text pages, but they're
converted to data pages (and the I-Cache flushed) when the init memory
is released.Signed-off-by: James Bottomley