From 6140b968a76407d5023a1a68bcd1958232b86bdd Mon Sep 17 00:00:00 2001 From: Inki Dae Date: Mon, 28 Nov 2016 14:17:24 +0900 Subject: [PATCH 01/16] config: tizen_tm1_defconfig: sync defconfig file This patch makes the defconfig file to sync with menuconfig Change-Id: Ied39f624f82fb800d2fabc5bf0825065b309202c Signed-off-by: Inki Dae --- arch/arm/configs/tizen_tm1_defconfig | 157 +++++++++++++++++++++++------------ 1 file changed, 105 insertions(+), 52 deletions(-) diff --git a/arch/arm/configs/tizen_tm1_defconfig b/arch/arm/configs/tizen_tm1_defconfig index ab57fa5..9b9bac9 100755 --- a/arch/arm/configs/tizen_tm1_defconfig +++ b/arch/arm/configs/tizen_tm1_defconfig @@ -1,3 +1,7 @@ +# +# Automatically generated file; DO NOT EDIT. +# Linux/arm 3.10.65 Kernel Configuration +# CONFIG_ARM=y CONFIG_ARM_HAS_SG_CHAIN=y CONFIG_SYS_SUPPORTS_APM_EMULATION=y @@ -42,9 +46,7 @@ CONFIG_SYSVIPC_SYSCTL=y # CONFIG_POSIX_MQUEUE is not set CONFIG_FHANDLE=y CONFIG_AUDIT=y -# CONFIG_AUDITSYSCALL=y -# CONFIG_AUDIT_WATCH=y -# CONFIG_AUDIT_TREE=y +# CONFIG_AUDITSYSCALL is not set # CONFIG_AUDIT_LOGINUID_IMMUTABLE is not set CONFIG_HAVE_GENERIC_HARDIRQS=y @@ -109,6 +111,7 @@ CONFIG_MEMCG=y CONFIG_MEMCG_SWAP=y CONFIG_MEMCG_SWAP_ENABLED=y # CONFIG_MEMCG_KMEM is not set +# CONFIG_CGROUP_PERF is not set CONFIG_CGROUP_SCHED=y CONFIG_FAIR_GROUP_SCHED=y CONFIG_CFS_BANDWIDTH=y @@ -191,6 +194,7 @@ CONFIG_GENERIC_IDLE_POLL_SETUP=y CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y CONFIG_HAVE_CLK=y CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_HW_BREAKPOINT=y CONFIG_HAVE_ARCH_JUMP_LABEL=y CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y CONFIG_HAVE_ARCH_SECCOMP_FILTER=y @@ -481,6 +485,9 @@ CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 CONFIG_CROSS_MEMORY_ATTACH=y # CONFIG_CLEANCACHE is not set # CONFIG_FRONTSWAP is not set +CONFIG_ZSMALLOC=y +CONFIG_PGTABLE_MAPPING=y +# CONFIG_ZSMALLOC_STAT is not set CONFIG_CMA=y # CONFIG_CMA_DEBUG is not set CONFIG_SHRINK_MEMORY=y @@ -539,9 +546,7 @@ CONFIG_CPU_FREQ_GOV_INTERACTIVE=y CONFIG_CPU_FREQ_GOV_SPRDEMAND=y # CONFIG_DVFS_ONLY is not set # CONFIG_SPRD_CPUFREQ_DT_DRIVER is not set -# CONFIG_GENERIC_CPUFREQ_CPU0 is not set # CONFIG_SCX35_1300MHZ is not set -CONFIG_CLK_MON=y # # ARM CPU frequency scaling drivers @@ -549,7 +554,6 @@ CONFIG_CLK_MON=y # CONFIG_ARM_EXYNOS4210_CPUFREQ is not set # CONFIG_ARM_EXYNOS4X12_CPUFREQ is not set # CONFIG_ARM_EXYNOS5250_CPUFREQ is not set -# CONFIG_ARM_EXYNOS5440_CPUFREQ is not set # CONFIG_ARM_KIRKWOOD_CPUFREQ is not set CONFIG_CPU_IDLE=y # CONFIG_CPU_IDLE_MULTIPLE_DRIVERS is not set @@ -584,13 +588,8 @@ CONFIG_COREDUMP=y # CONFIG_SUSPEND=y CONFIG_SUSPEND_FREEZER=y -# CONFIG_HAS_WAKELOCK=y -# CONFIG_HAS_EARLYSUSPEND=y -# CONFIG_WAKELOCK=y -# CONFIG_WAKELOCK_STAT=y +# CONFIG_WAKELOCK is not set CONFIG_USER_WAKELOCK=y -# CONFIG_EARLYSUSPEND=y -# CONFIG_FB_EARLYSUSPEND=y CONFIG_PM_SLEEP=y CONFIG_PM_SLEEP_SMP=y CONFIG_PM_AUTOSLEEP=y @@ -598,8 +597,6 @@ CONFIG_PM_RUNTIME=y CONFIG_PM=y # CONFIG_PM_DEBUG is not set # CONFIG_APM_EMULATION is not set -CONFIG_ARCH_HAS_OPP=y -CONFIG_PM_OPP=y CONFIG_PM_CLK=y # CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set CONFIG_CPU_PM=y @@ -771,10 +768,10 @@ CONFIG_NETFILTER_XT_TARGET_TRACE=y # # CONFIG_NETFILTER_XT_MATCH_ADDRTYPE is not set # CONFIG_NETFILTER_XT_MATCH_BPF is not set +CONFIG_NETFILTER_XT_MATCH_CGROUP=y # CONFIG_NETFILTER_XT_MATCH_CLUSTER is not set CONFIG_NETFILTER_XT_MATCH_COMMENT=y # CONFIG_NETFILTER_XT_MATCH_CONNBYTES is not set -CONFIG_NETFILTER_XT_MATCH_CGROUP=y # CONFIG_NETFILTER_XT_MATCH_CONNLABEL is not set CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=y CONFIG_NETFILTER_XT_MATCH_CONNMARK=y @@ -970,17 +967,21 @@ CONFIG_BQL=y # Network testing # # CONFIG_NET_PKTGEN is not set +# CONFIG_NET_DROP_MONITOR is not set # CONFIG_HAMRADIO is not set # CONFIG_CAN is not set # CONFIG_IRDA is not set CONFIG_BT=y +CONFIG_BT_BREDR=y CONFIG_BT_RFCOMM=y # CONFIG_BT_RFCOMM_TTY is not set CONFIG_BT_BNEP=y CONFIG_BT_BNEP_MC_FILTER=y CONFIG_BT_BNEP_PROTO_FILTER=y CONFIG_BT_HIDP=y +CONFIG_BT_LE=y # CONFIG_BT_SELFTEST is not set + # # Bluetooth device drivers # @@ -1068,6 +1069,7 @@ CONFIG_BATTERY_SWELLING=y # CONFIG_SAMSUNG_LPM_MODE is not set # CONFIG_SAMSUNG_BATTERY_ENG_TEST is not set # CONFIG_STBC_SAMSUNG is not set +CONFIG_SEC_BATTERY_PM_NOTIFY=y # CONFIG_FUELGAUGE_MFD is not set # CONFIG_FUELGAUGE_DUMMY is not set # CONFIG_FUELGAUGE_ADC is not set @@ -1097,7 +1099,6 @@ CONFIG_CHARGER_SM5701=y # CONFIG_CHARGER_SM5418 is not set CONFIG_FUELGAUGE_SPRD4SAMSUNG27X3=y # CONFIG_CHARGER_SPRD4SAMSUNG27X3 is not set -CONFIG_SEC_BATTERY_PM_NOTIFY=y # # Bus devices @@ -1123,6 +1124,9 @@ CONFIG_OF_NET=y CONFIG_OF_MDIO=y # CONFIG_PARPORT is not set CONFIG_BLK_DEV=y +CONFIG_ZRAM=y +CONFIG_ZRAM_LZ4_COMPRESS=y +# CONFIG_ZRAM_DEBUG is not set # CONFIG_BLK_DEV_COW_COMMON is not set CONFIG_BLK_DEV_LOOP=y CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 @@ -1186,6 +1190,7 @@ CONFIG_SPRD_CPROC=y # CONFIG_CGX is not set # CONFIG_SR2351_FM is not set # CONFIG_FM_SEEK_STEP_50KHZ is not set +CONFIG_CLK_MON=y # CONFIG_C2PORT is not set # @@ -1217,6 +1222,8 @@ CONFIG_SPRD_CPROC=y # CONFIG_SDIODEV=y # CONFIG_SDIODEV_TEST is not set +# CONFIG_MARLIN_CALI_READY_94 is not set +# CONFIG_MARLIN_CALI_READY_131 is not set # # MARLIN DEBUG modules @@ -1228,7 +1235,6 @@ CONFIG_SPRD_WCN=y CONFIG_SPRD_DOWNLOAD_IMG=y CONFIG_SPRD_DOWNLOAD_POWER_CTL=y # CONFIG_SPRD_HWCONFIG_CHECK is not set -# CONFIG_SLP_GLOBAL_LOCK is not set CONFIG_TIZEN_GLOBAL_LOCK=y # @@ -1435,11 +1441,8 @@ CONFIG_WLAN=y # CONFIG_BCM43241 is not set # CONFIG_BCM43455 is not set # CONFIG_BCM4334W is not set -# CONFIG_BCMDHD_FW_PATH="/system/etc/firmware/fw_bcmdhd.bin" -# CONFIG_BCMDHD_NVRAM_PATH="/system/etc/wifi/bcmdhd.cal" -# CONFIG_BROADCOM_WIFI_RESERVED_MEM is not set -# CONFIG_WIFI_BROADCOM_COB is not set -# CONFIG_WLAN_REGION_CODE=300 +CONFIG_BCMDHD_FW_PATH="/system/etc/firmware/fw_bcmdhd.bin" +CONFIG_BCMDHD_NVRAM_PATH="/system/etc/wifi/bcmdhd.cal" # CONFIG_BRCMFMAC is not set # CONFIG_HOSTAP is not set # CONFIG_LIBERTAS is not set @@ -1472,7 +1475,6 @@ CONFIG_INPUT_EVDEV=y # CONFIG_INPUT_EVBUG is not set # CONFIG_INPUT_KEYRESET is not set # CONFIG_INPUT_KEYCOMBO is not set -CONFIG_INPUT_SECBRIDGE=y # # Input Device Drivers @@ -1505,6 +1507,28 @@ CONFIG_KEYBOARD_SPRD_EIC=y CONFIG_KEYBOARD_CORERIVER_TOUCHKEY=y # CONFIG_INPUT_MOUSE is not set CONFIG_INPUT_JOYSTICK=y +# CONFIG_JOYSTICK_ANALOG is not set +# CONFIG_JOYSTICK_A3D is not set +# CONFIG_JOYSTICK_ADI is not set +# CONFIG_JOYSTICK_COBRA is not set +# CONFIG_JOYSTICK_GF2K is not set +# CONFIG_JOYSTICK_GRIP is not set +# CONFIG_JOYSTICK_GRIP_MP is not set +# CONFIG_JOYSTICK_GUILLEMOT is not set +# CONFIG_JOYSTICK_INTERACT is not set +# CONFIG_JOYSTICK_SIDEWINDER is not set +# CONFIG_JOYSTICK_TMDC is not set +# CONFIG_JOYSTICK_IFORCE is not set +# CONFIG_JOYSTICK_WARRIOR is not set +# CONFIG_JOYSTICK_MAGELLAN is not set +# CONFIG_JOYSTICK_SPACEORB is not set +# CONFIG_JOYSTICK_SPACEBALL is not set +# CONFIG_JOYSTICK_STINGER is not set +# CONFIG_JOYSTICK_TWIDJOY is not set +# CONFIG_JOYSTICK_ZHENHUA is not set +# CONFIG_JOYSTICK_AS5011 is not set +# CONFIG_JOYSTICK_JOYDUMP is not set +# CONFIG_JOYSTICK_XPAD is not set # CONFIG_INPUT_TABLET is not set CONFIG_INPUT_TOUCHSCREEN=y # CONFIG_TOUCHSCREEN_ADS7846 is not set @@ -1586,6 +1610,7 @@ CONFIG_INPUT_HEADSET_SPRD_SC2723=y CONFIG_FF_REGULATOR_HAPTIC=y # CONFIG_INPUT_EPL2182_I2C is not set # CONFIG_INPUT_EPL259X_I2C is not set +CONFIG_INPUT_SECBRIDGE=y # # Hardware I/O ports @@ -2023,9 +2048,13 @@ CONFIG_RADIO_ADAPTERS=y # BCM4343S FM driver (V4L2 based) # # CONFIG_RADIO_BCM4343S is not set -# CONFIG_CYPRESS_FIRMWARE is not set +# +# SC2331 FM driver (V4L2 based) +# CONFIG_RADIO_SC2331=y +# CONFIG_CYPRESS_FIRMWARE is not set + # # Media ancillary drivers (tuners, sensors, i2c, frontends) # @@ -2100,8 +2129,8 @@ CONFIG_DRM_SPRD=y # CONFIG_DRM_SPRD_DMABUF is not set CONFIG_DRM_SPRD_IPP=y CONFIG_DRM_SPRD_GSP=y -CONFIG_SPRD_IOMMU=y CONFIG_DRM_DPMS_IOCTL=y +CONFIG_SPRD_IOMMU=y # # ARM GPU Configuration @@ -2158,7 +2187,6 @@ CONFIG_FB_CFB_IMAGEBLIT=y # CONFIG_FB_SIMPLE is not set CONFIG_FB_SCX30G=y CONFIG_SPRD_FB_SIZE=6 -CONFIG_SPRDFB_MDNIE_LITE_TUNING=y # CONFIG_FB_LCD_HX8369B_MIPI_COREPRIMELITE is not set # CONFIG_FB_LCD_SD7798D_MIPI_COREPRIMELITE is not set # CONFIG_FB_LCD_HX8369B_MIPI_SHARKLS_Z3LTE is not set @@ -2201,6 +2229,7 @@ CONFIG_FB_VSYNC_SUPPORT=y # CONFIG_FB_LOW_RES_SIMU is not set CONFIG_FB_TRIPLE_FRAMEBUFFER=y # CONFIG_FB_DEBUG_LCD_TUNING is not set +CONFIG_SPRDFB_MDNIE_LITE_TUNING=y # CONFIG_EXYNOS_VIDEO is not set CONFIG_BACKLIGHT_LCD_SUPPORT=y CONFIG_LCD_CLASS_DEVICE=y @@ -2246,6 +2275,7 @@ CONFIG_SOUND=y CONFIG_SND=y CONFIG_SND_TIMER=y CONFIG_SND_PCM=y +CONFIG_SND_RAWMIDI=y CONFIG_SND_COMPRESS_OFFLOAD=y CONFIG_SND_JACK=y # CONFIG_SND_SEQUENCER is not set @@ -2313,9 +2343,9 @@ CONFIG_SND_SOC_SPRD_I2S=y # SPRD Codec # # CONFIG_SND_SOC_SPRD_USE_EAR_JACK_TYPE13 is not set -CONFIG_SND_SOC_SPRD_USE_INTERNAL_DETECT=y CONFIG_SND_SOC_SPRD_CODEC_V4=y CONFIG_SND_SOC_SPRD_AUDIO_USE_INTER_HP_PA_V4=y +CONFIG_SND_SOC_SPRD_USE_INTERNAL_DETECT=y # CONFIG_SND_SOC_SPRD_CODEC_EAR_WITH_IN_SPK is not set CONFIG_SND_SOC_SPRD_CODEC_NO_HP_POP=y CONFIG_SND_SOC_SPRD_HP_POP_DELAY_TIME=0 @@ -2341,6 +2371,8 @@ CONFIG_HID_A4TECH=y CONFIG_HID_ACRUX=y # CONFIG_HID_ACRUX_FF is not set CONFIG_HID_APPLE=y +# CONFIG_HID_APPLEIR is not set +# CONFIG_HID_AUREAL is not set CONFIG_HID_BELKIN=y CONFIG_HID_CHERRY=y CONFIG_HID_CHICONY=y @@ -2351,19 +2383,23 @@ CONFIG_HID_DRAGONRISE=y CONFIG_HID_EMS_FF=y CONFIG_HID_ELECOM=y CONFIG_HID_EZKEY=y +# CONFIG_HID_HOLTEK is not set CONFIG_HID_KEYTOUCH=y CONFIG_HID_KYE=y CONFIG_HID_UCLOGIC=y CONFIG_HID_WALTOP=y CONFIG_HID_GYRATION=y +# CONFIG_HID_ICADE is not set CONFIG_HID_TWINHAN=y CONFIG_HID_KENSINGTON=y CONFIG_HID_LCPOWER=y +# CONFIG_HID_LENOVO_TPKBD is not set CONFIG_HID_LOGITECH=y +# CONFIG_HID_LOGITECH_DJ is not set # CONFIG_LOGITECH_FF is not set # CONFIG_LOGIRUMBLEPAD2_FF is not set # CONFIG_LOGIG940_FF is not set -# CONFIG_LOGIWII_FF is not set +# CONFIG_LOGIWHEELS_FF is not set CONFIG_HID_MAGICMOUSE=y CONFIG_HID_MICROSOFT=y CONFIG_HID_MONTEREY=y @@ -2378,30 +2414,35 @@ CONFIG_HID_PICOLCD=y # CONFIG_HID_PICOLCD_BACKLIGHT is not set # CONFIG_HID_PICOLCD_LCD is not set # CONFIG_HID_PICOLCD_LEDS is not set -CONFIG_HID_QUANTA=y +# CONFIG_HID_PRIMAX is not set +# CONFIG_HID_PS3REMOTE is not set CONFIG_HID_ROCCAT=y -CONFIG_HID_ROCCAT_COMMON=y -CONFIG_HID_ROCCAT_ARVO=y -CONFIG_HID_ROCCAT_KONE=y -CONFIG_HID_ROCCAT_KONEPLUS=y -CONFIG_HID_ROCCAT_KOVAPLUS=y -CONFIG_HID_ROCCAT_PYRA=y +# CONFIG_HID_SAITEK is not set CONFIG_HID_SAMSUNG=y CONFIG_HID_SONY=y +# CONFIG_HID_SPEEDLINK is not set +# CONFIG_HID_STEELSERIES is not set CONFIG_HID_SUNPLUS=y CONFIG_HID_GREENASIA=y # CONFIG_GREENASIA_FF is not set CONFIG_HID_SMARTJOYPLUS=y # CONFIG_SMARTJOYPLUS_FF is not set +# CONFIG_HID_TIVO is not set CONFIG_HID_TOPSEED=y +# CONFIG_HID_THINGM is not set CONFIG_HID_THRUSTMASTER=y # CONFIG_THRUSTMASTER_FF is not set CONFIG_HID_WACOM=y -CONFIG_HID_WACOM_POWER_SUPPLY=y +# CONFIG_HID_WIIMOTE is not set CONFIG_HID_ZEROPLUS=y +# CONFIG_ZEROPLUS_FF is not set +# CONFIG_HID_ZYDACRON is not set +# CONFIG_HID_SENSOR_HUB is not set + # # USB HID support # +CONFIG_USB_HID=y # CONFIG_HID_PID is not set # CONFIG_USB_HIDDEV is not set @@ -2479,6 +2520,16 @@ CONFIG_USB_STORAGE_ENE_UB6250=y # # CONFIG_USB_MDC800 is not set # CONFIG_USB_MICROTEK is not set + +# +# USB Notify features +# +CONFIG_USB_NOTIFY_LAYER=y +CONFIG_USB_HOST_NOTIFY=y +CONFIG_USB_NOTIFIER=y +# CONFIG_USB_DEBUG_DETAILED_LOG is not set +# CONFIG_USB_STORAGE_DETECT is not set +CONFIG_USB_EXTERNAL_DETECT=y # CONFIG_USB_DWC3 is not set # CONFIG_USB_CHIPIDEA is not set @@ -2544,10 +2595,6 @@ CONFIG_USB_U_SERIAL_SELECTOR=y # # Legacy USB Gadget Drivers # -CONFIG_USB_HOST_NOTIFY=y -CONFIG_USB_NOTIFY_LAYER=y -CONFIG_USB_NOTIFIER=y -CONFIG_USB_EXTERNAL_DETECT=y # CONFIG_USB_ZERO is not set # CONFIG_USB_AUDIO is not set # CONFIG_USB_ETH is not set @@ -2853,11 +2900,6 @@ CONFIG_STAGING=y # CONFIG_IIO_GPIO_TRIGGER is not set # CONFIG_IIO_SYSFS_TRIGGER is not set # CONFIG_IIO_SIMPLE_DUMMY is not set -CONFIG_ZSMALLOC=y -CONFIG_PGTABLE_MAPPING=y -CONFIG_ZRAM=y -CONFIG_ZRAM_LZ4_COMPRESS=y -# CONFIG_ZRAM_DEBUG=y # CONFIG_USB_ENESTORAGE is not set # CONFIG_BCM_WIMAX is not set # CONFIG_FT1000 is not set @@ -2895,6 +2937,7 @@ CONFIG_ION_SPRD=y # CONFIG_RUNTIME_COMPCACHE is not set # CONFIG_USB_WPAN_HCD is not set # CONFIG_WIMAX_GDM72XX is not set +# CONFIG_CSR_WIFI is not set # CONFIG_CED1401 is not set # CONFIG_DGRP is not set @@ -3007,7 +3050,6 @@ CONFIG_CLKSRC_MMIO=y # Rpmsg drivers # # CONFIG_PM_DEVFREQ is not set - # CONFIG_EXTCON is not set # CONFIG_MEMORY is not set CONFIG_IIO=y @@ -3116,11 +3158,11 @@ CONFIG_SIPC_STTY=y # Sensor support # CONFIG_SENSORS=y -CONFIG_SENSORS_IMS1911=y -CONFIG_SENSORS_CM36672P=y # CONFIG_SENSORS_GP2A002 is not set # CONFIG_SENSORS_GP2A_HAS_REGULATOR is not set # CONFIG_SENSORS_LEDA_EN_GPIO is not set +CONFIG_SENSORS_IMS1911=y +CONFIG_SENSORS_CM36672P=y CONFIG_SENSORS_K2HH=y # CONFIG_SENSORS_K2HH_HAS_REGULATOR is not set @@ -3129,6 +3171,7 @@ CONFIG_SENSORS_K2HH=y # CONFIG_SPRD_IQ=y # CONFIG_HAS_AUTOTST is not set +CONFIG_GATOR=m # CONFIG_NO_HOTPLUG_POLICY is not set CONFIG_SS_TOUCH_BOOST_CPU_HOTPLUG=y @@ -3144,7 +3187,6 @@ CONFIG_EXT4_FS_POSIX_ACL=y CONFIG_EXT4_FS_SECURITY=y # CONFIG_EXT4_DEBUG is not set # CONFIG_SDCARD_FS is not set -# CONFIG_SDCARD_FS_CI_SEARCH is not set CONFIG_JBD2=y # CONFIG_JBD2_DEBUG is not set CONFIG_FS_MBCACHE=y @@ -3210,6 +3252,7 @@ CONFIG_MISC_FILESYSTEMS=y # CONFIG_ADFS_FS is not set # CONFIG_AFFS_FS is not set CONFIG_ECRYPT_FS=y +# CONFIG_ECRYPT_FS_MESSAGING is not set # CONFIG_HFS_FS is not set # CONFIG_HFSPLUS_FS is not set # CONFIG_BEFS_FS is not set @@ -3218,8 +3261,14 @@ CONFIG_ECRYPT_FS=y # CONFIG_LOGFS is not set # CONFIG_CRAMFS is not set CONFIG_SQUASHFS=y +CONFIG_SQUASHFS_FILE_CACHE=y +# CONFIG_SQUASHFS_FILE_DIRECT is not set +CONFIG_SQUASHFS_DECOMP_SINGLE=y +# CONFIG_SQUASHFS_DECOMP_MULTI is not set +# CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU is not set CONFIG_SQUASHFS_XATTR=y CONFIG_SQUASHFS_ZLIB=y +# CONFIG_SQUASHFS_LZ4 is not set CONFIG_SQUASHFS_LZO=y # CONFIG_SQUASHFS_XZ is not set CONFIG_SQUASHFS_4K_DEVBLK_SIZE=y @@ -3440,6 +3489,7 @@ CONFIG_SECURITY_NETWORK=y # CONFIG_SECURITY_PATH is not set # CONFIG_SECURITY_SELINUX is not set CONFIG_SECURITY_SMACK=y +# CONFIG_SECURITY_SMACK_BRINGUP is not set # CONFIG_SECURITY_SMACK_NETFILTER is not set # CONFIG_SECURITY_TOMOYO is not set # CONFIG_SECURITY_APPARMOR is not set @@ -3469,7 +3519,7 @@ CONFIG_CRYPTO_MANAGER=y CONFIG_CRYPTO_MANAGER2=y # CONFIG_CRYPTO_USER is not set CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y -# CONFIG_CRYPTO_GF128MUL is not set +CONFIG_CRYPTO_GF128MUL=y # CONFIG_CRYPTO_NULL is not set # CONFIG_CRYPTO_PCRYPT is not set CONFIG_CRYPTO_WORKQUEUE=y @@ -3559,7 +3609,7 @@ CONFIG_CRYPTO_ANSI_CPRNG=y # CONFIG_CRYPTO_USER_API_SKCIPHER is not set CONFIG_CRYPTO_HW=y # CONFIG_ASYMMETRIC_KEY_TYPE is not set -# CONFIG_BINARY_PRINTF is not set +CONFIG_BINARY_PRINTF=y # # Library routines @@ -3582,13 +3632,16 @@ CONFIG_CRC32_SLICEBY8=y # CONFIG_CRC7 is not set CONFIG_LIBCRC32C=y # CONFIG_CRC8 is not set -# CONFIG_AUDIT_GENERIC=y +CONFIG_AUDIT_GENERIC=y CONFIG_ZLIB_INFLATE=y CONFIG_ZLIB_DEFLATE=y CONFIG_LZO_COMPRESS=y CONFIG_LZO_DECOMPRESS=y +CONFIG_LZ4_COMPRESS=y +CONFIG_LZ4_DECOMPRESS=y # CONFIG_XZ_DEC is not set # CONFIG_XZ_DEC_BCJ is not set +CONFIG_DECOMPRESS_GZIP=y CONFIG_LZO_SOFT_ALGO=y # CONFIG_LZO_HW_ALGO is not set CONFIG_GENERIC_ALLOCATOR=y -- 2.7.4 From 32a7e49022af9a400bacf7121873aefdb0d1aff8 Mon Sep 17 00:00:00 2001 From: jooseong lee Date: Mon, 28 Nov 2016 14:51:26 +0900 Subject: [PATCH 02/16] Revert "ARM: tizen_tm1_defconfig: disable smack_netfilter temporarily" This reverts commit 9807397c2e1c82653b1df12f5022f138b298d6f4. Change-Id: Ie5a993dfcb58130cbb1d5bb3a278a337d01eab2e Signed-off-by: jooseong lee --- arch/arm/configs/tizen_tm1_defconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm/configs/tizen_tm1_defconfig b/arch/arm/configs/tizen_tm1_defconfig index 9b9bac9..c4bd6dc 100755 --- a/arch/arm/configs/tizen_tm1_defconfig +++ b/arch/arm/configs/tizen_tm1_defconfig @@ -3490,7 +3490,7 @@ CONFIG_SECURITY_NETWORK=y # CONFIG_SECURITY_SELINUX is not set CONFIG_SECURITY_SMACK=y # CONFIG_SECURITY_SMACK_BRINGUP is not set -# CONFIG_SECURITY_SMACK_NETFILTER is not set +CONFIG_SECURITY_SMACK_NETFILTER=y # CONFIG_SECURITY_TOMOYO is not set # CONFIG_SECURITY_APPARMOR is not set # CONFIG_SECURITY_YAMA is not set -- 2.7.4 From 42b990c23fa96b2005c84de0c25ee2b3779e4e29 Mon Sep 17 00:00:00 2001 From: jooseong lee Date: Mon, 28 Nov 2016 14:52:17 +0900 Subject: [PATCH 03/16] ARM: tizen_tm1_defconfig: enable CONFIG_NETFILTER_XT_TARGET_SECMARK The config allows security marking of network packets. Iptable need to set packet's secmark to 'System' label to avoid Smack deny issue only for multicast address range. * Refer to : https://review.tizen.org/gerrit/#/c/100096/ Change-Id: Ia2902525a76d31a9db6d4665b4b488f4a4c45b22 Signed-off-by: jooseong lee --- arch/arm/configs/tizen_tm1_defconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm/configs/tizen_tm1_defconfig b/arch/arm/configs/tizen_tm1_defconfig index c4bd6dc..0f0df57 100755 --- a/arch/arm/configs/tizen_tm1_defconfig +++ b/arch/arm/configs/tizen_tm1_defconfig @@ -759,7 +759,7 @@ CONFIG_NETFILTER_XT_TARGET_REDIRECT=y # CONFIG_NETFILTER_XT_TARGET_TEE is not set CONFIG_NETFILTER_XT_TARGET_TPROXY=y CONFIG_NETFILTER_XT_TARGET_TRACE=y -# CONFIG_NETFILTER_XT_TARGET_SECMARK is not set +CONFIG_NETFILTER_XT_TARGET_SECMARK=y # CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set # CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP is not set -- 2.7.4 From b1488a9ec3ed608c8cfffc5f249887082e34dc75 Mon Sep 17 00:00:00 2001 From: Sudha Bheemanna Date: Wed, 30 Nov 2016 15:29:46 +0530 Subject: [PATCH 04/16] Bluetooth: Fix Set IRK Mgmt opcode to match product codeline. Modified the Mgmt opcode value to match the header in product code. Change-Id: Ifcfbe313540527238950f1afbe2c33378bd4de29 Signed-off-by: Sudha Bheemanna --- include/net/bluetooth/mgmt_tizen.h | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/include/net/bluetooth/mgmt_tizen.h b/include/net/bluetooth/mgmt_tizen.h index 322c2a7..3076519 100644 --- a/include/net/bluetooth/mgmt_tizen.h +++ b/include/net/bluetooth/mgmt_tizen.h @@ -220,19 +220,19 @@ struct mgmt_rp_le_set_data_length { } __packed; #define MGMT_LE_SET_DATA_LENGTH_RSP_SIZE 3 -#define MGMT_OP_SET_DEV_RPA_RES_SUPPORT (TIZEN_OP_CODE_BASE + 0x19) +#define MGMT_OP_SET_IRK (TIZEN_OP_CODE_BASE + 0x19) +struct mgmt_cp_set_irk { + uint8_t irk[16]; +} __packed; +#define MGMT_SET_IRK_SIZE 16 + +#define MGMT_OP_SET_DEV_RPA_RES_SUPPORT (TIZEN_OP_CODE_BASE + 0x1a) struct mgmt_cp_set_dev_rpa_res_support { struct mgmt_addr_info addr; __u8 res_support; } __packed; #define MGMT_OP_SET_DEV_RPA_RES_SUPPORT_SIZE 8 -#define MGMT_OP_SET_IRK (TIZEN_OP_CODE_BASE + 0x1A) -struct mgmt_cp_set_irk { - uint8_t irk[16]; -} __packed; -#define MGMT_SET_IRK_SIZE 16 - /* BEGIN TIZEN_Bluetooth :: name update changes */ #define MGMT_EV_DEVICE_NAME_UPDATE (TIZEN_EV_BASE + 0x01) struct mgmt_ev_device_name_update { -- 2.7.4 From 5a5e8e842849b9ea46a33385d32254fcb55fc32f Mon Sep 17 00:00:00 2001 From: jooseong lee Date: Thu, 8 Dec 2016 11:46:33 +0900 Subject: [PATCH 05/16] netfilter: Fix wrong backporting Regard of: the commit 930a2d023b07 ("netfilter: nfnetlink_queue: allow to attach expectations to conntracks") lock() was missed. Change-Id: I8d5b4bec6dcee0ac43e9207180bb949b9cb1a49f Signed-off-by: jooseong lee --- net/netfilter/nfnetlink_queue_core.c | 1 + 1 file changed, 1 insertion(+) diff --git a/net/netfilter/nfnetlink_queue_core.c b/net/netfilter/nfnetlink_queue_core.c index c9c69f6..e215a6a 100644 --- a/net/netfilter/nfnetlink_queue_core.c +++ b/net/netfilter/nfnetlink_queue_core.c @@ -1053,6 +1053,7 @@ nfqnl_recv_verdict(struct sock *ctnl, struct sk_buff *skb, if (entry == NULL) return -ENOENT; + rcu_read_lock(); if (nfqa[NFQA_CT]) { ct = nfqnl_ct_parse(entry->skb, nfqa[NFQA_CT], &ctinfo); if (ct && nfqa[NFQA_EXP]) { -- 2.7.4 From 8ecdc14e495fa9418e000082de3cf49a81b209d2 Mon Sep 17 00:00:00 2001 From: Sergei Rogachev Date: Fri, 21 Oct 2016 16:24:15 +0300 Subject: [PATCH 06/16] mmc: sdhost: fix scheduling while atomic The function mmc_regulator_set_ocr() cannot be called under the spinlock, because internally it calls regulator_disable() which uses a sleeping primitive: regulator_dev->mutex. The patch unlocks the spinlock sdhost_host->lock to avoid scheduling in atomic context and prevent possible consequent live-locks. It is done totally the same way as it is done in drivers/mmc/host/sdhci.c and many other places. Change-Id: I2a7b893124efb2a515a3d55706d9a292a3d27edd Signed-off-by: Sergei Rogachev --- drivers/mmc/host/sdhost.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/mmc/host/sdhost.c b/drivers/mmc/host/sdhost.c index ce1feb0..4572d27 100755 --- a/drivers/mmc/host/sdhost.c +++ b/drivers/mmc/host/sdhost.c @@ -740,7 +740,9 @@ STATIC_FUNC void sdhost_set_ios(struct mmc_host *mmc, struct mmc_ios *ios) if (MMC_POWER_OFF == ios->power_mode) { _signalVoltageOnOff(host, 0); if (host->SD_pwr) { + spin_unlock_irqrestore(&host->lock, flags); mmc_regulator_set_ocr(host->mmc, host->SD_pwr, 0); + spin_lock_irqsave(&host->lock, flags); } _resetIOS(host); host->ios.power_mode = ios->power_mode; @@ -748,7 +750,9 @@ STATIC_FUNC void sdhost_set_ios(struct mmc_host *mmc, struct mmc_ios *ios) || (MMC_POWER_UP == ios->power_mode) ) { if (host->SD_pwr) { + spin_unlock_irqrestore(&host->lock, flags); mmc_regulator_set_ocr(host->mmc, host->SD_pwr, ios->vdd); + spin_lock_irqsave(&host->lock, flags); } _signalVoltageOnOff(host, 1); host->ios.power_mode = ios->power_mode; @@ -761,7 +765,9 @@ STATIC_FUNC void sdhost_set_ios(struct mmc_host *mmc, struct mmc_ios *ios) if (ios->vdd != host->ios.vdd) { if (host->SD_pwr) { printk("sdhost %s 3.0 %d!\n", host->deviceName, ios->vdd); + spin_unlock_irqrestore(&host->lock, flags); mmc_regulator_set_ocr(host->mmc, host->SD_pwr, ios->vdd); + spin_lock_irqsave(&host->lock, flags); } host->ios.vdd = ios->vdd; } -- 2.7.4 From 557e266d1fa6afb7acb26656c1dd600a6f66bcce Mon Sep 17 00:00:00 2001 From: Jin-young Jeon Date: Mon, 28 Mar 2016 13:29:36 +0900 Subject: [PATCH 07/16] video/sprdfb: add dispc_is_yuv_format() on dispc. This adds dispc_is_yuv_format() function to be easy to check whether image format is YUV or not, and can cleanup related codes. This commit comes from product kernel. Change-Id: I934756c355b533bdbadbeb10b5555ab597a43fce Signed-off-by: Jin-young Jeon [jy0922.shim: remove unfit changes and write commit messages] Signed-off-by: Joonyoung Shim --- drivers/video/sprdfb/sprdfb_dispc.c | 41 ++++++++++++++++++++++++++----------- 1 file changed, 29 insertions(+), 12 deletions(-) diff --git a/drivers/video/sprdfb/sprdfb_dispc.c b/drivers/video/sprdfb/sprdfb_dispc.c index ae45768..8b6b63a 100644 --- a/drivers/video/sprdfb/sprdfb_dispc.c +++ b/drivers/video/sprdfb/sprdfb_dispc.c @@ -416,6 +416,24 @@ static irqreturn_t dispc_isr(int irq, void *data) return IRQ_HANDLED; } +static bool dispc_is_yuv_format(int type) +{ + bool ret = false; + + switch(type) { + case SPRD_DATA_FORMAT_YUV422: + case SPRD_DATA_FORMAT_YUV420: + case SPRD_DATA_FORMAT_YUV400: + case SPRD_DATA_FORMAT_YUV422_3P: + case SPRD_DATA_FORMAT_YUV420_3P: + ret = true; + break; + default: + break; + } + + return ret; +} /* dispc soft reset */ static void dispc_reset(void) @@ -1822,7 +1840,7 @@ static int overlay_img_configure(struct sprdfb_device *dev, int type, overlay_si reg_value = (rect->y << 16) | (rect->x); dispc_write(reg_value, DISPC_IMG_DISP_XY); - if(type < SPRD_DATA_FORMAT_RGB888) { + if(dispc_is_yuv_format(type)) { dispc_write(1, DISPC_Y2R_CTRL); #ifndef CONFIG_FB_SCX35 dispc_write(SPRDFB_BRIGHTNESS|SPRDFB_CONTRAST, DISPC_Y2R_Y_PARAM); @@ -2157,19 +2175,18 @@ static int32_t sprdfb_dispc_display_overlay(struct sprdfb_device *dev, struct ov if ((setting->layer_index & SPRD_LAYER_IMG) && img_buffer) { dispc_write((uint32_t)img_buffer, DISPC_IMG_Y_BASE_ADDR); - if (dispc_ctx.overlay_img_info.data_type < - SPRD_DATA_FORMAT_RGB888) { - uint32_t size = rect->w * rect->h; - dispc_write((uint32_t)(img_buffer + size), - DISPC_IMG_UV_BASE_ADDR); - } else if (dispc_ctx.overlay_img_info.data_type == SPRD_DATA_FORMAT_YUV422_3P) { - uint32_t size = rect->w * rect->h; - dispc_write((uint32_t)(img_buffer + size), DISPC_IMG_UV_BASE_ADDR); - dispc_write((uint32_t)(img_buffer + size*3/2), DISPC_IMG_V_BASE_ADDR); - } else if (dispc_ctx.overlay_img_info.data_type == SPRD_DATA_FORMAT_YUV420_3P) { + + if (dispc_is_yuv_format(dispc_ctx.overlay_img_info.data_type)) { uint32_t size = rect->w * rect->h; + dispc_write((uint32_t)(img_buffer + size), DISPC_IMG_UV_BASE_ADDR); - dispc_write((uint32_t)(img_buffer + size*5/4), DISPC_IMG_V_BASE_ADDR); + + if (dispc_ctx.overlay_img_info.data_type == SPRD_DATA_FORMAT_YUV422_3P) + dispc_write((uint32_t)(img_buffer + size * 3 / 2), + DISPC_IMG_V_BASE_ADDR); + else if (dispc_ctx.overlay_img_info.data_type == SPRD_DATA_FORMAT_YUV420_3P) + dispc_write((uint32_t)(img_buffer + size * 5 / 4), + DISPC_IMG_V_BASE_ADDR); } } -- 2.7.4 From 916b094f76ae8b8b0da443094a21c5b0e116d92e Mon Sep 17 00:00:00 2001 From: Jin-young Jeon Date: Thu, 10 Nov 2016 17:18:58 +0900 Subject: [PATCH 08/16] video/sprdfb: dispc: fix clipping problem for yuv buffer. Aligned width(pitch) instead of width of buffer should be used to calculate base address of UV and V of YUV image format, then this will solve clipping problem for YUV image. This commit comes from product kernel. Change-Id: Idafe5d0231888693a41450fe65b1af85d35f6911 Signed-off-by: Jin-young Jeon [jy0922.shim: rewrite commit messages] Signed-off-by: Joonyoung Shim --- drivers/video/sprdfb/sprdfb_dispc.c | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/drivers/video/sprdfb/sprdfb_dispc.c b/drivers/video/sprdfb/sprdfb_dispc.c index 8b6b63a..9c6836e 100644 --- a/drivers/video/sprdfb/sprdfb_dispc.c +++ b/drivers/video/sprdfb/sprdfb_dispc.c @@ -2056,8 +2056,7 @@ static int32_t sprdfb_dispc_disable_overlay(struct sprdfb_device *dev, int layer static int32_t sprdfb_dispc_display_overlay(struct sprdfb_device *dev, struct overlay_display* setting) { - struct overlay_rect *rect = NULL; - uint32_t size = 0; + struct overlay_size *size = NULL; unsigned char *osd_buffer = NULL; unsigned char *img_buffer = NULL; #ifdef CONFIG_DRM_SPRD @@ -2080,7 +2079,7 @@ static int32_t sprdfb_dispc_display_overlay(struct sprdfb_device *dev, struct ov #endif if (SPRD_LAYER_IMG == setting->layer_index) { - rect = &dispc_ctx.overlay_img_info.rect; + size = &dispc_ctx.overlay_img_info.size; #ifdef CONFIG_DRM_SPRD #ifdef CONFIG_SPRDFB_USE_GEM_INDEX @@ -2095,7 +2094,7 @@ static int32_t sprdfb_dispc_display_overlay(struct sprdfb_device *dev, struct ov img_buffer = setting->img_buffer; #endif } else if (SPRD_LAYER_OSD == setting->layer_index) { - rect = &dispc_ctx.overlay_osd_info.rect; + size = &dispc_ctx.overlay_osd_info.size; #ifdef CONFIG_DRM_SPRD #ifdef CONFIG_SPRDFB_USE_GEM_INDEX @@ -2110,7 +2109,7 @@ static int32_t sprdfb_dispc_display_overlay(struct sprdfb_device *dev, struct ov osd_buffer = setting->osd_buffer; #endif } else if (SPRD_LAYER_BOTH == setting->layer_index) { - rect = &dispc_ctx.overlay_img_info.rect; + size = &dispc_ctx.overlay_img_info.size; #ifdef CONFIG_DRM_SPRD #ifdef CONFIG_SPRDFB_USE_GEM_INDEX phys_addr = *((unsigned long *)sprd_drm_gem_get_obj_addr( @@ -2136,8 +2135,6 @@ static int32_t sprdfb_dispc_display_overlay(struct sprdfb_device *dev, struct ov } else return 0; - size = ((rect->h << 16) | (rect->w & 0xffff)); - #ifdef SPRDFB_OVERLAY_DEBUG dev->overlay_data.layer_index = setting->layer_index; dev->overlay_data.osd_buffer = osd_buffer; @@ -2177,15 +2174,15 @@ static int32_t sprdfb_dispc_display_overlay(struct sprdfb_device *dev, struct ov DISPC_IMG_Y_BASE_ADDR); if (dispc_is_yuv_format(dispc_ctx.overlay_img_info.data_type)) { - uint32_t size = rect->w * rect->h; + uint32_t buf_size = size->hsize * size->vsize; - dispc_write((uint32_t)(img_buffer + size), DISPC_IMG_UV_BASE_ADDR); + dispc_write((uint32_t)(img_buffer + buf_size), DISPC_IMG_UV_BASE_ADDR); if (dispc_ctx.overlay_img_info.data_type == SPRD_DATA_FORMAT_YUV422_3P) - dispc_write((uint32_t)(img_buffer + size * 3 / 2), + dispc_write((uint32_t)(img_buffer + buf_size * 3 / 2), DISPC_IMG_V_BASE_ADDR); else if (dispc_ctx.overlay_img_info.data_type == SPRD_DATA_FORMAT_YUV420_3P) - dispc_write((uint32_t)(img_buffer + size * 5 / 4), + dispc_write((uint32_t)(img_buffer + buf_size * 5 / 4), DISPC_IMG_V_BASE_ADDR); } } -- 2.7.4 From 842e874249aeb1c5a274e1bb3006e9d4d40590b6 Mon Sep 17 00:00:00 2001 From: Philip Pettersson Date: Thu, 8 Dec 2016 17:18:53 +0900 Subject: [PATCH 09/16] packet: fix race condition in packet_set_ring When packet_set_ring creates a ring buffer it will initialize a struct timer_list if the packet version is TPACKET_V3. This value can then be raced by a different thread calling setsockopt to set the version to TPACKET_V1 before packet_set_ring has finished. This leads to a use-after-free on a function pointer in the struct timer_list when the socket is closed as the previously initialized timer will not be deleted. The bug is fixed by taking lock_sock(sk) in packet_setsockopt when changing the packet version while also taking the lock at the start of packet_set_ring. Ps. This is CVE-2016-8655 patch, http://seclists.org/oss-sec/2016/q4/607 Change-Id: I3396f1bfe60b03082a981ae9d8a787b41cb5a529 Fixes: f6fb8f100b80 ("af-packet: TPACKET_V3 flexible buffer implementation.") Signed-off-by: Philip Pettersson Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller Signed-off-by: Inki Dae --- net/packet/af_packet.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/net/packet/af_packet.c b/net/packet/af_packet.c index 81b4b81..8220608 100644 --- a/net/packet/af_packet.c +++ b/net/packet/af_packet.c @@ -3148,19 +3148,25 @@ packet_setsockopt(struct socket *sock, int level, int optname, char __user *optv if (optlen != sizeof(val)) return -EINVAL; - if (po->rx_ring.pg_vec || po->tx_ring.pg_vec) - return -EBUSY; if (copy_from_user(&val, optval, sizeof(val))) return -EFAULT; switch (val) { case TPACKET_V1: case TPACKET_V2: case TPACKET_V3: - po->tp_version = val; - return 0; + break; default: return -EINVAL; } + lock_sock(sk); + if (po->rx_ring.pg_vec || po->tx_ring.pg_vec) { + ret = -EBUSY; + } else { + po->tp_version = val; + ret = 0; + } + release_sock(sk); + return ret; } case PACKET_RESERVE: { @@ -3615,6 +3621,7 @@ static int packet_set_ring(struct sock *sk, union tpacket_req_u *req_u, /* Added to avoid minimal code churn */ struct tpacket_req *req = &req_u->req; + lock_sock(sk); /* Opening a Tx-ring is NOT supported in TPACKET_V3 */ if (!closing && tx_ring && (po->tp_version > TPACKET_V2)) { WARN(1, "Tx-ring is not supported.\n"); @@ -3696,7 +3703,6 @@ static int packet_set_ring(struct sock *sk, union tpacket_req_u *req_u, goto out; } - lock_sock(sk); /* Detach socket from network */ spin_lock(&po->bind_lock); @@ -3745,11 +3751,11 @@ static int packet_set_ring(struct sock *sk, union tpacket_req_u *req_u, if (!tx_ring) prb_shutdown_retire_blk_timer(po, tx_ring, rb_queue); } - release_sock(sk); if (pg_vec) free_pg_vec(pg_vec, order, req->tp_block_nr); out: + release_sock(sk); return err; } -- 2.7.4 From e5244ccbc775acd5ec53da41c1a863487ee90bae Mon Sep 17 00:00:00 2001 From: Jiri Slaby Date: Mon, 13 Apr 2015 16:41:28 +0200 Subject: [PATCH 10/16] core, nfqueue, openvswitch: fix compilation warning MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Stable commit "core, nfqueue, openvswitch: Orphan frags in skb_zerocopy and handle errors", upstream commit 36d5fe6a000790f56039afe26834265db0a3ad4c, was not correctly backported and missed to change a const 'from' parameter to non-const. This results in a new batch of warnings: net/netfilter/nfnetlink_queue_core.c: In function ‘nfqnl_zcopy’: net/netfilter/nfnetlink_queue_core.c:272:2: warning: passing argument 1 of ‘skb_orphan_frags’ discards ‘const’ qualifier from pointer target type [enabled by default] if (unlikely(skb_orphan_frags(from, GFP_ATOMIC))) { ^ In file included from net/netfilter/nfnetlink_queue_core.c:18:0: include/linux/skbuff.h:1822:19: note: expected ‘struct sk_buff *’ but argument is of type ‘const struct sk_buff *’ static inline int skb_orphan_frags(struct sk_buff *skb, gfp_t gfp_mask) ^ net/netfilter/nfnetlink_queue_core.c:273:3: warning: passing argument 1 of ‘skb_tx_error’ discards ‘const’ qualifier from pointer target type [enabled by default] skb_tx_error(from); ^ In file included from net/netfilter/nfnetlink_queue_core.c:18:0: include/linux/skbuff.h:630:13: note: expected ‘struct sk_buff *’ but argument is of type ‘const struct sk_buff *’ extern void skb_tx_error(struct sk_buff *skb); Remove const from the 'from' parameter, the same as in the upstream commit. As far as I can see, this leaked into 3.10, 3.12, and 3.13 already. Cc: Zoltan Kiss Cc: David S. Miller Cc: Ben Hutchings Cc: Greg Kroah-Hartman Cc: Kamal Mostafa Signed-off-by: Jiri Slaby Signed-off-by: Greg Kroah-Hartman [applied from linux-3.10.y to fix build warning] Signed-off-by: Seung-Woo Kim Change-Id: I8ea0f40716ad40c79d5b076546ba2ac567eda0ee --- net/netfilter/nfnetlink_queue_core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/netfilter/nfnetlink_queue_core.c b/net/netfilter/nfnetlink_queue_core.c index e215a6a..8c6ffd1 100644 --- a/net/netfilter/nfnetlink_queue_core.c +++ b/net/netfilter/nfnetlink_queue_core.c @@ -229,7 +229,7 @@ nfqnl_flush(struct nfqnl_instance *queue, nfqnl_cmpfn cmpfn, unsigned long data) } static int -nfqnl_zcopy(struct sk_buff *to, const struct sk_buff *from, int len, int hlen) +nfqnl_zcopy(struct sk_buff *to, struct sk_buff *from, int len, int hlen) { int i, j = 0; int plen = 0; /* length of skb->head fragment */ -- 2.7.4 From 2dfe6f4cef72e486b40a390e56b241c8c5f5dcae Mon Sep 17 00:00:00 2001 From: Pablo Neira Ayuso Date: Wed, 7 Aug 2013 19:12:34 +0200 Subject: [PATCH 11/16] netfilter: ctnetlink: refactor ctnetlink_create_expect This patch refactors ctnetlink_create_expect by spliting it in two chunks. As a result, we have a new function ctnetlink_alloc_expect to allocate and to setup the expectation from ctnetlink. Signed-off-by: Pablo Neira Ayuso [Applied from mainline v3.11 for the other backported commit 930a2d023b07 ("netfilter: nfnetlink_queue: allow to attach expectations to conntracks")] Signed-off-by: Seung-Woo Kim Change-Id: I97e8ac912bab81a4668cbaa602c5ba7bc52fb2e8 --- net/netfilter/nf_conntrack_netlink.c | 156 +++++++++++++++++++---------------- 1 file changed, 87 insertions(+), 69 deletions(-) diff --git a/net/netfilter/nf_conntrack_netlink.c b/net/netfilter/nf_conntrack_netlink.c index 0375caa..0c41ffa 100644 --- a/net/netfilter/nf_conntrack_netlink.c +++ b/net/netfilter/nf_conntrack_netlink.c @@ -2796,76 +2796,26 @@ ctnetlink_parse_expect_nat(const struct nlattr *attr, #endif } -static int -ctnetlink_create_expect(struct net *net, u16 zone, - const struct nlattr * const cda[], - u_int8_t u3, - u32 portid, int report) +static struct nf_conntrack_expect * +ctnetlink_alloc_expect(const struct nlattr * const cda[], struct nf_conn *ct, + struct nf_conntrack_helper *helper, + struct nf_conntrack_tuple *tuple, + struct nf_conntrack_tuple *mask) { - struct nf_conntrack_tuple tuple, mask, master_tuple; - struct nf_conntrack_tuple_hash *h = NULL; + u_int32_t class = 0; struct nf_conntrack_expect *exp; - struct nf_conn *ct; struct nf_conn_help *help; - struct nf_conntrack_helper *helper = NULL; - u_int32_t class = 0; - int err = 0; - - /* caller guarantees that those three CTA_EXPECT_* exist */ - err = ctnetlink_parse_tuple(cda, &tuple, CTA_EXPECT_TUPLE, u3); - if (err < 0) - return err; - err = ctnetlink_parse_tuple(cda, &mask, CTA_EXPECT_MASK, u3); - if (err < 0) - return err; - err = ctnetlink_parse_tuple(cda, &master_tuple, CTA_EXPECT_MASTER, u3); - if (err < 0) - return err; - - /* Look for master conntrack of this expectation */ - h = nf_conntrack_find_get(net, zone, &master_tuple); - if (!h) - return -ENOENT; - ct = nf_ct_tuplehash_to_ctrack(h); - - /* Look for helper of this expectation */ - if (cda[CTA_EXPECT_HELP_NAME]) { - const char *helpname = nla_data(cda[CTA_EXPECT_HELP_NAME]); - - helper = __nf_conntrack_helper_find(helpname, nf_ct_l3num(ct), - nf_ct_protonum(ct)); - if (helper == NULL) { -#ifdef CONFIG_MODULES - if (request_module("nfct-helper-%s", helpname) < 0) { - err = -EOPNOTSUPP; - goto out; - } - - helper = __nf_conntrack_helper_find(helpname, - nf_ct_l3num(ct), - nf_ct_protonum(ct)); - if (helper) { - err = -EAGAIN; - goto out; - } -#endif - err = -EOPNOTSUPP; - goto out; - } - } + int err; if (cda[CTA_EXPECT_CLASS] && helper) { class = ntohl(nla_get_be32(cda[CTA_EXPECT_CLASS])); - if (class > helper->expect_class_max) { - err = -EINVAL; - goto out; - } + if (class > helper->expect_class_max) + return ERR_PTR(-EINVAL); } exp = nf_ct_expect_alloc(ct); - if (!exp) { - err = -ENOMEM; - goto out; - } + if (!exp) + return ERR_PTR(-ENOMEM); + help = nfct_help(ct); if (!help) { if (!cda[CTA_EXPECT_TIMEOUT]) { @@ -2903,21 +2853,89 @@ ctnetlink_create_expect(struct net *net, u16 zone, exp->class = class; exp->master = ct; exp->helper = helper; - memcpy(&exp->tuple, &tuple, sizeof(struct nf_conntrack_tuple)); - memcpy(&exp->mask.src.u3, &mask.src.u3, sizeof(exp->mask.src.u3)); - exp->mask.src.u.all = mask.src.u.all; + exp->tuple = *tuple; + exp->mask.src.u3 = mask->src.u3; + exp->mask.src.u.all = mask->src.u.all; if (cda[CTA_EXPECT_NAT]) { err = ctnetlink_parse_expect_nat(cda[CTA_EXPECT_NAT], - exp, u3); + exp, nf_ct_l3num(ct)); if (err < 0) goto err_out; } - err = nf_ct_expect_related_report(exp, portid, report); + return exp; err_out: nf_ct_expect_put(exp); -out: - nf_ct_put(nf_ct_tuplehash_to_ctrack(h)); + return ERR_PTR(err); +} + +static int +ctnetlink_create_expect(struct net *net, u16 zone, + const struct nlattr * const cda[], + u_int8_t u3, u32 portid, int report) +{ + struct nf_conntrack_tuple tuple, mask, master_tuple; + struct nf_conntrack_tuple_hash *h = NULL; + struct nf_conntrack_helper *helper = NULL; + struct nf_conntrack_expect *exp; + struct nf_conn *ct; + int err; + + /* caller guarantees that those three CTA_EXPECT_* exist */ + err = ctnetlink_parse_tuple(cda, &tuple, CTA_EXPECT_TUPLE, u3); + if (err < 0) + return err; + err = ctnetlink_parse_tuple(cda, &mask, CTA_EXPECT_MASK, u3); + if (err < 0) + return err; + err = ctnetlink_parse_tuple(cda, &master_tuple, CTA_EXPECT_MASTER, u3); + if (err < 0) + return err; + + /* Look for master conntrack of this expectation */ + h = nf_conntrack_find_get(net, zone, &master_tuple); + if (!h) + return -ENOENT; + ct = nf_ct_tuplehash_to_ctrack(h); + + if (cda[CTA_EXPECT_HELP_NAME]) { + const char *helpname = nla_data(cda[CTA_EXPECT_HELP_NAME]); + + helper = __nf_conntrack_helper_find(helpname, u3, + nf_ct_protonum(ct)); + if (helper == NULL) { +#ifdef CONFIG_MODULES + if (request_module("nfct-helper-%s", helpname) < 0) { + err = -EOPNOTSUPP; + goto err_ct; + } + helper = __nf_conntrack_helper_find(helpname, u3, + nf_ct_protonum(ct)); + if (helper) { + err = -EAGAIN; + goto err_ct; + } +#endif + err = -EOPNOTSUPP; + goto err_ct; + } + } + + exp = ctnetlink_alloc_expect(cda, ct, helper, &tuple, &mask); + if (IS_ERR(exp)) { + err = PTR_ERR(exp); + goto err_ct; + } + + err = nf_ct_expect_related_report(exp, portid, report); + if (err < 0) + goto err_exp; + + return 0; +err_exp: + nf_ct_expect_put(exp); +err_ct: + nf_ct_put(ct); return err; } -- 2.7.4 From 3ed68f5eb0dd1fc6e25aee2c64ad3630b62c997d Mon Sep 17 00:00:00 2001 From: jooseong lee Date: Tue, 13 Dec 2016 10:12:48 +0900 Subject: [PATCH 12/16] Smack: fix d_instantiate logic for sockfs and pipefs Since 4b936885a (v2.6.32) all inodes on sockfs and pipefs are disconnected. It caused filesystem specific code in smack_d_instantiate to be skipped, because all inodes on those pseudo filesystems were treated as root inodes. As a result all sockfs inodes had the Smack label set to floor. In most cases access checks for sockets use socket_smack data so the inode label is not important. But there are special cases that were broken. One example would be calling fcntl with F_SETOWN command on a socket fd. Now smack_d_instantiate expects all pipefs and sockfs inodes to be disconnected and has the logic in appropriate place. Change-Id: I06e1977d30afe39f6758ea18245046d413fa46a4 Signed-off-by: Rafal Krypa [jooseong.lee: Backported from mainline] Signed-off-by: jooseong lee --- security/smack/smack_lsm.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/security/smack/smack_lsm.c b/security/smack/smack_lsm.c index b72abc2..bef14b1 100644 --- a/security/smack/smack_lsm.c +++ b/security/smack/smack_lsm.c @@ -3164,6 +3164,13 @@ static void smack_d_instantiate(struct dentry *opt_dentry, struct inode *inode) case PIPEFS_MAGIC: isp->smk_inode = smk_of_current()->smk_known; break; + case SOCKFS_MAGIC: + /* + * Socket access is controlled by the socket + * structures associated with the task involved. + */ + isp->smk_inode = smack_known_star.smk_known; + break; default: isp->smk_inode = sbsp->smk_root; break; @@ -3180,19 +3187,12 @@ static void smack_d_instantiate(struct dentry *opt_dentry, struct inode *inode) */ switch (sbp->s_magic) { case SMACK_MAGIC: - case PIPEFS_MAGIC: - case SOCKFS_MAGIC: case CGROUP_SUPER_MAGIC: /* * Casey says that it's a little embarrassing * that the smack file system doesn't do * extended attributes. * - * Casey says pipes are easy (?) - * - * Socket access is controlled by the socket - * structures associated with the task involved. - * * Cgroupfs is special */ final = smack_known_star.smk_known; -- 2.7.4 From b2fa86505873e3496dc99a46c868f9e304616efe Mon Sep 17 00:00:00 2001 From: Casey Schaufler Date: Tue, 30 Aug 2016 10:31:39 -0700 Subject: [PATCH 13/16] Smack: Signal delivery as an append operation Under a strict subject/object security policy delivering a signal or delivering network IPC could be considered either a write or an append operation. The original choice to make both write operations leads to an issue where IPC delivery is desired under policy, but delivery of signals is not. This patch provides the option of making signal delivery an append operation, allowing Smack rules that deny signal delivery while allowing IPC. This was requested for Tizen. Signed-off-by: Casey Schaufler [mainline backport of commit c60b906673eebb4f65840fa9dc204401caf276ea] Change-Id: I969f0f9eefc076d81a95f3d36e695cd07507bfd4 --- security/smack/Kconfig | 12 ++++++++++++ security/smack/smack.h | 10 ++++++++++ security/smack/smack_lsm.c | 14 +++++++------- 3 files changed, 29 insertions(+), 7 deletions(-) diff --git a/security/smack/Kconfig b/security/smack/Kconfig index 271adae..923b120 100644 --- a/security/smack/Kconfig +++ b/security/smack/Kconfig @@ -40,3 +40,15 @@ config SECURITY_SMACK_NETFILTER This enables security marking of network packets using Smack labels. If you are unsure how to answer this question, answer N. + +config SECURITY_SMACK_APPEND_SIGNALS + bool "Treat delivering signals as an append operation" + depends on SECURITY_SMACK + default n + help + Sending a signal has been treated as a write operation to the + receiving process. If this option is selected, the delivery + will be an append operation instead. This makes it possible + to differentiate between delivering a network packet and + delivering a signal in the Smack rules. + If you are unsure how to answer this question, answer N. diff --git a/security/smack/smack.h b/security/smack/smack.h index c29a59d..2ac8049 100644 --- a/security/smack/smack.h +++ b/security/smack/smack.h @@ -200,6 +200,16 @@ struct smack_known_list_elem { #define MAY_LOCK 0x00002000 /* Locks should be writes, but ... */ #define MAY_BRINGUP 0x00004000 /* Report use of this rule */ +/* + * The policy for delivering signals is configurable. + * It is usually "write", but can be "append". + */ +#ifdef CONFIG_SECURITY_SMACK_APPEND_SIGNALS +#define MAY_DELIVER MAY_APPEND /* Signal delivery requires append */ +#else +#define MAY_DELIVER MAY_WRITE /* Signal delivery requires write */ +#endif + #define SMACK_BRINGUP_ALLOW 1 /* Allow bringup mode */ #define SMACK_UNCONFINED_SUBJECT 2 /* Allow unconfined label */ #define SMACK_UNCONFINED_OBJECT 3 /* Allow unconfined label */ diff --git a/security/smack/smack_lsm.c b/security/smack/smack_lsm.c index bef14b1..ba54ee7 100644 --- a/security/smack/smack_lsm.c +++ b/security/smack/smack_lsm.c @@ -1670,14 +1670,14 @@ static int smack_file_send_sigiotask(struct task_struct *tsk, /* we don't log here as rc can be overriden */ skp = smk_find_entry(file->f_security); - rc = smk_access(skp, tkp->smk_known, MAY_WRITE, NULL); - rc = smk_bu_note("sigiotask", skp, tkp->smk_known, MAY_WRITE, rc); + rc = smk_access(skp, tkp->smk_known, MAY_DELIVER, NULL); + rc = smk_bu_note("sigiotask", skp, tkp->smk_known, MAY_DELIVER, rc); if (rc != 0 && has_capability(tsk, CAP_MAC_OVERRIDE)) rc = 0; smk_ad_init(&ad, __func__, LSM_AUDIT_DATA_TASK); smk_ad_setfield_u_tsk(&ad, tsk); - smack_log(file->f_security, tkp->smk_known, MAY_WRITE, rc, &ad); + smack_log(file->f_security, tkp->smk_known, MAY_DELIVER, rc, &ad); return rc; } @@ -2076,8 +2076,8 @@ static int smack_task_kill(struct task_struct *p, struct siginfo *info, * can write the receiver. */ if (secid == 0) { - rc = smk_curacc(tkp->smk_known, MAY_WRITE, &ad); - rc = smk_bu_task(p, MAY_WRITE, rc); + rc = smk_curacc(tkp->smk_known, MAY_DELIVER, &ad); + rc = smk_bu_task(p, MAY_DELIVER, rc); return rc; } /* @@ -2086,8 +2086,8 @@ static int smack_task_kill(struct task_struct *p, struct siginfo *info, * we can't take privilege into account. */ skp = smack_from_secid(secid); - rc = smk_access(skp, tkp->smk_known, MAY_WRITE, &ad); - rc = smk_bu_note("USB signal", skp, tkp->smk_known, MAY_WRITE, rc); + rc = smk_access(skp, tkp->smk_known, MAY_DELIVER, &ad); + rc = smk_bu_note("USB signal", skp, tkp->smk_known, MAY_DELIVER, rc); return rc; } -- 2.7.4 From 8bcdea451b4672e3fa31accd9c401231d65f6124 Mon Sep 17 00:00:00 2001 From: Rafal Krypa Date: Tue, 13 Dec 2016 13:46:54 +0100 Subject: [PATCH 14/16] ARM: tizen_tm1_defconfig: enable SECURITY_SMACK_APPEND_SIGNALS Signed-off-by: Rafal Krypa Change-Id: Iba70704a166d50ef295acd3166bf5d738adb9295 --- arch/arm/configs/tizen_tm1_defconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm/configs/tizen_tm1_defconfig b/arch/arm/configs/tizen_tm1_defconfig index 0f0df57..900ebe8 100755 --- a/arch/arm/configs/tizen_tm1_defconfig +++ b/arch/arm/configs/tizen_tm1_defconfig @@ -3491,6 +3491,7 @@ CONFIG_SECURITY_NETWORK=y CONFIG_SECURITY_SMACK=y # CONFIG_SECURITY_SMACK_BRINGUP is not set CONFIG_SECURITY_SMACK_NETFILTER=y +CONFIG_SECURITY_SMACK_APPEND_SIGNALS=y # CONFIG_SECURITY_TOMOYO is not set # CONFIG_SECURITY_APPARMOR is not set # CONFIG_SECURITY_YAMA is not set -- 2.7.4 From 81925d0112892cde7418c9b6f9868ca8c7fa181f Mon Sep 17 00:00:00 2001 From: Andi Shyti Date: Wed, 7 Dec 2016 16:52:25 +0900 Subject: [PATCH 15/16] input: ist3xx: replace misused strncat with s(n)printf strncat is used improperly exposing the driver to a buffer overflow risk. Use s(n)printf instead. An implicit result of this patch is some code simplification. Change-Id: I7dfb61addf015362fed1a4ebd595ac533a012a48 Signed-off-by: Andi Shyti --- .../input/touchscreen/imagis_30xxc/ist30xxc_sec.c | 7 ++----- .../input/touchscreen/imagis_30xxc/ist30xxc_update.c | 9 +++------ drivers/input/touchscreen/ist30xx/ist30xx_sec.c | 5 +---- drivers/input/touchscreen/ist30xx/ist30xx_update.c | 17 ++++++----------- drivers/input/touchscreen/ist30xxa/ist30xx_sec.c | 5 +---- drivers/input/touchscreen/ist30xxa/ist30xx_update.c | 17 ++++++----------- drivers/input/touchscreen/ist30xxb/ist30xxb_sec.c | 5 +---- drivers/input/touchscreen/ist30xxb/ist30xxb_update.c | 15 +++++---------- drivers/input/touchscreen/ist30xxc/ist30xxc_sec.c | 5 +---- drivers/input/touchscreen/ist30xxc/ist30xxc_update.c | 20 +++++++------------- 10 files changed, 33 insertions(+), 72 deletions(-) diff --git a/drivers/input/touchscreen/imagis_30xxc/ist30xxc_sec.c b/drivers/input/touchscreen/imagis_30xxc/ist30xxc_sec.c index 9f21fd1..1ff3e40 100644 --- a/drivers/input/touchscreen/imagis_30xxc/ist30xxc_sec.c +++ b/drivers/input/touchscreen/imagis_30xxc/ist30xxc_sec.c @@ -139,11 +139,8 @@ int ist30xx_get_key_sensitivity(struct ist30xx_data *data, int id) /* Factory CMD function */ static void set_default_result(struct sec_factory *sec) { - char delim = ':'; - memset(sec->cmd_result, 0, sec->cmd_result_length); - memcpy(sec->cmd_result, sec->cmd, strlen(sec->cmd)); - strncat(sec->cmd_result, &delim, CMD_STATE_RUNNING); + snprintf(sec->cmd_result, sec->cmd_result_length, "%s:", sec->cmd); } static void set_cmd_result(struct sec_factory *sec, char *buf, int len) @@ -1766,7 +1763,7 @@ static ssize_t show_cmd_list(struct device *dev, struct device_attribute while(strncmp(tsp_cmds[ii].cmd_name, "not_support_cmd", 16) != 0) { snprintf(temp, COMMAND_LENGTH, "%s\n", tsp_cmds[ii].cmd_name); - strncat(buffer, temp, COMMAND_LENGTH); + strlcat(buffer, temp, sizeof(buffer)); ii++; } diff --git a/drivers/input/touchscreen/imagis_30xxc/ist30xxc_update.c b/drivers/input/touchscreen/imagis_30xxc/ist30xxc_update.c index 1e020fe..0235596 100644 --- a/drivers/input/touchscreen/imagis_30xxc/ist30xxc_update.c +++ b/drivers/input/touchscreen/imagis_30xxc/ist30xxc_update.c @@ -1528,7 +1528,6 @@ ssize_t ist30xx_fw_version_show(struct device *dev, #if IST30XX_INTERNAL_BIN { - char msg[128]; const struct firmware *firmware = NULL; struct ist30xx_fw *fw = &data->fw; int ret; @@ -1545,15 +1544,13 @@ ssize_t ist30xx_fw_version_show(struct device *dev, } ret = ist30xx_get_update_info(data, data->fw.buf, data->fw.buf_size); - if (ret == 0) { - count += snprintf(msg, sizeof(msg), - " Header - main: %x, fw: %x, test: %x, core: %x\n", + if (ret == 0) + count += sprintf(buf + count, + "Header - main: %x, fw: %x, test: %x, core: %x\n", ist30xx_parse_ver(data, FLAG_MAIN, data->fw.buf), ist30xx_parse_ver(data, FLAG_FW, data->fw.buf), ist30xx_parse_ver(data, FLAG_TEST, data->fw.buf), ist30xx_parse_ver(data, FLAG_CORE, data->fw.buf)); - strncat(buf, msg, sizeof(msg)); - } if (data->dt_data->fw_bin && firmware) { release_firmware(firmware); diff --git a/drivers/input/touchscreen/ist30xx/ist30xx_sec.c b/drivers/input/touchscreen/ist30xx/ist30xx_sec.c index d18c3b4..de6e49b 100644 --- a/drivers/input/touchscreen/ist30xx/ist30xx_sec.c +++ b/drivers/input/touchscreen/ist30xx/ist30xx_sec.c @@ -123,11 +123,8 @@ int ist30xxb_get_key_sensitivity(struct ist30xx_data *data, int id) /* Factory CMD function */ static void set_default_result(struct sec_factory *sec) { - char delim = ':'; - memset(sec->cmd_result, 0, ARRAY_SIZE(sec->cmd_result)); - memcpy(sec->cmd_result, sec->cmd, strlen(sec->cmd)); - strncat(sec->cmd_result, &delim, CMD_STATE_RUNNING); + snprintf(sec->cmd_result, SEC_CMD_RESULT_STR_LEN, "%s:", sec->cmd); } static void set_cmd_result(struct sec_factory *sec, char *buf, int len) diff --git a/drivers/input/touchscreen/ist30xx/ist30xx_update.c b/drivers/input/touchscreen/ist30xx/ist30xx_update.c index 1737906..9e49d53 100644 --- a/drivers/input/touchscreen/ist30xx/ist30xx_update.c +++ b/drivers/input/touchscreen/ist30xx/ist30xx_update.c @@ -1388,18 +1388,13 @@ ssize_t ist30xx_fw_version(struct device *dev, struct device_attribute *attr, ts_data->fw.param_ver, ts_data->fw.sub_ver); #if IST30XX_INTERNAL_BIN - { - char msg[128]; + ist30xx_get_update_info(ts_data, ts_data->fw.buf, ts_data->fw.buf_size); - ist30xx_get_update_info(ts_data, ts_data->fw.buf, ts_data->fw.buf_size); - - count += snprintf(msg, sizeof(msg), - " Header - f/w ver: %x, param: %x, sub: %x\r\n", - ist30xx_parse_ver(FLAG_FW, ts_data->fw.buf), - ist30xx_parse_ver(FLAG_PARAM, ts_data->fw.buf), - ist30xx_parse_ver(FLAG_SUB, ts_data->fw.buf)); - strncat(buf, msg, sizeof(msg)); - } + count += sprintf(buf + count, + "Header - f/w ver: %x, param: %x, sub: %x\r\n", + ist30xx_parse_ver(FLAG_FW, ts_data->fw.buf), + ist30xx_parse_ver(FLAG_PARAM, ts_data->fw.buf), + ist30xx_parse_ver(FLAG_SUB, ts_data->fw.buf)); #endif return count; diff --git a/drivers/input/touchscreen/ist30xxa/ist30xx_sec.c b/drivers/input/touchscreen/ist30xxa/ist30xx_sec.c index e8fae49..e1c7547 100644 --- a/drivers/input/touchscreen/ist30xxa/ist30xx_sec.c +++ b/drivers/input/touchscreen/ist30xxa/ist30xx_sec.c @@ -124,11 +124,8 @@ int ist30xxb_get_key_sensitivity(struct ist30xx_data *data, int id) /* Factory CMD function */ static void set_default_result(struct sec_factory *sec) { - char delim = ':'; - memset(sec->cmd_result, 0, ARRAY_SIZE(sec->cmd_result)); - memcpy(sec->cmd_result, sec->cmd, strlen(sec->cmd)); - strncat(sec->cmd_result, &delim, CMD_STATE_RUNNING); + snprintf(sec->cmd_result, SEC_CMD_RESULT_STR_LEN, "%s:", sec->cmd); } static void set_cmd_result(struct sec_factory *sec, char *buf, int len) diff --git a/drivers/input/touchscreen/ist30xxa/ist30xx_update.c b/drivers/input/touchscreen/ist30xxa/ist30xx_update.c index ec36fb3..f753cba 100644 --- a/drivers/input/touchscreen/ist30xxa/ist30xx_update.c +++ b/drivers/input/touchscreen/ist30xxa/ist30xx_update.c @@ -1290,18 +1290,13 @@ ssize_t ist30xx_fw_version_show(struct device *dev, ts_data->fw.param_ver, ts_data->fw.sub_ver); #if IST30XX_INTERNAL_BIN - { - char msg[128]; + ist30xx_get_update_info(ts_data, ts_data->fw.buf, ts_data->fw.buf_size); - ist30xx_get_update_info(ts_data, ts_data->fw.buf, ts_data->fw.buf_size); - - count += snprintf(msg, sizeof(msg), - " Header - f/w ver: %x, param: %x, sub: %x\r\n", - ist30xx_parse_ver(FLAG_FW, ts_data->fw.buf), - ist30xx_parse_ver(FLAG_PARAM, ts_data->fw.buf), - ist30xx_parse_ver(FLAG_SUB, ts_data->fw.buf)); - strncat(buf, msg, sizeof(msg)); - } + count += sprintf(buf + count, + "Header - f/w ver: %x, param: %x, sub: %x\r\n", + ist30xx_parse_ver(FLAG_FW, ts_data->fw.buf), + ist30xx_parse_ver(FLAG_PARAM, ts_data->fw.buf), + ist30xx_parse_ver(FLAG_SUB, ts_data->fw.buf)); #endif return count; diff --git a/drivers/input/touchscreen/ist30xxb/ist30xxb_sec.c b/drivers/input/touchscreen/ist30xxb/ist30xxb_sec.c index d8ee815..f0b4c66 100755 --- a/drivers/input/touchscreen/ist30xxb/ist30xxb_sec.c +++ b/drivers/input/touchscreen/ist30xxb/ist30xxb_sec.c @@ -113,11 +113,8 @@ int ist30xxb_get_key_sensitivity(struct ist30xx_data *data, int id) /* Factory CMD function */ static void set_default_result(struct sec_factory *sec) { - char delim = ':'; - memset(sec->cmd_result, 0, ARRAY_SIZE(sec->cmd_result)); - memcpy(sec->cmd_result, sec->cmd, strlen(sec->cmd)); - strncat(sec->cmd_result, &delim, CMD_STATE_RUNNING); + snprintf(sec->cmd_result, SEC_CMD_RESULT_STR_LEN, "%s:", sec->cmd); } static void set_cmd_result(struct sec_factory *sec, char *buf, int len) diff --git a/drivers/input/touchscreen/ist30xxb/ist30xxb_update.c b/drivers/input/touchscreen/ist30xxb/ist30xxb_update.c index 40b1f6d..b14805e 100644 --- a/drivers/input/touchscreen/ist30xxb/ist30xxb_update.c +++ b/drivers/input/touchscreen/ist30xxb/ist30xxb_update.c @@ -1305,17 +1305,12 @@ ssize_t ist30xx_fw_version(struct device *dev, struct device_attribute *attr, ts_data->chip_id, ts_data->fw.core_ver, ts_data->fw.param_ver); #if IST30XX_INTERNAL_BIN - { - char msg[128]; + ist30xx_get_update_info(ts_data, ts_data->fw.buf, ts_data->fw.buf_size); - ist30xx_get_update_info(ts_data, ts_data->fw.buf, ts_data->fw.buf_size); - - count += snprintf(msg, sizeof(msg), - " Header - f/w ver: 0x%x, param ver: 0x%x\r\n", - ist30xx_parse_ver(FLAG_FW, ts_data->fw.buf), - ist30xx_parse_ver(FLAG_PARAM, ts_data->fw.buf)); - strncat(buf, msg, sizeof(msg)); - } + count += snprintf(buf + count, + "Header - f/w ver: 0x%x, param ver: 0x%x\r\n", + ist30xx_parse_ver(FLAG_FW, ts_data->fw.buf), + ist30xx_parse_ver(FLAG_PARAM, ts_data->fw.buf)); #endif return count; diff --git a/drivers/input/touchscreen/ist30xxc/ist30xxc_sec.c b/drivers/input/touchscreen/ist30xxc/ist30xxc_sec.c index c9b8253..48d27fe 100644 --- a/drivers/input/touchscreen/ist30xxc/ist30xxc_sec.c +++ b/drivers/input/touchscreen/ist30xxc/ist30xxc_sec.c @@ -120,11 +120,8 @@ int ist30xx_get_key_sensitivity(struct ist30xx_data *data, int id) /* Factory CMD function */ static void set_default_result(struct sec_factory *sec) { - char delim = ':'; - memset(sec->cmd_result, 0, ARRAY_SIZE(sec->cmd_result)); - memcpy(sec->cmd_result, sec->cmd, strlen(sec->cmd)); - strncat(sec->cmd_result, &delim, CMD_STATE_RUNNING); + snprintf(sec->cmd_result, SEC_CMD_RESULT_STR_LEN, "%s:", sec->cmd); } static void set_cmd_result(struct sec_factory *sec, char *buf, int len) diff --git a/drivers/input/touchscreen/ist30xxc/ist30xxc_update.c b/drivers/input/touchscreen/ist30xxc/ist30xxc_update.c index 15eb35c..fe6086a 100755 --- a/drivers/input/touchscreen/ist30xxc/ist30xxc_update.c +++ b/drivers/input/touchscreen/ist30xxc/ist30xxc_update.c @@ -1413,19 +1413,13 @@ ssize_t ist30xx_fw_version_show(struct device *dev, data->fw.cur.test_ver, data->fw.cur.core_ver); #if IST30XX_INTERNAL_BIN - { - char msg[128]; - - ist30xx_get_update_info(data, data->fw.buf, data->fw.buf_size); - - count += snprintf(msg, sizeof(msg), - " Header - main: %x, fw: %x, test: %x, core: %x\n", - ist30xx_parse_ver(data, FLAG_MAIN, data->fw.buf), - ist30xx_parse_ver(data, FLAG_FW, data->fw.buf), - ist30xx_parse_ver(data, FLAG_TEST, data->fw.buf), - ist30xx_parse_ver(data, FLAG_CORE, data->fw.buf)); - strncat(buf, msg, sizeof(msg)); - } + ist30xx_get_update_info(data, data->fw.buf, data->fw.buf_size); + count += sprintf(buf + count, + "Header - main: %x, fw: %x, test: %x, core: %x\n", + ist30xx_parse_ver(data, FLAG_MAIN, data->fw.buf), + ist30xx_parse_ver(data, FLAG_FW, data->fw.buf), + ist30xx_parse_ver(data, FLAG_TEST, data->fw.buf), + ist30xx_parse_ver(data, FLAG_CORE, data->fw.buf)); #endif return count; -- 2.7.4 From e24e45be630daa71fd5672f387668e934d309ecf Mon Sep 17 00:00:00 2001 From: Seung-Woo Kim Date: Fri, 13 Jan 2017 14:19:37 +0900 Subject: [PATCH 16/16] packaging: remove To-Be-Unsupported macro The tizen_target_name macro will be removed, so this patch removes it. Change-Id: I58a8fbe2a9005c307f8b3c621958860b06086861 Signed-off-by: Seung-Woo Kim --- packaging/linux-3.10-sc7730.spec | 4 ---- 1 file changed, 4 deletions(-) diff --git a/packaging/linux-3.10-sc7730.spec b/packaging/linux-3.10-sc7730.spec index 6b1ac30..e9e5ab9 100644 --- a/packaging/linux-3.10-sc7730.spec +++ b/packaging/linux-3.10-sc7730.spec @@ -24,10 +24,6 @@ BuildRequires: bash BuildRequires: bc ExclusiveArch: %arm -%if "%{?tizen_target_name}" != "TM1" -ExcludeArch: %{arm} -%endif - %description The Linux Kernel, the operating system core itself -- 2.7.4