summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* net/compat: convert to COMPAT_SYSCALL_DEFINE with changing parameter typesHeiko Carstens2014-03-062-6/+6
| | | | | | | | In order to allow the COMPAT_SYSCALL_DEFINE macro generate code that performs proper zero and sign extension convert all 64 bit parameters to their corresponding 32 bit compat counterparts. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
* ipc/compat: convert to COMPAT_SYSCALL_DEFINE with changing parameter typesHeiko Carstens2014-03-062-10/+10
| | | | | | | | In order to allow the COMPAT_SYSCALL_DEFINE macro generate code that performs proper zero and sign extension convert all 64 bit parameters to their corresponding 32 bit compat counterparts. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
* fs/compat: convert to COMPAT_SYSCALL_DEFINE with changing parameter typesHeiko Carstens2014-03-064-37/+31
| | | | | | | | | | | | | | | | | | | | | Some fs compat system calls have unsigned long parameters instead of compat_ulong_t. In order to allow the COMPAT_SYSCALL_DEFINE macro generate code that performs proper zero and sign extension convert all 64 bit parameters their corresponding 32 bit counterparts. compat_sys_io_getevents() is a bit different: the non-compat version has signed parameters for the "min_nr" and "nr" parameters while the compat version has unsigned parameters. So change this as well. For all practical purposes this shouldn't make any difference (doesn't fix a real bug). Also introduce a generic compat_aio_context_t type which can be used everywhere. The access_ok() check within compat_sys_io_getevents() got also removed since the non-compat sys_io_getevents() should be able to handle everything anyway. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
* ipc/compat: convert to COMPAT_SYSCALL_DEFINEHeiko Carstens2014-03-062-12/+13
| | | | | | | | | | Convert all compat system call functions where all parameter types have a size of four or less than four bytes, or are pointer types to COMPAT_SYSCALL_DEFINE. The implicit casts within COMPAT_SYSCALL_DEFINE will perform proper zero and sign extension to 64 bit of all parameters if needed. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
* fs/compat: convert to COMPAT_SYSCALL_DEFINEHeiko Carstens2014-03-062-40/+39
| | | | | | | | | | Convert all compat system call functions where all parameter types have a size of four or less than four bytes, or are pointer types to COMPAT_SYSCALL_DEFINE. The implicit casts within COMPAT_SYSCALL_DEFINE will perform proper zero and sign extension to 64 bit of all parameters if needed. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
* security/compat: convert to COMPAT_SYSCALL_DEFINEHeiko Carstens2014-03-061-2/+2
| | | | | | | | | | Convert all compat system call functions where all parameter types have a size of four or less than four bytes, or are pointer types to COMPAT_SYSCALL_DEFINE. The implicit casts within COMPAT_SYSCALL_DEFINE will perform proper zero and sign extension to 64 bit of all parameters if needed. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
* mm/compat: convert to COMPAT_SYSCALL_DEFINEHeiko Carstens2014-03-061-9/+9
| | | | | | | | | | Convert all compat system call functions where all parameter types have a size of four or less than four bytes, or are pointer types to COMPAT_SYSCALL_DEFINE. The implicit casts within COMPAT_SYSCALL_DEFINE will perform proper zero and sign extension to 64 bit of all parameters if needed. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
* net/compat: convert to COMPAT_SYSCALL_DEFINEHeiko Carstens2014-03-061-12/+12
| | | | | | | | | | Convert all compat system call functions where all parameter types have a size of four or less than four bytes, or are pointer types to COMPAT_SYSCALL_DEFINE. The implicit casts within COMPAT_SYSCALL_DEFINE will perform proper zero and sign extension to 64 bit of all parameters if needed. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
* kernel/compat: convert to COMPAT_SYSCALL_DEFINEHeiko Carstens2014-03-062-47/+47
| | | | | | | | | | Convert all compat system call functions where all parameter types have a size of four or less than four bytes, or are pointer types to COMPAT_SYSCALL_DEFINE. The implicit casts within COMPAT_SYSCALL_DEFINE will perform proper zero and sign extension to 64 bit of all parameters if needed. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
* fs/compat: optional preadv64/pwrite64 compat system callsHeiko Carstens2014-03-063-8/+43
| | | | | | | | | | | | The preadv64/pwrite64 have been implemented for the x32 ABI, in order to allow passing 64 bit arguments from user space without splitting them into two 32 bit parameters, like it would be necessary for usual compat tasks. Howevert these two system calls are only being used for the x32 ABI, so add __ARCH_WANT_COMPAT defines for these two compat syscalls and make these two only visible for x86. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
* ipc/compat_sys_msgrcv: change msgtyp type from long to compat_long_tHeiko Carstens2014-03-062-3/+3
| | | | | | | | | | Change the type of compat_sys_msgrcv's msgtyp parameter from long to compat_long_t, since compat user space passes only a 32 bit signed value. Let the compat wrapper do proper sign extension to 64 bit of this parameter. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
* s390/compat: partial parameter conversion within syscall wrappersHeiko Carstens2014-03-041-2/+17
| | | | | | | | | | | | | | Parameter conversion within the system call wrappers is only needed for parameters which differ in size and have a size of eight bytes on 64 bit. For system call parameters with a size of less than eight byte the called system call itself will perform parameter conversion anyway. So we can save the double conversion of e.g. int parameters. The only types which need to be converted are therefore pointer and (unsigned) long parameters. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
* s390/compat: automatic zero, sign and pointer conversion of syscallsHeiko Carstens2014-03-042-59/+77
| | | | | | | | | | | | | | | | Instead of explicitly changing compat system call parameters from e.g. unsigned long to compat_ulong_t let the COMPAT_SYSCALL_WRAP macros automatically detect (unsigned) long parameters and zero and sign extend them automatically. The resulting binary is completely identical. In addition add a sys_[system call name] prototype for each system call wrapper. This will cause compile errors if the prototype does not match the prototype in include/linux/syscall.h. Therefore we should now always get the correct zero and sign extension of system call parameters. Pointers are handled like before. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
* s390/compat: add sync_file_range and fallocate compat syscallsHeiko Carstens2014-03-044-20/+19
| | | | | | | | | | The compat syscall wrappers for sync_file_range and fallocate merged 32 bit parameters into 64 bit parameters. Therefore they did more than just the usual zero and/or sign extension of system call parameters. So convert these two wrappers to full s390 specific compat sytem calls. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
* s390/compat: convert system call wrappers to C part 15Heiko Carstens2014-03-044-86/+25
| | | | Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
* s390/compat: convert system call wrappers to C part 14Heiko Carstens2014-03-043-60/+20
| | | | Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
* s390/compat: convert system call wrappers to C part 13Heiko Carstens2014-03-043-77/+20
| | | | Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
* s390/compat: convert system call wrappers to C part 12Heiko Carstens2014-03-043-76/+20
| | | | Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
* s390/compat: convert system call wrappers to C part 11Heiko Carstens2014-03-044-58/+21
| | | | Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
* s390/compat: convert system call wrappers to C part 10Heiko Carstens2014-03-043-70/+20
| | | | Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
* s390/compat: convert system call wrappers to C part 09Heiko Carstens2014-03-043-67/+20
| | | | Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
* s390/compat: convert system call wrappers to C part 08Heiko Carstens2014-03-043-66/+20
| | | | Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
* s390/compat: convert system call wrappers to C part 07Heiko Carstens2014-03-043-76/+20
| | | | Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
* s390/compat: convert system call wrappers to C part 06Heiko Carstens2014-03-043-61/+20
| | | | Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
* s390/compat: convert system call wrappers to C part 05Heiko Carstens2014-03-044-65/+23
| | | | Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
* s390/compat: convert system call wrappers to C part 04Heiko Carstens2014-03-043-67/+20
| | | | Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
* s390/compat: convert system call wrappers to C part 03Heiko Carstens2014-03-043-65/+20
| | | | Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
* s390/compat: convert system call wrappers to C part 02Heiko Carstens2014-03-043-55/+20
| | | | Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
* s390/compat: convert system call wrappers to C part 01Heiko Carstens2014-03-044-68/+48
| | | | | | | | | | | | | | | Introduce a new compat_wrap.c file which contains the s390 specific compat system call wrappers. The s390 specific system call wrappers only perform sign, zero and pointer conversion of system call arguments before actually calling the non-compat system call. Therefore introduce COMPAT_SYSCALL_WRAPx macros which generate C code that is nearly identical to the assembly code. This has the advantage that the compile will generate correct code, and we avoid the frequent copy-paste errors seen in the compat_wrapper.S file. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
* s390/compat: convert to COMPAT_SYSCALL_DEFINEx part 7Heiko Carstens2014-03-044-42/+13
| | | | Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
* s390/compat: convert to COMPAT_SYSCALL_DEFINEx part 6Heiko Carstens2014-03-044-43/+16
| | | | Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
* s390/compat: convert to COMPAT_SYSCALL_DEFINEx part 5Heiko Carstens2014-03-044-60/+21
| | | | Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
* s390/compat: convert to COMPAT_SYSCALL_DEFINEx part 4Heiko Carstens2014-03-044-34/+16
| | | | Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
* s390/compat: convert to COMPAT_SYSCALL_DEFINEx part 3Heiko Carstens2014-03-044-39/+16
| | | | Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
* s390/compat: convert to COMPAT_SYSCALL_DEFINEx part 2Heiko Carstens2014-03-044-44/+18
| | | | Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
* s390/compat: convert to COMPAT_SYSCALL_DEFINEx part 1Heiko Carstens2014-03-044-42/+17
| | | | | | | Convert s390 specific system calls to to the new COMPAT_SYSCALL_DEFINE macro. This allows us to get rid of the assembly compat wrappers. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
* compat: add COMPAT_SYSCALL_DEFINE0 macroHeiko Carstens2014-03-041-0/+3
| | | | | | | For consistency reason add a COMPAT_SYSCALL_DEFINE0 macro. This macro should be used for compat system calls with zero parameters. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
* compat: let architectures define __ARCH_WANT_COMPAT_SYS_GETDENTS64Heiko Carstens2014-03-046-3/+7
| | | | | | | | | | | | | | | | | | | For architecture dependent compat syscalls in common code an architecture must define something like __ARCH_WANT_<WHATEVER> if it wants to use the code. This however is not true for compat_sys_getdents64 for which architectures must define __ARCH_OMIT_COMPAT_SYS_GETDENTS64 if they do not want the code. This leads to the situation where all architectures, except mips, get the compat code but only x86_64, arm64 and the generic syscall architectures actually use it. So invert the logic, so that architectures actively must do something to get the compat code. This way a couple of architectures get rid of otherwise dead code. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
* Linux 3.14-rc5v3.14-rc5Linus Torvalds2014-03-021-1/+1
|
* Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linuxLinus Torvalds2014-03-0219-63/+118
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Pull drm fixes from Dave Airlie: "Not a huge amount happening, some MAINTAINERS updates, radeon, vmwgfx and tegra fixes" * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: drm/vmwgfx: avoid null pointer dereference at failure paths drm/vmwgfx: Make sure backing mobs are cleared when allocated. Update driver date. drm/vmwgfx: Remove some unused surface formats drm/radeon: enable speaker allocation setup on dce3.2 drm/radeon: change audio enable logic drm/radeon: fix audio disable on dce6+ drm/radeon: free uvd ring on unload drm/radeon: disable pll sharing for DP on DCE4.1 drm/radeon: fix missing bo reservation drm/radeon: print the supported atpx function mask MAINTAINERS: update drm git tree entry MAINTAINERS: add entry for drm radeon driver drm/tegra: Add guard to avoid double disable/enable of RGB outputs gpu: host1x: do not check previously handled gathers drm/tegra: fix typo 'CONFIG_TEGRA_DRM_FBDEV'
| * Merge branch 'drm-fixes-3.14' of git://people.freedesktop.org/~agd5f/linux ↵Dave Airlie2014-03-0311-35/+72
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into drm-fixes more radeon fixes * 'drm-fixes-3.14' of git://people.freedesktop.org/~agd5f/linux: drm/radeon: enable speaker allocation setup on dce3.2 drm/radeon: change audio enable logic drm/radeon: fix audio disable on dce6+ drm/radeon: free uvd ring on unload drm/radeon: disable pll sharing for DP on DCE4.1 drm/radeon: fix missing bo reservation drm/radeon: print the supported atpx function mask
| | * drm/radeon: enable speaker allocation setup on dce3.2Alex Deucher2014-02-271-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | Now that we disable audio while setting up the audio hw, we should be able to set this up without hangs. Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Reviewed-by: Christian König <christian.koenig@amd.com>
| | * drm/radeon: change audio enable logicAlex Deucher2014-02-275-27/+44
| | | | | | | | | | | | | | | | | | | | | | | | Disable audio around audio hw setup. This may avoid hangs on certain asics. Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Reviewed-by: Christian König <christian.koenig@amd.com>
| | * drm/radeon: fix audio disable on dce6+Alex Deucher2014-02-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Properly clear the enable bit when audio disable is requested. Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Reviewed-by: Christian König <christian.koenig@amd.com> Cc: stable@vger.kernel.org
| | * drm/radeon: free uvd ring on unloadJerome Glisse2014-02-273-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Need to free the uvd ring. Also reshuffle gart tear down to happen after uvd tear down. Signed-off-by: Jérôme Glisse <jglisse@redhat.com> Cc: stable@vger.kernel.org Reviewed-by: Christian König <christian.koenig@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
| | * drm/radeon: disable pll sharing for DP on DCE4.1Alex Deucher2014-02-271-1/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Causes display problems. We had already disabled sharing for non-DP displays. Based on a patch from: Niels Ole Salscheider <niels_ole@salscheider-online.de> bug: https://bugzilla.kernel.org/show_bug.cgi?id=58121 Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Cc: stable@vger.kernel.org
| | * drm/radeon: fix missing bo reservationChristian König2014-02-271-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | Otherwise we might get a crash here. Signed-off-by: Christian König <christian.koenig@amd.com> Cc: stable@vger.kernel.org Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
| | * drm/radeon: print the supported atpx function maskAlex Deucher2014-02-271-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Print the supported functions mask in addition to the version. This is useful in debugging PX problems since we can see what functions are available. Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Cc: stable@vger.kernel.org
| * | Merge tag 'vmwgfx-fixes-3.14-2014-03-02' of ↵Dave Airlie2014-03-024-25/+22
| |\ \ | | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://people.freedesktop.org/~thomash/linux into drm-fixes A couple of minor fixes. Pull request of 2014-03-02 * tag 'vmwgfx-fixes-3.14-2014-03-02' of git://people.freedesktop.org/~thomash/linux: drm/vmwgfx: avoid null pointer dereference at failure paths drm/vmwgfx: Make sure backing mobs are cleared when allocated. Update driver date. drm/vmwgfx: Remove some unused surface formats
| | * drm/vmwgfx: avoid null pointer dereference at failure pathsAlexey Khoroshilov2014-03-021-16/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | vmw_takedown_otable_base() and vmw_mob_unbind() check for potential vmw_fifo_reserve() failure and print error message, but then immediately dereference NULL pointer. Found by Linux Driver Verification project (linuxtesting.org). Signed-off-by: Alexey Khoroshilov <khoroshilov@ispras.ru> Reviewed-by: Thomas Hellstrom <thellstrom@vmware.com>
OpenPOWER on IntegriCloud