aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2012-07-15Merge tag 'v3.5-rc7' into regulator-driversMark Brown351-2056/+3385
Linux 3.5-rc7
2012-07-15time: Rework timekeeping functions to take timekeeper ptr as argumentJohn Stultz1-105/+103
As part of cleaning up the timekeeping code, this patch converts a number of internal functions to takei a timekeeper ptr as an argument, so that the internal functions don't access the global timekeeper structure directly. This allows for further optimizations to reduce lock hold time later. This patch has been updated to include more consistent usage of the timekeeper value, by making sure it is always passed as a argument to non top-level functions. Signed-off-by: John Stultz <[email protected]> Reviewed-by: Ingo Molnar <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: Richard Cochran <[email protected]> Cc: Prarit Bhargava <[email protected]> Link: http://lkml.kernel.org/r/[email protected] Signed-off-by: Thomas Gleixner <[email protected]>
2012-07-15time: Move xtime_nsec adjustment underflow handling timekeeping_adjustJohn Stultz1-21/+21
When we make adjustments speeding up the clock, its possible for xtime_nsec to underflow. We already handle this properly, but we do so from update_wall_time() instead of the more logical timekeeping_adjust(), where the possible underflow actually occurs. Thus, move the correction logic to the timekeeping_adjust, which is the function that causes the issue. Making update_wall_time() more readable. Signed-off-by: John Stultz <[email protected]> Reviewed-by: Ingo Molnar <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: Richard Cochran <[email protected]> Cc: Prarit Bhargava <[email protected]> Link: http://lkml.kernel.org/r/[email protected] Signed-off-by: Thomas Gleixner <[email protected]>
2012-07-15time: Move arch_gettimeoffset() usage into timekeeping_get_ns()John Stultz1-19/+10
Since we call arch_gettimeoffset() in all the accessor functions, move arch_gettimeoffset() calls into timekeeping_get_ns() and timekeeping_get_ns_raw() to simplify the code. This also makes the code easier to maintain as we don't have to worry about forgetting the arch_gettimeoffset() as has happened in the past. Signed-off-by: John Stultz <[email protected]> Reviewed-by: Ingo Molnar <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: Richard Cochran <[email protected]> Cc: Prarit Bhargava <[email protected]> Link: http://lkml.kernel.org/r/[email protected] Signed-off-by: Thomas Gleixner <[email protected]>
2012-07-15time: Refactor accumulation of nsecs to secsJohn Stultz1-22/+32
We do the exact same logic moving nsecs to secs in the timekeeper in multiple places, so condense this into a single function. Signed-off-by: John Stultz <[email protected]> Reviewed-by: Ingo Molnar <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: Richard Cochran <[email protected]> Cc: Prarit Bhargava <[email protected]> Link: http://lkml.kernel.org/r/[email protected] Signed-off-by: Thomas Gleixner <[email protected]>
2012-07-15time: Condense timekeeper.xtime into xtime_secJohn Stultz1-71/+110
The timekeeper struct has a xtime_nsec, which keeps the sub-nanosecond remainder. This ends up being somewhat duplicative of the timekeeper.xtime.tv_nsec value, and we have to do extra work to keep them apart, copying the full nsec portion out and back in over and over. This patch simplifies some of the logic by taking the timekeeper xtime value and splitting it into timekeeper.xtime_sec and reuses the timekeeper.xtime_nsec for the sub-second portion (stored in higher res shifted nanoseconds). This simplifies some of the accumulation logic. And will allow for more accurate timekeeping once the vsyscall code is updated to use the shifted nanosecond remainder. Signed-off-by: John Stultz <[email protected]> Reviewed-by: Ingo Molnar <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: Richard Cochran <[email protected]> Cc: Prarit Bhargava <[email protected]> Link: http://lkml.kernel.org/r/[email protected] Signed-off-by: Thomas Gleixner <[email protected]>
2012-07-15time: Explicitly use u32 instead of int for shift valuesJohn Stultz1-3/+3
Ingo noted that using a u32 instead of int for shift values would be better to make sure the compiler doesn't unnecessarily use complex signed arithmetic. Signed-off-by: John Stultz <[email protected]> Reviewed-by: Ingo Molnar <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: Richard Cochran <[email protected]> Cc: Prarit Bhargava <[email protected]> Link: http://lkml.kernel.org/r/[email protected] Signed-off-by: Thomas Gleixner <[email protected]>
2012-07-15time: Whitespace cleanups per Ingo%27s requestsJohn Stultz1-21/+18
Ingo noted a number of places where there is inconsistent use of whitespace. This patch tries to address the main culprits. Signed-off-by: John Stultz <[email protected]> Reviewed-by: Ingo Molnar <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: Richard Cochran <[email protected]> Cc: Prarit Bhargava <[email protected]> Link: http://lkml.kernel.org/r/[email protected] Signed-off-by: Thomas Gleixner <[email protected]>
2012-07-15Merge branch 'timers/urgent' into timers/coreThomas Gleixner1128-6042/+11411
Reason: Update to upstream changes to avoid further conflicts. Fixup a trivial merge conflict in kernel/time/tick-sched.c Signed-off-by: Thomas Gleixner <[email protected]>
2012-07-15ntp: Fix STA_INS/DEL clearing bugJohn Stultz1-2/+6
In commit 6b43ae8a619d17c4935c3320d2ef9e92bdeed05d, I introduced a bug that kept the STA_INS or STA_DEL bit from being cleared from time_status via adjtimex() without forcing STA_PLL first. Usually once the STA_INS is set, it isn't cleared until the leap second is applied, so its unlikely this affected anyone. However during testing I noticed it took some effort to cancel a leap second once STA_INS was set. Signed-off-by: John Stultz <[email protected]> Cc: Ingo Molnar <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: Richard Cochran <[email protected]> Cc: Prarit Bhargava <[email protected]> CC: [email protected] # 3.4 Link: http://lkml.kernel.org/r/[email protected] Signed-off-by: Thomas Gleixner <[email protected]>
2012-07-14Linux 3.5-rc7Linus Torvalds1-1/+1
2012-07-14blk: fix wrong idr_pre_get() error check in loop.cSilva Paulo1-5/+3
The idr_pre_get() function never returns a value < 0. It returns 0 (no memory) or 1 (OK). Reported-by: Silva Paulo <[email protected]> [ Rewrote Silva's patch, but attributing it to Silva anyway - Linus ] Signed-off-by: Linus Torvalds <[email protected]>
2012-07-14tcm_fc: Fix crash seen with aborts and large readsMark Rustad1-0/+2
This patch fixes a crash seen when large reads have their exchange aborted by either timing out or being reset. Because the exchange abort results in the seq pointer being set to NULL, because the sequence is no longer valid, it must not be dereferenced. This patch changes the function ft_get_task_tag to return ~0 if it is unable to get the tag for this reason. Because the get_task_tag interface provides no means of returning an error, this seems like the best way to fix this issue at the moment. Signed-off-by: Mark Rustad <[email protected]> Cc: <[email protected]> Signed-off-by: Nicholas Bellinger <[email protected]>
2012-07-14pinctrl: pinctrl-imx6q: add missed mux function for USBOTG_IDDong Aisheng2-0/+4
The original pin registers table is derived from u-boot mainline, but somehow it was found missing some mux functions for USBOTG_ID. We added it at the bottom by following the exist pin function ids, then it will not break the exist using of pin function id in dts file. Reported-by: Richard Zhao <[email protected]> Signed-off-by: Dong Aisheng <[email protected]>
2012-07-14pinctrl: pinctrl-imx: only print debug message when DEBUG is definedDong Aisheng1-0/+2
Fix regression for commit 3a86a5f8 (pinctrl: pinctrl-imx: free allocated pinctrl_map structure only once and use kernel facilities for IMX_PMX_DUMP) introduced in 3.5-rc3. With above commit, the debug code will alway be excuted. Change to excute it only when DEBUG is defined. Signed-off-by: Dong Aisheng <[email protected]> Signed-off-by: Linus Walleij <[email protected]>
2012-07-14Merge tag 'sound-3.5' of ↵Linus Torvalds2-91/+43
git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound Pull sound fixes from Takashi Iwai: "Containing the regression fixes for USB-audio due to the transition to the new streaming logic, mostly found on Logitech webcams." * tag 'sound-3.5' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: ALSA: snd-usb: move calls to usb_set_interface ALSA: usb-audio: Fix the first PCM interface assignment
2012-07-14Merge branch 'release' of ↵Linus Torvalds1-1/+1
git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux Pull ACPI patch from Len Brown. * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux: ACPICA: Fix possible fault in return package object repair code
2012-07-14vsyscall_64: add missing ifdef CONFIG_SECCOMPWill Drewry1-0/+4
vsyscall_seccomp introduced a dependency on __secure_computing. On configurations with CONFIG_SECCOMP disabled, compilation will fail. Reported-by: feng xiangjun <[email protected]> Signed-off-by: Will Drewry <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2012-07-14Merge tag 'cpufreq-for-3.5-rc7' of ↵Linus Torvalds1-2/+4
git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm Pull cpufreq fix from Rafael Wysocki: "This fixes a regression preventing the ACPI cpufreq driver from loading on some systems where it worked previously without any problems." * tag 'cpufreq-for-3.5-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: cpufreq / ACPI: Fix not loading acpi-cpufreq driver regression
2012-07-14Merge tag 'fixes-for-linus' of ↵Linus Torvalds5-9/+18
git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM Samsung SoC fixes from Arnd Bergmann. * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: ARM: S3C24XX: Correct CAMIF interrupt definitions ARM: S3C24XX: Correct AC97 clock control bit for S3C2440 ARM: SAMSUNG: fix race in s3c_adc_start for ADC ARM: SAMSUNG: Update default rate for xusbxti clock ARM: EXYNOS: register devices in 'need_restore' state for pm_domains ARM: EXYNOS: read initial state of power domain from hw registers
2012-07-14Merge branches 'core-urgent-for-linus', 'perf-urgent-for-linus' and ↵Linus Torvalds17-115/+261
'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull RCU, perf, and scheduler fixes from Ingo Molnar. The RCU fix is a revert for an optimization that could cause deadlocks. One of the scheduler commits (164c33c6adee "sched: Fix fork() error path to not crash") is correct but not complete (some architectures like Tile are not covered yet) - the resulting additional fixes are still WIP and Ingo did not want to delay these pending fixes. See this thread on lkml: [PATCH] fork: fix error handling in dup_task() The perf fixes are just trivial oneliners. * 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: Revert "rcu: Move PREEMPT_RCU preemption to switch_to() invocation" * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: perf kvm: Fix segfault with report and mixed guestmount use perf kvm: Fix regression with guest machine creation perf script: Fix format regression due to libtraceevent merge ring-buffer: Fix accounting of entries when removing pages ring-buffer: Fix crash due to uninitialized new_pages list head * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: MAINTAINERS/sched: Update scheduler file pattern sched/nohz: Rewrite and fix load-avg computation -- again sched: Fix fork() error path to not crash
2012-07-14ACPICA: Fix possible fault in return package object repair codeBob Moore1-1/+1
Fixes a problem that can occur when a lone package object is wrapped with an outer package object in order to conform to the ACPI specification. Can affect these predefined names: _ALR,_MLS,_PSS,_TRT,_TSS,_PRT,_HPX,_DLM,_CSD,_PSD,_TSD https://bugzilla.kernel.org/show_bug.cgi?id=44171 This problem was introduced in 3.4-rc1 by commit 6a99b1c94d053b3420eaa4a4bc8b2883dd90a2f9 (ACPICA: Object repair code: Support to add Package wrappers) Reported-by: Vlastimil Babka <[email protected]> Signed-off-by: Bob Moore <[email protected]> Signed-off-by: Lin Ming <[email protected]> Cc: <[email protected]> # 3.4 Signed-off-by: Len Brown <[email protected]>
2012-07-14VFS: Split inode_permission()David Howells2-17/+54
Split inode_permission() into inode- and superblock-dependent parts. This is aimed at unionmounts where the superblock from the upper layer has to be checked rather than the superblock from the lower layer as the upper layer may be writable, thus allowing an unwritable file from the lower layer to be copied up and modified. Original-author: Valerie Aurora <[email protected]> Signed-off-by: David Howells <[email protected]> (Further development) Signed-off-by: Al Viro <[email protected]>
2012-07-14VFS: Pass mount flags to sget()David Howells20-50/+40
Pass mount flags to sget() so that it can use them in initialising a new superblock before the set function is called. They could also be passed to the compare function. Signed-off-by: David Howells <[email protected]> Signed-off-by: Al Viro <[email protected]>
2012-07-14VFS: Comment mount following codeDavid Howells2-2/+24
Add comments describing what the directions "up" and "down" mean and ref count handling to the VFS mount following family of functions. Signed-off-by: Valerie Aurora <[email protected]> (Original author) Signed-off-by: David Howells <[email protected]> Signed-off-by: Al Viro <[email protected]>
2012-07-14VFS: Make clone_mnt()/copy_tree()/collect_mounts() return errorsDavid Howells3-62/+73
copy_tree() can theoretically fail in a case other than ENOMEM, but always returns NULL which is interpreted by callers as -ENOMEM. Change it to return an explicit error. Also change clone_mnt() for consistency and because union mounts will add new error cases. Thanks to Andreas Gruenbacher <[email protected]> for a bug fix. [AV: folded braino fix by Dan Carpenter] Original-author: Valerie Aurora <[email protected]> Signed-off-by: David Howells <[email protected]> Cc: Valerie Aurora <[email protected]> Cc: Andreas Gruenbacher <[email protected]> Signed-off-by: Al Viro <[email protected]>
2012-07-14VFS: Make chown() and lchown() call fchownat()David Howells1-34/+7
Make the chown() and lchown() syscalls jump to the fchownat() syscall with the appropriate extra arguments. Signed-off-by: David Howells <[email protected]> Signed-off-by: Al Viro <[email protected]>
2012-07-14do_dentry_open(): close the race with mark_files_ro() in failure exitAl Viro1-1/+1
we want to take it out of mark_files_ro() reach *before* we start checking if we ought to drop write access. Signed-off-by: Al Viro <[email protected]>
2012-07-14mark_files_ro(): don't bother with mntget/mntputAl Viro1-8/+1
mnt_drop_write_file() is safe under any lock Signed-off-by: Al Viro <[email protected]>
2012-07-14notify_change(): check that i_mutex is heldAndrew Morton1-1/+2
Cc: Djalal Harouni <[email protected]> Cc: Al Viro <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Al Viro <[email protected]>
2012-07-14fs: add nd_jump_linkChristoph Hellwig3-12/+20
Add a helper that abstracts out the jump to an already parsed struct path from ->follow_link operation from procfs. Not only does this clean up the code by moving the two sides of this game into a single helper, but it also prepares for making struct nameidata private to namei.c Signed-off-by: Christoph Hellwig <[email protected]> Signed-off-by: Al Viro <[email protected]>
2012-07-14fs: move path_put on failure out of ->follow_linkChristoph Hellwig2-6/+9
Currently the non-nd_set_link based versions of ->follow_link are expected to do a path_put(&nd->path) on failure. This calling convention is unexpected, undocumented and doesn't match what the nd_set_link-based instances do. Move the path_put out of the only non-nd_set_link based ->follow_link instance into the caller. Signed-off-by: Christoph Hellwig <[email protected]> Signed-off-by: Al Viro <[email protected]>
2012-07-14debugfs: get rid of useless arguments to debugfs_{mkdir,symlink}Al Viro1-11/+9
Signed-off-by: Al Viro <[email protected]>
2012-07-14debugfs: fold debugfs_create_by_name() into the only callerAl Viro1-33/+20
Signed-off-by: Al Viro <[email protected]>
2012-07-14debugfs: make sure that debugfs_create_file() gets used only for regularsAl Viro1-22/+34
It, debugfs_create_dir() and debugfs_create_link() use the common helper now. Signed-off-by: Al Viro <[email protected]>
2012-07-14__d_unalias() should refuse to move mountpointsAl Viro1-4/+5
Signed-off-by: Al Viro <[email protected]>
2012-07-14sysfs: just use d_materialise_unique()Al Viro1-8/+1
same as for nfs et.al. Signed-off-by: Al Viro <[email protected]>
2012-07-14sysfs: switch to ->s_d_op and ->d_release()Al Viro3-10/+8
a) ->d_iput() is wrong here - what we do to inode is completely usual, it's dentry->d_fsdata that we want to drop. Just use ->d_release(). b) switch to ->s_d_op - no need to play with d_set_d_op() Signed-off-by: Al Viro <[email protected]>
2012-07-14get rid of kern_path_parent()Al Viro4-82/+65
all callers want the same thing, actually - a kinda-sorta analog of kern_path_create(). I.e. they want parent vfsmount/dentry (with ->i_mutex held, to make sure the child dentry is still their child) + the child dentry. Signed-off-by Al Viro <[email protected]>
2012-07-14VFS: Fix the banner comment on lookup_open()David Howells1-3/+26
Since commit 197e37d9, the banner comment on lookup_open() no longer matches what the function returns. It used to return a struct file pointer or NULL and now it returns an integer and is passed the struct file pointer it is to use amongst its arguments. Update the comment to reflect this. Also add a banner comment to atomic_open(). Signed-off-by: David Howells <[email protected]> Signed-off-by: Al Viro <[email protected]>
2012-07-14don't pass nameidata * to vfs_create()Al Viro6-10/+11
all we want is a boolean flag, same as the method gets now Signed-off-by: Al Viro <[email protected]>
2012-07-14don't pass nameidata to ->create()Al Viro51-64/+62
boolean "does it have to be exclusive?" flag is passed instead; Local filesystem should just ignore it - the object is guaranteed not to be there yet. Signed-off-by: Al Viro <[email protected]>
2012-07-14fs/namei.c: don't pass nameidata to __lookup_hash() and lookup_real()Al Viro1-10/+10
Signed-off-by: Al Viro <[email protected]>
2012-07-14stop passing nameidata to ->lookup()Al Viro79-114/+115
Just the flags; only NFS cares even about that, but there are legitimate uses for such argument. And getting rid of that completely would require splitting ->lookup() into a couple of methods (at least), so let's leave that alone for now... Signed-off-by: Al Viro <[email protected]>
2012-07-14fs/namei.c: don't pass namedata to lookup_dcache()Al Viro1-4/+4
just the flags... Signed-off-by: Al Viro <[email protected]>
2012-07-14fs/namei.c: don't pass nameidata to d_revalidate()Al Viro1-6/+6
since the method wrapped by it doesn't need that anymore... Signed-off-by: Al Viro <[email protected]>
2012-07-14stop passing nameidata * to ->d_revalidate()Al Viro25-84/+74
Just the lookup flags. Die, bastard, die... Signed-off-by: Al Viro <[email protected]>
2012-07-14fs/nfs/dir.c: switch to passing nd->flags instead of nd wherever possibleAl Viro1-32/+19
Signed-off-by: Al Viro <[email protected]>
2012-07-14nfs_lookup_verify_inode() - nd is *always* non-NULL hereAl Viro1-13/+10
Signed-off-by: Al Viro <[email protected]>
2012-07-14switch nfs_lookup_check_intent() away from nameidataAl Viro1-5/+5
just pass the flags Signed-off-by: Al Viro <[email protected]>