aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* i9305: enable rt2500usbreplicant-6.0-0004-rc3replicant-6.0-0004-rc2replicant-6.0-0004-rc1Joonas Kylmälä2019-12-111-1/+9
| | | | | | | | | | | Some compatible WiFi USB keys don't need the OS to load a nonfree firmware as it is stored and loaded automatically from a memory that is inside the USB key. Signed-off-by: Joonas Kylmälä <joonas.kylmala@iki.fi> GNUtoo@cyberdimension.org: Added more context in the commit message Acked-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org> Acked-by: Joonas Kylmälä <joonas.kylmala@iki.fi>
* rt2500: disable PS by defaultStanislaw Gruszka2019-12-112-0/+10
| | | | | | | | | It is know that PS cause issues on that old devices, disable it by default. Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com> Acked-by: Gertjan van Wingerde <gwingerde@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* Backport rt2x00 from linux 3.4.113Joonas Kylmälä2019-12-1121-640/+1720
| | | | | | | This fixes build errors caused by mac80211 backport that was done earlier. Signed-off-by: Joonas Kylmälä <joonas.kylmala@iki.fi>
* lineageos_n5110: Add support for USB Ethernet adapters and CDC EthernetDenis 'GNUtoo' Carikli2019-08-281-5/+31
| | | | Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
* lineageos_n5100: Add support for USB Ethernet adapters and CDC EthernetDenis 'GNUtoo' Carikli2019-08-281-5/+31
| | | | Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
* lineageos_n7100: Add support for USB Ethernet adapters and CDC EthernetDenis 'GNUtoo' Carikli2019-08-281-6/+32
| | | | Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
* lineageos_n7000: Add support for USB Ethernet adapters and CDC EthernetDenis 'GNUtoo' Carikli2019-08-281-6/+32
| | | | Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
* lineageos_i9305_defconfig: sync CDC Ethernet support with other devicesDenis 'GNUtoo' Carikli2019-08-021-1/+1
| | | | Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
* lineageos_i9305: Add support for USB Ethernet adaptersDenis 'GNUtoo' Carikli2019-08-021-9/+9
| | | | Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
* lineageos_i9300_defconfig: Add CDC Ethernet supportDenis 'GNUtoo' Carikli2019-08-021-4/+11
| | | | Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
* lineageos_i9300: Add support for USB Ethernet adaptersDenis 'GNUtoo' Carikli2019-08-021-6/+25
| | | | Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
* lineageos_i9100_defconfig: Add CDC Ethernet supportDenis 'GNUtoo' Carikli2019-08-021-4/+11
| | | | Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
* lineageos_i9100: Add support for USB Ethernet adaptersDenis 'GNUtoo' Carikli2019-08-021-6/+25
| | | | Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
* input: cypress touchkey: cypressbln: also remove unused firmware loading codeDenis 'GNUtoo' Carikli2019-07-2412-4744/+1
| | | | | | | | | | | Some of the files (issp_*) that are involved in the firmware loading have unclear licensing statements. Removing the problematic files and adapting the code to compile without them is easier and faster than getting legal advise to understand if the files are under a free software license or not. Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
* input: cypress touchkey: cleanups: remove unused TEST_JIG_MODEDenis 'GNUtoo' Carikli2019-07-242-272/+1
| | | | | | | | | | TEST_JIG_MODE is not defined anywhere, so we can safely remove that code. The define name suggest that it was probably used during manufacturing tests. Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
* input: cypress touchkey: remove unused firmware loading codeDenis 'GNUtoo' Carikli2019-07-2412-4777/+1
| | | | | | | | | | | | | | The firmware loading code is not used by any of the devices currently supported by Replicant. Some of the files (issp_*) that are involved in the firmware loading have unclear licensing statements. Removing the problematic files and adapting the code to compile without them is easier and faster than getting legal advise to understand if the files are under a free software license or not. Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
* input: cypress touchkey: remove unused binary firmware dataFil Bergamo2019-07-2418-10499/+4
| | | | | | | | | | | | | This removes some files that contain hex-encoded firmwares which lack their corresponding source code. They seem to only have been used during factory testing for the touch keys and they are are not needed during normal operation. Signed-off-by: Fil Bergamo <fil.bergamo@riseup.net> GNUtoo@cyberdimension.org: edited the commit message Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
* i9305: enable last_kmsg supportWolfgang Wiedmeyer2019-07-241-1/+1
| | | | Signed-off-by: Wolfgang Wiedmeyer <wolfgit@wiedmeyer.de>
* updated defconfigs for n5100 and n5110Wolfgang Wiedmeyer2019-07-242-88/+146
| | | | | | | | | Adds support for ath9k_htc. Mobicore and exdsp driver are disabled. Heap randomization should be enabled all the time. Use stack-protector mode and seccomp. Signed-off-by: Wolfgang Wiedmeyer <wolfgit@wiedmeyer.de>
* set bcmdhd nvram path to the firmware dirWolfgang Wiedmeyer2019-07-247-7/+7
| | | | Signed-off-by: Wolfgang Wiedmeyer <wolfgit@wiedmeyer.de>
* n7000 defconfigs: sync with i9100Wolfgang Wiedmeyer2019-07-242-62/+356
| | | | | | | | | Includes needed changes for Replicant 6.0 and enables f2fs support, ksm, some crypto-related enhancements and ath9k_htc. Heap randomization should be enabled all the time. Use stack-protector mode and seccomp. Signed-off-by: Wolfgang Wiedmeyer <wolfgit@wiedmeyer.de>
* bcmdhd wireless: Fix more off by one errors.Christian Neumüller2019-07-241-13/+13
| | | | | | | These were not detected by the stack protector, either because the functions where not called or because the corruption hits a local variable. Change-Id: I385c81b133ee09c28df56597df3fb25d9c063f43
* bcmdhd wireless: Fix off by one in initialization.Christian Neumüller2019-07-241-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | An sprintf in dhd_write_macaddr wrote a rogue null byte after the buffer. Found with CONFIG_CC_STACKPROTECTOR=y (idea of Lanchon at XDA Developers [1]). [1]: http://forum.xda-developers.com/showthread.php?p=55306602 Panic, on a Samsung Galaxy S2 i9100, was: <0>[ 26.412257] c1 Kernel panic - not syncing: stack-protector: Kernel stack is corrupted in: bf013a2c <0>[ 26.412315] c1 <4>[ 26.412334] c1 Backtrace: <4>[ 26.412382] c1 [<c064e5b8>] (dump_backtrace+0x0/0x10c) from [<c0b91e6c>] (dump_stack+0x18/0x1c) <4>[ 26.412439] c1 r6:e211e820 r5:c0ed4760 r4:c0f5c940 r3:271aed5c <4>[ 26.412496] c1 [<c0b91e54>] (dump_stack+0x0/0x1c) from [<c0b92204>] (panic+0x80/0x1ac) <4>[ 26.412561] c1 [<c0b92184>] (panic+0x0/0x1ac) from [<c0684be0>] (init_oops_id+0x0/0x58) <4>[ 26.412613] c1 r3:271aed5c r2:271aed00 r1:bf013a2c r0:c0cb8880 <4>[ 26.412663] c1 r7:e273bc32 <4>[ 26.412742] c1 [<c0684bc4>] (__stack_chk_fail+0x0/0x1c) from [<bf013a2c>] (dhd_write_macaddr+0x2e4/0x310 [dhd]) <4>[ 26.412864] c1 [<bf013748>] (dhd_write_macaddr+0x0/0x310 [dhd]) from [<bf01a554>] (dhd_bus_start+0x1a4/0x2e0 [dhd]) <4>[ 26.412985] c1 [<bf01a3b0>] (dhd_bus_start+0x0/0x2e0 [dhd]) from [<bf020558>] (dhdsdio_probe+0x4a4/0x72c [dhd]) <4>[ 26.413097] c1 [<bf0200b4>] (dhdsdio_probe+0x0/0x72c [dhd]) from [<bf00c0ec>] (bcmsdh_probe+0xf8/0x150 [dhd]) <4>[ 26.413206] c1 [<bf00bff4>] (bcmsdh_probe+0x0/0x150 [dhd]) from [<bf00e038>] (bcmsdh_sdmmc_probe+0x54/0xbc [dhd]) <4>[ 26.413304] c1 [<bf00dfe4>] (bcmsdh_sdmmc_probe+0x0/0xbc [dhd]) from [<c09a7fe8>] (sdio_bus_probe+0xfc/0x108) <4>[ 26.413368] c1 r5:e2d97000 r4:e2d97008 <4>[ 26.413414] c1 [<c09a7eec>] (sdio_bus_probe+0x0/0x108) from [<c0896764>] (driver_probe_device+0x94/0x1a8) <4>[ 26.413474] c1 r8:00000000 r7:bf067414 r6:e2d9703c r5:c0f6ddb8 r4:e2d97008 <4>[ 26.413531] c1 r3:c09a7eec <4>[ 26.413563] c1 [<c08966d0>] (driver_probe_device+0x0/0x1a8) from [<c089690c>] (__driver_attach+0x94/0x98) <4>[ 26.413624] c1 r7:e2e631e0 r6:e2d9703c r5:bf067414 r4:e2d97008 <4>[ 26.413683] c1 [<c0896878>] (__driver_attach+0x0/0x98) from [<c0895678>] (bus_for_each_dev+0x4c/0x94) <4>[ 26.413742] c1 r6:c0896878 r5:bf067414 r4:00000000 r3:c0896878 <4>[ 26.413799] c1 [<c089562c>] (bus_for_each_dev+0x0/0x94) from [<c0896428>] (driver_attach+0x24/0x28) <4>[ 26.413857] c1 r6:c0f02af0 r5:bf067414 r4:bf067414 <4>[ 26.413904] c1 [<c0896404>] (driver_attach+0x0/0x28) from [<c08960c8>] (bus_add_driver+0x180/0x250) <4>[ 26.413970] c1 [<c0895f48>] (bus_add_driver+0x0/0x250) from [<c0896e14>] (driver_register+0x80/0x150) <4>[ 26.414037] c1 [<c0896d94>] (driver_register+0x0/0x150) from [<c09a8128>] (sdio_register_driver+0x2c/0x30) <4>[ 26.414131] c1 [<c09a80fc>] (sdio_register_driver+0x0/0x30) from [<bf00e250>] (sdio_function_init+0x3c/0x8c [dhd]) <4>[ 26.414244] c1 [<bf00e214>] (sdio_function_init+0x0/0x8c [dhd]) from [<bf00c19c>] (bcmsdh_register+0x1c/0x24 [dhd]) <4>[ 26.414311] c1 r5:00000004 r4:bf06a3c4 <4>[ 26.414398] c1 [<bf00c180>] (bcmsdh_register+0x0/0x24 [dhd]) from [<bf027990>] (dhd_bus_register+0x24/0x48 [dhd]) <4>[ 26.414515] c1 [<bf02796c>] (dhd_bus_register+0x0/0x48 [dhd]) from [<bf07618c>] (init_module+0x18c/0x284 [dhd]) <4>[ 26.414610] c1 [<bf076000>] (init_module+0x0/0x284 [dhd]) from [<c06448f8>] (do_one_initcall+0x128/0x1a8) <4>[ 26.414683] c1 [<c06447d0>] (do_one_initcall+0x0/0x1a8) from [<c06b9710>] (sys_init_module+0xdf8/0x1b1c) <4>[ 26.414756] c1 [<c06b8918>] (sys_init_module+0x0/0x1b1c) from [<c064a8c0>] (ret_fast_syscall+0x0/0x30) <2>[ 26.414861] c0 CPU0: stopping <4>[ 26.414886] c0 Backtrace: <4>[ 26.414920] c0 [<c064e5b8>] (dump_backtrace+0x0/0x10c) from [<c0b91e6c>] (dump_stack+0x18/0x1c) <4>[ 26.414977] c0 r6:c0d54000 r5:c0eb5d08 r4:00000006 r3:271aed5c <4>[ 26.415039] c0 [<c0b91e54>] (dump_stack+0x0/0x1c) from [<c06444bc>] (do_IPI+0x258/0x29c) <4>[ 26.415102] c0 [<c0644264>] (do_IPI+0x0/0x29c) from [<c064a340>] (__irq_svc+0x80/0x130) <4>[ 26.415156] c0 Exception stack(0xc0d55ef0 to 0xc0d55f38) <4>[ 26.415197] c0 5ee0: 3b9ac9ff 540deacd 01c99e53 00072679 <4>[ 26.415258] c0 5f00: c0f5a468 00000000 c0d54000 00000000 c1b540a8 412fc091 00000000 c0d55f64 <4>[ 26.415317] c0 5f20: 540deacd c0d55f38 c06aa768 c065bd78 20000013 ffffffff <4>[ 26.415380] c0 [<c065bd3c>] (exynos4_enter_idle+0x0/0x174) from [<c099a890>] (cpuidle_idle_call+0xa4/0x120) <4>[ 26.415442] c0 r7:00000000 r6:00000001 r5:c0f815ac r4:c1b540b8 <4>[ 26.415498] c0 [<c099a7ec>] (cpuidle_idle_call+0x0/0x120) from [<c064bd40>] (cpu_idle+0xc4/0x100) <4>[ 26.415554] c0 r8:4000406a r7:c0ba09a8 r6:c0f59ec4 r5:c0ebd8c4 r4:c0d54000 <4>[ 26.415610] c0 r3:c099a7ec <4>[ 26.415641] c0 [<c064bc7c>] (cpu_idle+0x0/0x100) from [<c0b83238>] (rest_init+0x8c/0xa4) <4>[ 26.415694] c0 r7:c1b51180 r6:c0f59e00 r5:00000002 r4:c0d54000 <4>[ 26.415752] c0 [<c0b831ac>] (rest_init+0x0/0xa4) from [<c00089c4>] (start_kernel+0x2dc/0x330) <4>[ 26.415807] c0 r5:c063d944 r4:c0eb5d34 <4>[ 26.415845] c0 [<c00086e8>] (start_kernel+0x0/0x330) from [<40008044>] (0x40008044) Change-Id: Iaa907383e196fdf787ae4660977b58de79212de1
* config hardening for i9100, i9300, i9305 and n7100Wolfgang Wiedmeyer2019-07-244-12/+39
| | | | | | | Ensure that heap randomization is enabled all the time. Enable stack-protector mode and seccomp. Signed-off-by: Wolfgang Wiedmeyer <wolfgit@wiedmeyer.de>
* n7100: sync defconfig with i9300 and enable the updated sensor driversWolfgang Wiedmeyer2019-07-241-41/+26
| | | | | | enables f2fs support, ksm and some crypto-related enhancements Signed-off-by: Wolfgang Wiedmeyer <wolfgit@wiedmeyer.de>
* drivers/sensorhub: update from GT-N7100_KK_Opensource_Update1 source dropWolfgang Wiedmeyer2019-07-2449-1272/+10525
| | | | | | | | | | | | | | The import already includes the build fixes from this commit: commit 7055ffb Author: Dheeraj CVR <cvr.dheeraj@gmail.com> Date: 2014-12-22 12:55:48 +0530 drivers: sensorhub: fix compile Change-Id: Ice06c873e4f2fe50ccb1a4cac5ac761e4a872bd3 Signed-off-by: Wolfgang Wiedmeyer <wolfgit@wiedmeyer.de>
* n7100: regenerate defconfig with ath9k enabled and mobicore and extdsp disabledWolfgang Wiedmeyer2019-07-241-66/+155
| | | | Signed-off-by: Wolfgang Wiedmeyer <wolfgit@wiedmeyer.de>
* i9305: disable mobicore driverWolfgang Wiedmeyer2019-07-241-9/+2
| | | | | | Replicant does not cooperate with TrustZone. Signed-off-by: Wolfgang Wiedmeyer <wolfgit@wiedmeyer.de>
* i9305: enable ath9k_htc and disable samsung_extdisp driverWolfgang Wiedmeyer2019-07-241-160/+65
| | | | | | | | | | | | | The samsung_extdisp driver for GT-I9500 was affected by CVE-2015-1800 and CVE-2015-1801. The Galaxy S3 uses an older version of this driver and is at least affected by CVE-2015-1801. Newer kernel versions for the GT-I9500 had the driver completely removed. I also found no indication that the driver is actually needed for the S3, so let's disable it. vulnerability disclosure and further information: http://blog.quarkslab.com/kernel-vulnerabilities-in-the-samsung-s4.html Signed-off-by: Wolfgang Wiedmeyer <wolfgit@wiedmeyer.de>
* i9300: enable ath9k_htcWolfgang Wiedmeyer2019-07-241-4/+58
| | | | Signed-off-by: Wolfgang Wiedmeyer <wolfgit@wiedmeyer.de>
* net/wireless: add cfg80211_ref_bss() from 3.4 kernelWolfgang Wiedmeyer2019-07-241-0/+12
| | | | | | mac80211 needs this function. Signed-off-by: Wolfgang Wiedmeyer <wolfgit@wiedmeyer.de>
* i9100: enable ath9k_htcWolfgang Wiedmeyer2019-07-241-4/+88
| | | | Signed-off-by: Wolfgang Wiedmeyer <wolfgit@wiedmeyer.de>
* Backport ath from 3.4 kernelWolfgang Wiedmeyer2019-07-2484-7441/+17780
| | | | | | | net/wireless and mac80211 are already backported from a 3.4 kernel, so it makes sense to also get ath from 3.4 (3.4.113). Signed-off-by: Wolfgang Wiedmeyer <wolfgit@wiedmeyer.de>
* Backport mac80211 from 3.4 kernelWolfgang Wiedmeyer2019-07-2468-4755/+9491
| | | | | | | | | The ath9k_htc driver depends on mac80211, but mac80211 can't be build. The reason is that net/wireless is almost completely backported from a 3.4 kernel. To follow suit, mac80211 is also backported from 3.4, more precisely from 3.4.113. This makes mac80211 build. Signed-off-by: Wolfgang Wiedmeyer <wolfgit@wiedmeyer.de>
* i9100: update recovery defconfigWolfgang Wiedmeyer2019-07-241-30/+81
| | | | Signed-off-by: Wolfgang Wiedmeyer <wolfgit@wiedmeyer.de>
* mm: Disable optimization for function shrink_page_list()Wolfgang Wiedmeyer2019-07-241-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | GCC version 5.4.1+svn241155-1 in Debian Stretch has a bug that breaks the build. The error is attached. TODO: Gigure out the actual bug or revert patch if a newer GCC is available in Stretch. /home/wolfi/6.0-romsrc/kernel/samsung/smdk4412/mm/vmscan.c: In function 'shrink_page_list': /home/wolfi/6.0-romsrc/kernel/samsung/smdk4412/mm/vmscan.c:1019:1: error: insn does not satisfy its constraints: } ^ (insn 1111 1814 1112 116 (parallel [ (set (reg/v:SI 3 r3 [orig:111 nr_dirty ] [111]) (and:SI (ne:SI (reg/v:SI 3 r3 [orig:111 nr_dirty ] [111]) (const_int 0 [0])) (eq:SI (reg/v:SI 3 r3 [orig:111 nr_dirty ] [111]) (reg/v:SI 2 r2 [orig:112 nr_congested ] [112])))) (clobber (reg:CC 100 cc)) ]) /home/wolfi/6.0-romsrc/kernel/samsung/smdk4412/mm/vmscan.c:1011 256 {*and_scc_scc_nodom} (nil)) /home/wolfi/6.0-romsrc/kernel/samsung/smdk4412/mm/vmscan.c:1019:1: internal compiler error: in extract_constrain_insn, at recog.c:2246 /home/wolfi/6.0-romsrc/kernel/samsung/smdk4412/mm/vmscan.c:1019:1: internal compiler error: Segmentation fault arm-none-eabi-gcc: internal compiler error: Segmentation fault (program cc1) Signed-off-by: Wolfgang Wiedmeyer <wolfgit@wiedmeyer.de>
* kernel: add support for gcc 5Sasha Levin2019-07-241-0/+66
| | | | | | | | | | | | | | | | | commit 71458cfc782eafe4b27656e078d379a34e472adf upstream. We're missing include/linux/compiler-gcc5.h which is required now because gcc branched off to v5 in trunk. Just copy the relevant bits out of include/linux/compiler-gcc4.h, no new code is added as of now. This fixes a build error when using gcc 5. Signed-off-by: Sasha Levin <sasha.levin@oracle.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
* i9300: disable mobicoreWolfgang Wiedmeyer2019-07-241-9/+2
| | | | | | | | | A free user space implementation doesn't seem to exist and they are not needed otherwise also unset accessory as none of the drivers is set anyway Signed-off-by: Wolfgang Wiedmeyer <wolfgit@wiedmeyer.de> GNUtoo@cyberdimension.org: rebased Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
* S5C73M3: Boot from FROM when no firmware is availablePaul Kocialkowski2019-07-241-30/+16
| | | | Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
* S5C73M3: Avoid writing the firmware to the filesystemPaul Kocialkowski2019-07-241-15/+0
| | | | Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
* S5C73M3: System firmware loading correction using static memory arrayPaul Kocialkowski2019-07-241-13/+7
| | | | Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
* Standalone recovery kernel build for n7000Paul Kocialkowski2019-07-241-0/+3202
| | | | Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
* Standalone recovery kernel build for i9100Paul Kocialkowski2019-07-241-0/+3184
| | | | Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
* Replicant kernel releasePaul Kocialkowski2019-07-241-2/+3
| | | | Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
* Get rid of proprietary firmwares and related instructionsPaul Kocialkowski2019-07-24207-350642/+3
| | | | Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
* i9305: enable idletimerJUX842017-02-031-1/+1
| | | | Change-Id: If0fdabc3776d1aeb2bf19028ca8f16e85b6593e1
* smdk4412 : rebrandSimon Shields2017-01-2915-15/+15
| | | | Change-Id: I5ddf596d0db704dde58c2e57c49c3e7e1eb28014
* ALSA: pcm : Call kill_fasync() in stream lockTakashi Iwai2017-01-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | Currently kill_fasync() is called outside the stream lock in snd_pcm_period_elapsed(). This is potentially racy, since the stream may get released even during the irq handler is running. Although snd_pcm_release_substream() calls snd_pcm_drop(), this doesn't guarantee that the irq handler finishes, thus the kill_fasync() call outside the stream spin lock may be invoked after the substream is detached, as recently reported by KASAN. As a quick workaround, move kill_fasync() call inside the stream lock. The fasync is rarely used interface, so this shouldn't have a big impact from the performance POV. Ideally, we should implement some sync mechanism for the proper finish of stream and irq handler. But this oneliner should suffice for most cases, so far. Change-Id: I5dbc5260abe527261b4b8c4699400b317af8451e Reported-by: Baozeng Ding <sploving1@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* net: avoid signed overflows for SO_{SND|RCV}BUFFORCEEric Dumazet2017-01-081-2/+2
| | | | | | | | | | | | | | | | | | | CAP_NET_ADMIN users should not be allowed to set negative sk_sndbuf or sk_rcvbuf values, as it can lead to various memory corruptions, crashes, OOM... Note that before commit 82981930125a ("net: cleanups in sock_setsockopt()"), the bug was even more serious, since SO_SNDBUF and SO_RCVBUF were vulnerable. This needs to be backported to all known linux kernels. Again, many thanks to syzkaller team for discovering this gem. Change-Id: I7b3a4b234eee4e3b2b2766f4d61a44d92e76095d Signed-off-by: Eric Dumazet <edumazet@google.com> Reported-by: Andrey Konovalov <andreyknvl@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* net: cleanups in sock_setsockopt()Eric Dumazet2017-01-081-27/+15
| | | | | | | | | Use min_t()/max_t() macros, reformat two comments, use !!test_bit() to match !!sock_flag() Change-Id: Ie9ef0586af81908916e7df27ea3c4508982dc42c Signed-off-by: Eric Dumazet <edumazet@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>