GitHub PushEvent at 2014-03-23 08:44:23
Repository: Samsung_STE_Kernel
Actor: zwliew
Payload: {"shas":[["f2fd2c30687c5a7a546289aa41fc1888c5c7f253","b8758144901c3e72bcff7c4afe84e20f2fe6ad12@gmail.com","USB: hub: Avoid NULL pointer dereference when hub doesn't have any ports\n\nReturn an error if hub->descriptor->bNbrPorts==0. Without this additional\ncheck, we can end up doing a \"hub->ports = kzalloc(0, GFP_KERNEL)\".\nThis hub->ports pointer will therefore be non-NULL and will be used.\nExample of dmesg:\n   INIT: usb 1-1: New USB device found, idVendor=0424, idProduct=2512\n   usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0\n   hub 1-1:1.0: USB hub found\n   version 2.86 bootinghub 1-1:1.0: 0 ports detected\n   Unable to handle kernel NULL pointer dereference at virtual address 00000010\n\nSigned-off-by: David Linares <dlinares.linux@gmail.com>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","David Linares",true],["fb53c88fa0e4769e3a89f2c44d2ad065193adc28","922d07eb832a2cfd6d8fbb3bc47028958c85794a@canonical.com","binder: search for receiving context pid in global namespace\n\nBugLink: http://bugs.launchpad.net/bugs/1210149\n\nIf binder cannot find the receiving task in the sender's namespace it\nwill default to a null PID which thus breaks communication in our\ncontainer-based scenario. This patch extends binder to first look in the\nsenders namespace and if unsuccesfull search in the global namespace.\n\nChange-Id: I83077ffac575e632c1379bd69ea84b22acc61ba4\nSigned-off-by: Ricardo Mendoza <ricardo.mendoza@canonical.com>\nSigned-off-by: Tim Gardner <tim.gardner@canonical.com>","Ricardo Mendoza",true],["a03d3157dad5d742a851deb764c38b2919ff2912","5ff32272b3d9f86512eddc8e0af523fc6f7924e5@linaro.org","cpufreq: Optimize cpufreq_frequency_table_verify()\n\ncpufreq_frequency_table_verify() is rewritten here to make it more logical\nand efficient.\n - merge multiple lines for variable declarations together.\n - quit early if any frequency between min/max is found.\n - don't call cpufreq_verify_within_limits() in case any valid freq is\n   found as it is of no use.\n - rename the count variable as found and change its type to boolean.\n\nSigned-off-by: Viresh Kumar <viresh.kumar@linaro.org>\nSigned-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>","Viresh Kumar",true],["21fd2ee6e8386523f7a62a79095df456e764fd85","596727c8a0ea4db3ba2ceceedccbacd3d7b371b8@suse.cz","block: Reserve only one queue tag for sync IO if only 3 tags are available\n\nIn case a device has three tags available we still reserve two of them\nfor sync IO. That leaves only a single tag for async IO such as\nwriteback from flusher thread which results in poor performance.\n\nAllow async IO to consume two tags in case queue has three tag availabe\nto get a decent async write performance.\n\nThis patch improves streaming write performance on a machine with such disk\nfrom ~21 MB/s to ~52 MB/s. Also postmark throughput in presence of\nstreaming writer improves from 8 to 12 transactions per second so sync\nIO doesn't seem to be harmed in presence of heavy async writer.\n\nSigned-off-by: Jan Kara <jack@suse.cz>\nSigned-off-by: Jens Axboe <axboe@kernel.dk>\nSigned-off-by: Pranav Vashi <neobuddy89@gmail.com>\nSigned-off-by: franciscofranco <franciscofranco.1990@gmail.com>","Jan Kara",true],["7952ff9d8e6e50b182c2ccfb1c88d43466fe6919","5b23f8226e886b22344fc642373ea657dd596b63@linux.vnet.ibm.com","CPU hotplug, debug: detect imbalance between get_online_cpus() and put_online_cpus()\n\nThe synchronization between CPU hotplug readers and writers is achieved\nby means of refcounting, safeguarded by the cpu_hotplug.lock.\n\nget_online_cpus() increments the refcount, whereas put_online_cpus()\ndecrements it.  If we ever hit an imbalance between the two, we end up\ncompromising the guarantees of the hotplug synchronization i.e, for\nexample, an extra call to put_online_cpus() can end up allowing a\nhotplug reader to execute concurrently with a hotplug writer.\n\nSo, add a WARN_ON() in put_online_cpus() to detect such cases where the\nrefcount can go negative, and also attempt to fix it up, so that we can\ncontinue to run.\n\nChange-Id: I144efeaa5899a2e8a3cddd21f010679cbaaa2459\nSigned-off-by: Srivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com>\nReviewed-by: Yasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com>\nCc: Jiri Kosina <jkosina@suse.cz>\nCc: Thomas Gleixner <tglx@linutronix.de>\nCc: Ingo Molnar <mingo@kernel.org>\nCc: Peter Zijlstra <peterz@infradead.org>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>\nGit-commit: 075663d19885eb3738fd2d7dbdb8947e12563b68\nGit-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git\nSigned-off-by: Osvaldo Banuelos <osvaldob@codeaurora.org>\nSigned-off-by: franciscofranco <franciscofranco.1990@gmail.com>","Srivatsa S. Bhat",true],["c4b811bc9f3c805e8ef181ff11d1938b707b2efd","312c7d941f03386814be517ffdb3e0eb6624e275@google.com","net: loopback: set default mtu to 64K\n\nloopback current mtu of 16436 bytes allows no more than 3 MSS TCP\nsegments per frame, or 48 Kbytes. Changing mtu to 64K allows TCP\nstack to build large frames and significantly reduces stack overhead.\n\nPerformance boost on bulk TCP transferts can be up to 30 %, partly\nbecause we now have one ACK message for two 64KB segments, and a lower\nprobability of hitting /proc/sys/net/ipv4/tcp_reordering default limit.\n\nSigned-off-by: Eric Dumazet <edumazet@google.com>\nSigned-off-by: David S. Miller <davem@davemloft.net>\nSigned-off-by: franciscofranco <franciscofranco.1990@gmail.com>","Eric Dumazet",true],["779b6785006d2bd735e4435089c58ae1573da581","bb6c8cfe7699e0f11d1bee88022eb563a5f8e881@lge.com","mm, vmalloc: remove useless variable in vmap_block\n\nvbq in vmap_block isn't used. So remove it.\n\nSigned-off-by: Joonsoo Kim <iamjoonsoo.kim@lge.com>\nReviewed-by: Wanpeng Li <liwanp@linux.vnet.ibm.com>\nAcked-by: Johannes Weiner <hannes@cmpxchg.org>\nAcked-by: Zhang Yanfei <zhangyanfei@cn.fujitsu.com>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>\nSigned-off-by: Pranav Vashi <neobuddy89@gmail.com>\nSigned-off-by: franciscofranco <franciscofranco.1990@gmail.com>","Joonsoo Kim",true],["962c4dce26a5ab042e5c04e92dd0a13383890c21","bb6c8cfe7699e0f11d1bee88022eb563a5f8e881@lge.com","mm, vmalloc: use well-defined find_last_bit() func\n\nOur intention in here is to find last_bit within the region to flush.\nThere is well-defined function, find_last_bit() for this purpose and its\nperformance may be slightly better than current implementation.  So change\nit.\n\nSigned-off-by: Joonsoo Kim <iamjoonsoo.kim@lge.com>\nReviewed-by: Wanpeng Li <liwanp@linux.vnet.ibm.com>\nAcked-by: Johannes Weiner <hannes@cmpxchg.org>\nAcked-by: Zhang Yanfei <zhangyanfei@cn.fujitsu.com>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>\nSigned-off-by: Pranav Vashi <neobuddy89@gmail.com>\nSigned-off-by: franciscofranco <franciscofranco.1990@gmail.com>","Joonsoo Kim",true],["d5d04682cf3220929d7096fefd84682b765a70c1","24f7fe9d205c8a9f6ade0c2894e14303ca16087f@intel.com","readahead: make context readahead more conservative\n\nThis helps performance on moderately dense random reads on SSD.\n\nTransaction-Per-Second numbers provided by Taobao:\n\n\t\tQPS\tcase\n\t\t-------------------------------------------------------\n\t\t7536\tdisable context readahead totally\nw/ patch:\t7129\tslower size rampup and start RA on the 3rd read\n\t\t6717\tslower size rampup\nw/o patch:\t5581\tunmodified context readahead\n\nBefore, readahead will be started whenever reading page N+1 when it happen\nto read N recently.  After patch, we'll only start readahead when *three*\nrandom reads happen to access pages N, N+1, N+2.  The probability of this\nhappening is extremely low for pure random reads, unless they are very\ndense, which actually deserves some readahead.\n\nAlso start with a smaller readahead window.  The impact to interleaved\nsequential reads should be small, because for a long run stream, the the\nsmall readahead window rampup phase is negletable.\n\nThe context readahead actually benefits clustered random reads on HDD\nwhose seek cost is pretty high.  However as SSD is increasingly used for\nrandom read workloads it's better for the context readahead to concentrate\non interleaved sequential reads.\n\nAnother SSD rand read test from Miao\n\n        # file size:        2GB\n        # read IO amount: 625MB\n        sysbench --test=fileio          \\\n                --max-requests=10000    \\\n                --num-threads=1         \\\n                --file-num=1            \\\n                --file-block-size=64K   \\\n                --file-test-mode=rndrd  \\\n                --file-fsync-freq=0     \\\n                --file-fsync-end=off    run\n\nshows the performance of btrfs grows up from 69MB/s to 121MB/s, ext4 from\n104MB/s to 121MB/s.\n\nSigned-off-by: Wu Fengguang <fengguang.wu@intel.com>\nTested-by: Tao Ma <tm@tao.ma>\nTested-by: Miao Xie <miaox@cn.fujitsu.com>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>\nSigned-off-by: Pranav Vashi <neobuddy89@gmail.com>\nSigned-off-by: franciscofranco <franciscofranco.1990@gmail.com>","Fengguang Wu",true],["700c25af9d43d348f1fe8f61a1c7f42d9b9c27c1","ed0f1d78b8c21b2970494a178da4bdfa8beba2a7@lwfinger.net","cfg80211: Fix memory leak\n\nWhen a driver requests a specific regulatory domain after cfg80211 already\nhas one, a struct ieee80211_regdomain is leaked.\n\nChange-Id: Id28fc9861b9c911a97bd242439eabca097d76258\nReported-by: Larry Finger <Larry.Finger@lwfinger.net>\nTested-by: Larry Finger <Larry.Finger@lwfinger.net>\nSigned-off-by: Larry Finger <Larry.Finger@lwfinger.net>\nSigned-off-by: Johannes Berg <johannes.berg@intel.com>\nGit-commit: b7566fc363e23f0efd3fa1e1460f9421cdc0d77e\nGit-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git\n[mattw@codeaurora.org: trivially backport to the msm-3.4 kernel]\nSigned-off-by: Matt Wagantall <mattw@codeaurora.org>\n\nSigned-off-by: franciscofranco <franciscofranco.1990@gmail.com>","Larry Finger",true],["775d13ee11868168252ea758079c1df5fc91b475","feca23b3ae4a60fef538f28252c4665e4a95e740@parrot.com","ARM: 7668/1: fix memset-related crashes caused by recent GCC (4.7.2) optimizations\n\nRecent GCC versions (e.g. GCC-4.7.2) perform optimizations based on\nassumptions about the implementation of memset and similar functions.\nThe current ARM optimized memset code does not return the value of\nits first argument, as is usually expected from standard implementations.\n\nFor instance in the following function:\n\nvoid debug_mutex_lock_common(struct mutex *lock, struct mutex_waiter *waiter)\n{\n\tmemset(waiter, MUTEX_DEBUG_INIT, sizeof(*waiter));\n\twaiter->magic = waiter;\n\tINIT_LIST_HEAD(&waiter->list);\n}\n\ncompiled as:\n\n800554d0 <debug_mutex_lock_common>:\n800554d0:       e92d4008        push    {r3, lr}\n800554d4:       e1a00001        mov     r0, r1\n800554d8:       e3a02010        mov     r2, #16 ; 0x10\n800554dc:       e3a01011        mov     r1, #17 ; 0x11\n800554e0:       eb04426e        bl      80165ea0 <memset>\n800554e4:       e1a03000        mov     r3, r0\n800554e8:       e583000c        str     r0, [r3, #12]\n800554ec:       e5830000        str     r0, [r3]\n800554f0:       e5830004        str     r0, [r3, #4]\n800554f4:       e8bd8008        pop     {r3, pc}\n\nGCC assumes memset returns the value of pointer 'waiter' in register r0; causing\nregister/memory corruptions.\n\nThis patch fixes the return value of the assembly version of memset.\nIt adds a 'mov' instruction and merges an additional load+store into\nexisting load/store instructions.\nFor ease of review, here is a breakdown of the patch into 4 simple steps:\n\nStep 1\n======\nPerform the following substitutions:\nip -> r8, then\nr0 -> ip,\nand insert 'mov ip, r0' as the first statement of the function.\nAt this point, we have a memset() implementation returning the proper result,\nbut corrupting r8 on some paths (the ones that were using ip).\n\nStep 2\n======\nMake sure r8 is saved and restored when (! CALGN(1)+0) == 1:\n\nsave r8:\n-       str     lr, [sp, #-4]!\n+       stmfd   sp!, {r8, lr}\n\nand restore r8 on both exit paths:\n-       ldmeqfd sp!, {pc}               @ Now <64 bytes to go.\n+       ldmeqfd sp!, {r8, pc}           @ Now <64 bytes to go.\n(...)\n        tst     r2, #16\n        stmneia ip!, {r1, r3, r8, lr}\n-       ldr     lr, [sp], #4\n+       ldmfd   sp!, {r8, lr}\n\nStep 3\n======\nMake sure r8 is saved and restored when (! CALGN(1)+0) == 0:\n\nsave r8:\n-       stmfd   sp!, {r4-r7, lr}\n+       stmfd   sp!, {r4-r8, lr}\n\nand restore r8 on both exit paths:\n        bgt     3b\n-       ldmeqfd sp!, {r4-r7, pc}\n+       ldmeqfd sp!, {r4-r8, pc}\n(...)\n        tst     r2, #16\n        stmneia ip!, {r4-r7}\n-       ldmfd   sp!, {r4-r7, lr}\n+       ldmfd   sp!, {r4-r8, lr}\n\nStep 4\n======\nRewrite register list \"r4-r7, r8\" as \"r4-r8\".\n\nChange-Id: I79a0d6897572b693d50f8ea8a94aa331bfcc59f8\nGit-Commit: 455bd4c430b0c0a361f38e8658a0d6cb469942b5\nGit-Repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git\nSigned-off-by: Ivan Djelic <ivan.djelic@parrot.com>\nReviewed-by: Nicolas Pitre <nico@linaro.org>\nSigned-off-by: Dirk Behme <dirk.behme@gmail.com>\nSigned-off-by: Russell King <rmk+kernel@arm.linux.org.uk>\nSigned-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>\nSigned-off-by: franciscofranco <franciscofranco.1990@gmail.com>","Ivan Djelic",true],["02922bc66c2f4b82a50bd6fe7adf51340ed9d6b0","408789a210b05fb3b46935e815320d62ba00a06e@linaro.org","ARM: 7670/1: fix the memset fix\n\nCommit 455bd4c430b0 (\"ARM: 7668/1: fix memset-related crashes caused by\nrecent GCC (4.7.2) optimizations\") attempted to fix a compliance issue\nwith the memset return value.  However the memset itself became broken\nby that patch for misaligned pointers.\n\nThis fixes the above by branching over the entry code from the\nmisaligned fixup code to avoid reloading the original pointer.\n\nAlso, because the function entry alignment is wrong in the Thumb mode\ncompilation, that fixup code is moved to the end.\n\nWhile at it, the entry instructions are slightly reworked to help dual\nissue pipelines.\n\nChange-Id: I5db45a7de1e389bacb5d6e4513c0d446ae2c9440\nGit-Commit: 418df63adac56841ef6b0f1fcf435bc64d4ed177\nGit-Repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git\nSigned-off-by: Nicolas Pitre <nico@linaro.org>\nTested-by: Alexander Holler <holler@ahsoftware.de>\nSigned-off-by: Russell King <rmk+kernel@arm.linux.org.uk>\nSigned-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>\nSigned-off-by: franciscofranco <franciscofranco.1990@gmail.com>","Nicolas Pitre",true]],"size":12,"ref":"refs/heads/3.0.31","head":"02922bc66c2f4b82a50bd6fe7adf51340ed9d6b0"}