{"push_id":2353195734,"size":168,"distinct_size":0,"ref":"refs/heads/caf/aosp-common/upstream-linux-4.14.y","head":"58056a531e440061142a4481358ebb365193df5e","before":"7e83b2ff485cacbf73d27f821e07a8c78ad8cc68","commits":[{"sha":"b6f2efb86440af16ecdf08e23924a4dc52c1bd4a","author":{"name":"Randy Dunlap","email":"7b1545df92ec18ff8c05a6b1165712e69bce8bfd@infradead.org"},"message":"tracing: Prevent PROFILE_ALL_BRANCHES when FORTIFY_SOURCE=y\n\ncommit 68e76e034b6b1c1ce2eece1ab8ae4008e14be470 upstream.\n\nI regularly get 50 MB - 60 MB files during kernel randconfig builds.\nThese large files mostly contain (many repeats of; e.g., 124,594):\n\nIn file included from ../include/linux/string.h:6:0,\n                 from ../include/linux/uuid.h:20,\n                 from ../include/linux/mod_devicetable.h:13,\n                 from ../scripts/mod/devicetable-offsets.c:3:\n../include/linux/compiler.h:64:4: warning: '______f' is static but declared in inline function 'strcpy' which is not static [enabled by default]\n    ______f = {     \\\n    ^\n../include/linux/compiler.h:56:23: note: in expansion of macro '__trace_if'\n                       ^\n../include/linux/string.h:425:2: note: in expansion of macro 'if'\n  if (p_size == (size_t)-1 && q_size == (size_t)-1)\n  ^\n\nThis only happens when CONFIG_FORTIFY_SOURCE=y and\nCONFIG_PROFILE_ALL_BRANCHES=y, so prevent PROFILE_ALL_BRANCHES if\nFORTIFY_SOURCE=y.\n\nLink: http://lkml.kernel.org/r/9199446b-a141-c0c3-9678-a3f9107f2750@infradead.org\n\nSigned-off-by: Randy Dunlap <rdunlap@infradead.org>\nSigned-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>\nCc: Arnd Bergmann <arnd@arndb.de>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":false,"url":"https://api.github.com/repos/codeaurora-unofficial/kernel-msm-3.10/commits/b6f2efb86440af16ecdf08e23924a4dc52c1bd4a"},{"sha":"e99306bb4f6741d5482f924585975db5a6934953","author":{"name":"Steffen Weber","email":"09804568d4d678eddf60d6adec9d1525ccd1ed56@gmail.com"},"message":"scsi: smartpqi: allow static build (\"built-in\")\n\ncommit dc2db1dc5fb9ab3a43b305c2720fee5278dbee2a upstream.\n\nIf CONFIG_SCSI_SMARTPQI=y then don't build this driver as a module.\n\nSigned-off-by: Steffen Weber <steffen.weber@gmail.com>\nSigned-off-by: Martin K. Petersen <martin.petersen@oracle.com>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":false,"url":"https://api.github.com/repos/codeaurora-unofficial/kernel-msm-3.10/commits/e99306bb4f6741d5482f924585975db5a6934953"},{"sha":"7a748f0bb2e4aca2c18223585523eb07199a4715","author":{"name":"Jack Morgenstein","email":"9199a894d30558f9073fe198ba069ef3e4372dd7@dev.mellanox.co.il"},"message":"IB/umad: Fix use of unprotected device pointer\n\ncommit f23a5350e43c810ca36b26d4ed4ecd9a08686f47 upstream.\n\nThe ib_write_umad() is protected by taking the umad file mutex.\nHowever, it accesses file->port->ib_dev -- which is protected only by the\nport's mutex (field file_mutex).\n\nThe ib_umad_remove_one() calls ib_umad_kill_port() which sets\nport->ib_dev to NULL under the port mutex (NOT the file mutex).\nIt then sets the mad agent to \"dead\" under the umad file mutex.\n\nThis is a race condition -- because there is a window where\nport->ib_dev is NULL, while the agent is not \"dead\".\n\nAs a result, we saw stack traces like:\n\n[16490.678059] BUG: unable to handle kernel NULL pointer dereference at 00000000000000b0\n[16490.678246] IP: ib_umad_write+0x29c/0xa3a [ib_umad]\n[16490.678333] PGD 0 P4D 0\n[16490.678404] Oops: 0000 [#1] SMP PTI\n[16490.678466] Modules linked in: rdma_ucm(OE) ib_ucm(OE) rdma_cm(OE) iw_cm(OE) ib_ipoib(OE) ib_cm(OE) ib_uverbs(OE) ib_umad(OE) mlx4_en(OE) ptp pps_core mlx4_ib(OE-) ib_core(OE) mlx4_core(OE) mlx_compat\n(OE) memtrack(OE) devlink mst_pciconf(OE) mst_pci(OE) netconsole nfsv3 nfs_acl nfs lockd grace fscache cfg80211 rfkill esp6_offload esp6 esp4_offload esp4 sunrpc kvm_intel kvm ppdev parport_pc irqbypass\nparport joydev i2c_piix4 virtio_balloon cirrus drm_kms_helper ttm drm e1000 serio_raw virtio_pci virtio_ring virtio ata_generic pata_acpi qemu_fw_cfg [last unloaded: mlxfw]\n[16490.679202] CPU: 4 PID: 3115 Comm: sminfo Tainted: G           OE   4.14.13-300.fc27.x86_64 #1\n[16490.679339] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Ubuntu-1.8.2-1ubuntu2 04/01/2014\n[16490.679477] task: ffff9cf753890000 task.stack: ffffaf70c26b0000\n[16490.679571] RIP: 0010:ib_umad_write+0x29c/0xa3a [ib_umad]\n[16490.679664] RSP: 0018:ffffaf70c26b3d90 EFLAGS: 00010202\n[16490.679747] RAX: 0000000000000010 RBX: ffff9cf75610fd80 RCX: 0000000000000000\n[16490.679856] RDX: 0000000000000001 RSI: 00007ffdf2bfd714 RDI: ffff9cf6bb2a9c00\n\nIn the above trace, ib_umad_write is trying to dereference the NULL\nfile->port->ib_dev pointer.\n\nFix this by using the agent's device pointer (the device field\nin struct ib_mad_agent) -- which IS protected by the umad file mutex.\n\nFixes: 44c58487d51a (\"IB/core: Define 'ib' and 'roce' rdma_ah_attr types\")\nSigned-off-by: Jack Morgenstein <jackm@dev.mellanox.co.il>\nSigned-off-by: Leon Romanovsky <leon@kernel.org>\nSigned-off-by: Jason Gunthorpe <jgg@mellanox.com>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":false,"url":"https://api.github.com/repos/codeaurora-unofficial/kernel-msm-3.10/commits/7a748f0bb2e4aca2c18223585523eb07199a4715"},{"sha":"5a4255467cd8ce9e2c5f9a25b50f2fe692cf1bb8","author":{"name":"Mike Marciniszyn","email":"7cb1bbacd3590155d981f3cfab123eba9e5ef46e@intel.com"},"message":"IB/qib: Fix comparison error with qperf compare/swap test\n\ncommit 87b3524cb5058fdc7c2afdb92bdb2e079661ddc4 upstream.\n\nThis failure exists with qib:\n\nver_rc_compare_swap:\nmismatch, sequence 2, expected 123456789abcdef, got 0\n\nThe request builder was using the incorrect inlines to\nbuild the request header resulting in incorrect data\nin the atomic header.\n\nFix by using the appropriate inlines to create the request.\n\nFixes: 261a4351844b (\"IB/qib,IB/hfi: Use core common header file\")\nReviewed-by: Michael J. Ruhl <michael.j.ruhl@intel.com>\nSigned-off-by: Mike Marciniszyn <mike.marciniszyn@intel.com>\nSigned-off-by: Dennis Dalessandro <dennis.dalessandro@intel.com>\nSigned-off-by: Jason Gunthorpe <jgg@mellanox.com>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":false,"url":"https://api.github.com/repos/codeaurora-unofficial/kernel-msm-3.10/commits/5a4255467cd8ce9e2c5f9a25b50f2fe692cf1bb8"},{"sha":"ade57e9031fac0c972c488acfce58e9a50e2c8dc","author":{"name":"Jack Morgenstein","email":"9199a894d30558f9073fe198ba069ef3e4372dd7@dev.mellanox.co.il"},"message":"IB/mlx4: Fix incorrectly releasing steerable UD QPs when have only ETH ports\n\ncommit 852f6927594d0d3e8632c889b2ab38cbc46476ad upstream.\n\nAllocating steerable UD QPs depends on having at least one IB port,\nwhile releasing those QPs does not.\n\nAs a result, when there are only ETH ports, the IB (RoCE) driver\nrequests releasing a qp range whose base qp is zero, with\nqp count zero.\n\nWhen SR-IOV is enabled, and the VF driver is running on a VM over\na hypervisor which treats such qp release calls as errors\n(rather than NOPs), we see lines in the VM message log like:\n\n mlx4_core 0002:00:02.0: Failed to release qp range base:0 cnt:0\n\nFix this by adding a check for a zero count in mlx4_release_qp_range()\n(which thus treats releasing 0 qps as a nop), and eliminating the\ncheck for device managed flow steering when releasing steerable UD QPs.\n(Freeing ib_uc_qpns_bitmap unconditionally is also OK, since it\nremains NULL when steerable UD QPs are not allocated).\n\nFixes: 4196670be786 (\"IB/mlx4: Don't allocate range of steerable UD QPs for Ethernet-only device\")\nSigned-off-by: Jack Morgenstein <jackm@dev.mellanox.co.il>\nSigned-off-by: Leon Romanovsky <leon@kernel.org>\nSigned-off-by: Jason Gunthorpe <jgg@mellanox.com>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":false,"url":"https://api.github.com/repos/codeaurora-unofficial/kernel-msm-3.10/commits/ade57e9031fac0c972c488acfce58e9a50e2c8dc"},{"sha":"18c0ee900c8d93ae48a99cc1f46d372897b8e9a6","author":{"name":"Bart Van Assche","email":"b8a13ad2fc8473e67a34a68acf4216fb1fa3477b@wdc.com"},"message":"IB/core: Fix two kernel warnings triggered by rxe registration\n\ncommit 02ee9da347873699603d9ce0112a80b5dd69dea1 upstream.\n\nEliminate the WARN_ONs that create following two warnings when\nregistering an rxe device:\n\nWARNING: CPU: 2 PID: 1005 at drivers/infiniband/core/device.c:449 ib_register_device+0x591/0x640 [ib_core]\nCPU: 2 PID: 1005 Comm: run_tests Not tainted 4.15.0-rc4-dbg+ #2\nHardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.0.0-prebuilt.qemu-project.org 04/01/2014\nRIP: 0010:ib_register_device+0x591/0x640 [ib_core]\nCall Trace:\n rxe_register_device+0x3c6/0x470 [rdma_rxe]\n rxe_add+0x543/0x5e0 [rdma_rxe]\n rxe_net_add+0x37/0xb0 [rdma_rxe]\n rxe_param_set_add+0x5a/0x120 [rdma_rxe]\n param_attr_store+0x5e/0xc0\n module_attr_store+0x19/0x30\n sysfs_kf_write+0x3d/0x50\n kernfs_fop_write+0x116/0x1a0\n __vfs_write+0x23/0x120\n vfs_write+0xbe/0x1b0\n SyS_write+0x44/0xa0\n entry_SYSCALL_64_fastpath+0x23/0x9a\n\nWARNING: CPU: 2 PID: 1005 at drivers/infiniband/core/sysfs.c:1279 ib_device_register_sysfs+0x11d/0x160 [ib_core]\nCPU: 2 PID: 1005 Comm: run_tests Tainted: G        W        4.15.0-rc4-dbg+ #2\nHardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.0.0-prebuilt.qemu-project.org 04/01/2014\nRIP: 0010:ib_device_register_sysfs+0x11d/0x160 [ib_core]\nCall Trace:\n ib_register_device+0x3f7/0x640 [ib_core]\n rxe_register_device+0x3c6/0x470 [rdma_rxe]\n rxe_add+0x543/0x5e0 [rdma_rxe]\n rxe_net_add+0x37/0xb0 [rdma_rxe]\n rxe_param_set_add+0x5a/0x120 [rdma_rxe]\n param_attr_store+0x5e/0xc0\n module_attr_store+0x19/0x30\n sysfs_kf_write+0x3d/0x50\n kernfs_fop_write+0x116/0x1a0\n __vfs_write+0x23/0x120\n vfs_write+0xbe/0x1b0\n SyS_write+0x44/0xa0\n entry_SYSCALL_64_fastpath+0x23/0x9a\n\nThe code should accept either a parent pointer or a fully specified DMA\nspecification without producing warnings.\n\nFixes: 99db9494035f (\"IB/core: Remove ib_device.dma_device\")\nSigned-off-by: Bart Van Assche <bart.vanassche@wdc.com>\nCc: Leon Romanovsky <leon@kernel.org>\nSigned-off-by: Jason Gunthorpe <jgg@mellanox.com>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":false,"url":"https://api.github.com/repos/codeaurora-unofficial/kernel-msm-3.10/commits/18c0ee900c8d93ae48a99cc1f46d372897b8e9a6"},{"sha":"d40ad865704b0a3547ca199acba102020ebb947e","author":{"name":"Bodong Wang","email":"38cb4eb6dd40772c5eeeb82522fdd6c3c5f01d27@mellanox.com"},"message":"IB/core: Fix ib_wc structure size to remain in 64 bytes boundary\n\ncommit cd2a6e7d384b043d5d029e39663061cebc949385 upstream.\n\nThe change of slid from u16 to u32 results in sizeof(struct ib_wc)\ncross 64B boundary, which causes more cache misses. This patch\nrearranges the fields and remain the size to 64B.\n\nPahole output before this change:\n\nstruct ib_wc {\n        union {\n                u64                wr_id;                /*           8 */\n                struct ib_cqe *    wr_cqe;               /*           8 */\n        };                                               /*     0     8 */\n        enum ib_wc_status          status;               /*     8     4 */\n        enum ib_wc_opcode          opcode;               /*    12     4 */\n        u32                        vendor_err;           /*    16     4 */\n        u32                        byte_len;             /*    20     4 */\n        struct ib_qp *             qp;                   /*    24     8 */\n        union {\n                __be32             imm_data;             /*           4 */\n                u32                invalidate_rkey;      /*           4 */\n        } ex;                                            /*    32     4 */\n        u32                        src_qp;               /*    36     4 */\n        int                        wc_flags;             /*    40     4 */\n        u16                        pkey_index;           /*    44     2 */\n\n        /* XXX 2 bytes hole, try to pack */\n\n        u32                        slid;                 /*    48     4 */\n        u8                         sl;                   /*    52     1 */\n        u8                         dlid_path_bits;       /*    53     1 */\n        u8                         port_num;             /*    54     1 */\n        u8                         smac[6];              /*    55     6 */\n\n        /* XXX 1 byte hole, try to pack */\n\n        u16                        vlan_id;              /*    62     2 */\n        /* --- cacheline 1 boundary (64 bytes) --- */\n        u8                         network_hdr_type;     /*    64     1 */\n\n        /* size: 72, cachelines: 2, members: 17 */\n        /* sum members: 62, holes: 2, sum holes: 3 */\n        /* padding: 7 */\n        /* last cacheline: 8 bytes */\n};\n\nPahole output after this change:\n\nstruct ib_wc {\n        union {\n                u64                wr_id;                /*           8 */\n                struct ib_cqe *    wr_cqe;               /*           8 */\n        };                                               /*     0     8 */\n        enum ib_wc_status          status;               /*     8     4 */\n        enum ib_wc_opcode          opcode;               /*    12     4 */\n        u32                        vendor_err;           /*    16     4 */\n        u32                        byte_len;             /*    20     4 */\n        struct ib_qp *             qp;                   /*    24     8 */\n        union {\n                __be32             imm_data;             /*           4 */\n                u32                invalidate_rkey;      /*           4 */\n        } ex;                                            /*    32     4 */\n        u32                        src_qp;               /*    36     4 */\n        u32                        slid;                 /*    40     4 */\n        int                        wc_flags;             /*    44     4 */\n        u16                        pkey_index;           /*    48     2 */\n        u8                         sl;                   /*    50     1 */\n        u8                         dlid_path_bits;       /*    51     1 */\n        u8                         port_num;             /*    52     1 */\n        u8                         smac[6];              /*    53     6 */\n\n        /* XXX 1 byte hole, try to pack */\n\n        u16                        vlan_id;              /*    60     2 */\n        u8                         network_hdr_type;     /*    62     1 */\n\n        /* size: 64, cachelines: 1, members: 17 */\n        /* sum members: 62, holes: 1, sum holes: 1 */\n        /* padding: 1 */\n};\n\nFixes: 7db20ecd1d97 (\"IB/core: Change wc.slid from 16 to 32 bits\")\nSigned-off-by: Bodong Wang <bodong@mellanox.com>\nReviewed-by: Parav Pandit <parav@mellanox.com>\nSigned-off-by: Leon Romanovsky <leon@kernel.org>\nSigned-off-by: Jason Gunthorpe <jgg@mellanox.com>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":false,"url":"https://api.github.com/repos/codeaurora-unofficial/kernel-msm-3.10/commits/d40ad865704b0a3547ca199acba102020ebb947e"},{"sha":"1d6eb826e65d8b92d1f8cb081b33bb0786a5a4ab","author":{"name":"Michael J. Ruhl","email":"68d1e255e0c124b3df8b178fcdf33182af61d3b0@intel.com"},"message":"IB/core: Avoid a potential OOPs for an unused optional parameter\n\ncommit 2ff124d597c2df8696169ce0006fc974c49a4569 upstream.\n\nThe ev_file is an optional parameter for CQ creation. If the parameter\nis not passed, the ev_file pointer will be NULL.  Using that pointer\nto set the cq_context will result in an OOPs.\n\nVerify that ev_file is not NULL before using.\n\nCc: <stable@vger.kernel.org> # 4.14.x\nFixes: 9ee79fce3642 (\"IB/core: Add completion queue (cq) object actions\")\nReviewed-by: Dennis Dalessandro <dennis.dalessandro@intel.com>\nReviewed-by: Ira Weiny <ira.weiny@intel.com>\nSigned-off-by: Michael J. Ruhl <michael.j.ruhl@intel.com>\nSigned-off-by: Dennis Dalessandro <dennis.dalessandro@intel.com>\nSigned-off-by: Jason Gunthorpe <jgg@mellanox.com>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":false,"url":"https://api.github.com/repos/codeaurora-unofficial/kernel-msm-3.10/commits/1d6eb826e65d8b92d1f8cb081b33bb0786a5a4ab"},{"sha":"9c2e7a048d19dce8b82e0dc169feb1721d856d37","author":{"name":"Anders Roxell","email":"c10050f1a58a290c7b682342233f2a0771462478@linaro.org"},"message":"selftests: seccomp: fix compile error seccomp_bpf\n\ncommit 912ec316686df352028afb6efec59e47a958a24d upstream.\n\naarch64-linux-gnu-gcc -Wl,-no-as-needed -Wall\n    -lpthread seccomp_bpf.c -o seccomp_bpf\nseccomp_bpf.c: In function 'tracer_ptrace':\nseccomp_bpf.c:1720:12: error: '__NR_open' undeclared\n    (first use in this function)\n  if (nr == __NR_open)\n            ^~~~~~~~~\nseccomp_bpf.c:1720:12: note: each undeclared identifier is reported\n    only once for each function it appears in\nIn file included from seccomp_bpf.c:48:0:\nseccomp_bpf.c: In function 'TRACE_syscall_ptrace_syscall_dropped':\nseccomp_bpf.c:1795:39: error: '__NR_open' undeclared\n    (first use in this function)\n  EXPECT_SYSCALL_RETURN(EPERM, syscall(__NR_open));\n                                       ^\nopen(2) is a legacy syscall, replaced with openat(2) since 2.6.16.\nThus new architectures in the kernel, such as arm64, don't implement\nthese legacy syscalls.\n\nFixes: a33b2d0359a0 (\"selftests/seccomp: Add tests for basic ptrace actions\")\nSigned-off-by: Anders Roxell <anders.roxell@linaro.org>\nTested-by: Naresh Kamboju <naresh.kamboju@linaro.org>\nCc: stable@vger.kernel.org\nAcked-by: Kees Cook <keescook@chromium.org>\nSigned-off-by: Shuah Khan <shuahkh@osg.samsung.com>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":false,"url":"https://api.github.com/repos/codeaurora-unofficial/kernel-msm-3.10/commits/9c2e7a048d19dce8b82e0dc169feb1721d856d37"},{"sha":"7dd2dbdd4606fc44da2cbb59fcd1c560c3f3fb94","author":{"name":"Arnd Bergmann","email":"72a0f6d3b182607e6d5c44b93e1abb7b23ee18f3@arndb.de"},"message":"kselftest: fix OOM in memory compaction test\n\ncommit 4c1baad223906943b595a887305f2e8124821dad upstream.\n\nRunning the compaction_test sometimes results in out-of-memory\nfailures. When I debugged this, it turned out that the code to\nreset the number of hugepages to the initial value is simply\nbroken since we write into an open sysctl file descriptor\nmultiple times without seeking back to the start.\n\nAdding the lseek here fixes the problem.\n\nCc: stable@vger.kernel.org\nReported-by: Naresh Kamboju <naresh.kamboju@linaro.org>\nLink: https://bugs.linaro.org/show_bug.cgi?id=3145\nSigned-off-by: Arnd Bergmann <arnd@arndb.de>\nSigned-off-by: Shuah Khan <shuahkh@osg.samsung.com>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":false,"url":"https://api.github.com/repos/codeaurora-unofficial/kernel-msm-3.10/commits/7dd2dbdd4606fc44da2cbb59fcd1c560c3f3fb94"},{"sha":"7b4e8a46d4cf2592910275dee6036ceb1d351975","author":{"name":"Bart Van Assche","email":"b8a13ad2fc8473e67a34a68acf4216fb1fa3477b@wdc.com"},"message":"RDMA/rxe: Fix a race condition related to the QP error state\n\ncommit 6f301e06de4cf9ab7303f5acd43e64fcd4aa04be upstream.\n\nThe following sequence:\n* Change queue pair state into IB_QPS_ERR.\n* Post a work request on the queue pair.\n\nTriggers the following race condition in the rdma_rxe driver:\n* rxe_qp_error() triggers an asynchronous call of rxe_completer(), the function\n  that examines the QP send queue.\n* rxe_post_send() posts a work request on the QP send queue.\n\nIf rxe_completer() runs prior to rxe_post_send(), it will drain the send\nqueue and the driver will assume no further action is necessary.\nHowever, once we post the send to the send queue, because the queue is\nin error, no send completion will ever happen and the send will get\nstuck.  In order to process the send, we need to make sure that\nrxe_completer() gets run after a send is posted to a queue pair in an\nerror state.  This patch ensures that happens.\n\nSigned-off-by: Bart Van Assche <bart.vanassche@wdc.com>\nCc: Moni Shoua <monis@mellanox.com>\nCc: <stable@vger.kernel.org> # v4.8\nSigned-off-by: Doug Ledford <dledford@redhat.com>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":false,"url":"https://api.github.com/repos/codeaurora-unofficial/kernel-msm-3.10/commits/7b4e8a46d4cf2592910275dee6036ceb1d351975"},{"sha":"571cb36fac2f62bfe5fe7fa488f0ea7271db9c2f","author":{"name":"Bart Van Assche","email":"b8a13ad2fc8473e67a34a68acf4216fb1fa3477b@wdc.com"},"message":"RDMA/rxe: Fix a race condition in rxe_requester()\n\ncommit 65567e41219888feec72fee1de98ccf1efbbc16d upstream.\n\nThe rxe driver works as follows:\n* The send queue, receive queue and completion queues are implemented as\n  circular buffers.\n* ib_post_send() and ib_post_recv() calls are serialized through a spinlock.\n* Removing elements from various queues happens from tasklet\n  context. Tasklets are guaranteed to run on at most one CPU. This serializes\n  access to these queues. See also rxe_completer(), rxe_requester() and\n  rxe_responder().\n* rxe_completer() processes the skbs queued onto qp->resp_pkts.\n* rxe_requester() handles the send queue (qp->sq.queue).\n* rxe_responder() processes the skbs queued onto qp->req_pkts.\n\nSince rxe_drain_req_pkts() processes qp->req_pkts, calling\nrxe_drain_req_pkts() from rxe_requester() is racy. Hence this patch.\n\nReported-by: Moni Shoua <monis@mellanox.com>\nSigned-off-by: Bart Van Assche <bart.vanassche@wdc.com>\nCc: stable@vger.kernel.org\nSigned-off-by: Doug Ledford <dledford@redhat.com>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":false,"url":"https://api.github.com/repos/codeaurora-unofficial/kernel-msm-3.10/commits/571cb36fac2f62bfe5fe7fa488f0ea7271db9c2f"},{"sha":"75a3f11c7bad580dc5fbf4175f5dc39192f088d5","author":{"name":"Bart Van Assche","email":"b8a13ad2fc8473e67a34a68acf4216fb1fa3477b@wdc.com"},"message":"RDMA/rxe: Fix rxe_qp_cleanup()\n\ncommit bb3ffb7ad48a21e98a5c64eb21103a74fd9f03f6 upstream.\n\nrxe_qp_cleanup() can sleep so it must be run in thread context and\nnot in atomic context. This patch avoids that the following bug is\ntriggered:\n\nKernel BUG at 00000000560033f3 [verbose debug info unavailable]\nBUG: sleeping function called from invalid context at net/core/sock.c:2761\nin_atomic(): 1, irqs_disabled(): 0, pid: 7, name: ksoftirqd/0\nINFO: lockdep is turned off.\nPreemption disabled at:\n[<00000000b6e69628>] __do_softirq+0x4e/0x540\nCPU: 0 PID: 7 Comm: ksoftirqd/0 Not tainted 4.15.0-rc7-dbg+ #4\nHardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.0.0-prebuilt.qemu-project.org 04/01/2014\nCall Trace:\n dump_stack+0x85/0xbf\n ___might_sleep+0x177/0x260\n lock_sock_nested+0x1d/0x90\n inet_shutdown+0x2e/0xd0\n rxe_qp_cleanup+0x107/0x140 [rdma_rxe]\n rxe_elem_release+0x18/0x80 [rdma_rxe]\n rxe_requester+0x1cf/0x11b0 [rdma_rxe]\n rxe_do_task+0x78/0xf0 [rdma_rxe]\n tasklet_action+0x99/0x270\n __do_softirq+0xc0/0x540\n run_ksoftirqd+0x1c/0x70\n smpboot_thread_fn+0x1be/0x270\n kthread+0x117/0x130\n ret_from_fork+0x24/0x30\n\nSigned-off-by: Bart Van Assche <bart.vanassche@wdc.com>\nCc: Moni Shoua <monis@mellanox.com>\nSigned-off-by: Doug Ledford <dledford@redhat.com>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":false,"url":"https://api.github.com/repos/codeaurora-unofficial/kernel-msm-3.10/commits/75a3f11c7bad580dc5fbf4175f5dc39192f088d5"},{"sha":"8e56a935a4b751bc8cb5288480b23827f8d2564d","author":{"name":"Shilpasri G Bhat","email":"87eed88179e1bd2bff97d919fe271c819311332d@linux.vnet.ibm.com"},"message":"cpufreq: powernv: Dont assume distinct pstate values for nominal and pmin\n\ncommit 3fa4680b860bf48b437d6a2c039789c4abe202ae upstream.\n\nSome OpenPOWER boxes can have same pstate values for nominal and\npmin pstates. In these boxes the current code will not initialize\n'powernv_pstate_info.min' variable and result in erroneous CPU\nfrequency reporting. This patch fixes this problem.\n\nFixes: 09ca4c9b5958 (cpufreq: powernv: Replacing pstate_id with frequency table index)\nReported-by: Alvin Wang <wangat@tw.ibm.com>\nSigned-off-by: Shilpasri G Bhat <shilpa.bhat@linux.vnet.ibm.com>\nAcked-by: Viresh Kumar <viresh.kumar@linaro.org>\nCc: 4.8+ <stable@vger.kernel.org> # 4.8+\nSigned-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":false,"url":"https://api.github.com/repos/codeaurora-unofficial/kernel-msm-3.10/commits/8e56a935a4b751bc8cb5288480b23827f8d2564d"},{"sha":"37efa60e167036b3eaed20e70095bbdcb72a55ce","author":{"name":"Christian König","email":"dc464c415f03d2f3370667bbb103c9e568954a82@gmail.com"},"message":"swiotlb: suppress warning when __GFP_NOWARN is set\n\ncommit d0bc0c2a31c95002d37c3cc511ffdcab851b3256 upstream.\n\nTTM tries to allocate coherent memory in chunks of 2MB first to improve\nTLB efficiency and falls back to allocating 4K pages if that fails.\n\nSuppress the warning when the 2MB allocations fails since there is a\nvalid fall back path.\n\nSigned-off-by: Christian König <christian.koenig@amd.com>\nReported-by: Mike Galbraith <efault@gmx.de>\nAcked-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>\nBug: https://bugs.freedesktop.org/show_bug.cgi?id=104082\nSigned-off-by: Christoph Hellwig <hch@lst.de>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":false,"url":"https://api.github.com/repos/codeaurora-unofficial/kernel-msm-3.10/commits/37efa60e167036b3eaed20e70095bbdcb72a55ce"},{"sha":"62def1d604a5473055b1cce23b55b7639302710a","author":{"name":"Bjorn Andersson","email":"823e8bbaa174806583fcc7d851531504068ef2fd@linaro.org"},"message":"PM / devfreq: Propagate error from devfreq_add_device()\n\ncommit d1bf2d30728f310f72296b54f0651ecdb09cbb12 upstream.\n\nPropagate the error of devfreq_add_device() in devm_devfreq_add_device()\nrather than statically returning ENOMEM. This makes it slightly faster\nto pinpoint the cause of a returned error.\n\nFixes: 8cd84092d35e (\"PM / devfreq: Add resource-managed function for devfreq device\")\nCc: stable@vger.kernel.org\nAcked-by: Chanwoo Choi <cw00.choi@samsung.com>\nSigned-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>\nSigned-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":false,"url":"https://api.github.com/repos/codeaurora-unofficial/kernel-msm-3.10/commits/62def1d604a5473055b1cce23b55b7639302710a"},{"sha":"1ec4c78e3444c317c724820f0f40324e65470654","author":{"name":"Brian Norris","email":"6171de59f5d877bdf30f45ca152231ebf21255a1@chromium.org"},"message":"mwifiex: resolve reset vs. remove()/shutdown() deadlocks\n\ncommit a64e7a79dd6030479caad603c8d78e6c9c14904f upstream.\n\nCommit b014e96d1abb (\"PCI: Protect pci_error_handlers->reset_notify()\nusage with device_lock()\") resolves races between driver reset and\nremoval, but it introduces some new deadlock problems. If we see a\ntimeout while we've already started suspending, removing, or shutting\ndown the driver, we might see:\n\n(a) a worker thread, running mwifiex_pcie_work() ->\n    mwifiex_pcie_card_reset_work() -> pci_reset_function()\n(b) a removal thread, running mwifiex_pcie_remove() ->\n    mwifiex_free_adapter() -> mwifiex_unregister() ->\n    mwifiex_cleanup_pcie() -> cancel_work_sync(&card->work)\n\nUnfortunately, mwifiex_pcie_remove() already holds the device lock that\npci_reset_function() is now requesting, and so we see a deadlock.\n\nIt's necessary to cancel and synchronize our outstanding work before\ntearing down the driver, so we can't have this work wait indefinitely\nfor the lock.\n\nIt's reasonable to only \"try\" to reset here, since this will mostly\nhappen for cases where it's already difficult to reset the firmware\nanyway (e.g., while we're suspending or powering off the system). And if\nreset *really* needs to happen, we can always try again later.\n\nFixes: b014e96d1abb (\"PCI: Protect pci_error_handlers->reset_notify() usage with device_lock()\")\nCc: <stable@vger.kernel.org>\nCc: Xinming Hu <huxm@marvell.com>\nSigned-off-by: Brian Norris <briannorris@chromium.org>\nSigned-off-by: Kalle Valo <kvalo@codeaurora.org>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":false,"url":"https://api.github.com/repos/codeaurora-unofficial/kernel-msm-3.10/commits/1ec4c78e3444c317c724820f0f40324e65470654"},{"sha":"2e7e8bd8f19550c56ebc56158f60626546b7c564","author":{"name":"Gang He","email":"71e8e1f77f5e069bebb0ce3af38fa564337138b9@suse.com"},"message":"ocfs2: try a blocking lock before return AOP_TRUNCATED_PAGE\n\ncommit ff26cc10aec128c3f86b5611fd5f59c71d49c0e3 upstream.\n\nIf we can't get inode lock immediately in the function\nocfs2_inode_lock_with_page() when reading a page, we should not return\ndirectly here, since this will lead to a softlockup problem when the\nkernel is configured with CONFIG_PREEMPT is not set.  The method is to\nget a blocking lock and immediately unlock before returning, this can\navoid CPU resource waste due to lots of retries, and benefits fairness\nin getting lock among multiple nodes, increase efficiency in case\nmodifying the same file frequently from multiple nodes.\n\nThe softlockup crash (when set /proc/sys/kernel/softlockup_panic to 1)\nlooks like:\n\n  Kernel panic - not syncing: softlockup: hung tasks\n  CPU: 0 PID: 885 Comm: multi_mmap Tainted: G L 4.12.14-6.1-default #1\n  Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011\n  Call Trace:\n    <IRQ>\n    dump_stack+0x5c/0x82\n    panic+0xd5/0x21e\n    watchdog_timer_fn+0x208/0x210\n    __hrtimer_run_queues+0xcc/0x200\n    hrtimer_interrupt+0xa6/0x1f0\n    smp_apic_timer_interrupt+0x34/0x50\n    apic_timer_interrupt+0x96/0xa0\n    </IRQ>\n   RIP: 0010:unlock_page+0x17/0x30\n   RSP: 0000:ffffaf154080bc88 EFLAGS: 00000246 ORIG_RAX: ffffffffffffff10\n   RAX: dead000000000100 RBX: fffff21e009f5300 RCX: 0000000000000004\n   RDX: dead0000000000ff RSI: 0000000000000202 RDI: fffff21e009f5300\n   RBP: 0000000000000000 R08: 0000000000000000 R09: ffffaf154080bb00\n   R10: ffffaf154080bc30 R11: 0000000000000040 R12: ffff993749a39518\n   R13: 0000000000000000 R14: fffff21e009f5300 R15: fffff21e009f5300\n    ocfs2_inode_lock_with_page+0x25/0x30 [ocfs2]\n    ocfs2_readpage+0x41/0x2d0 [ocfs2]\n    filemap_fault+0x12b/0x5c0\n    ocfs2_fault+0x29/0xb0 [ocfs2]\n    __do_fault+0x1a/0xa0\n    __handle_mm_fault+0xbe8/0x1090\n    handle_mm_fault+0xaa/0x1f0\n    __do_page_fault+0x235/0x4b0\n    trace_do_page_fault+0x3c/0x110\n    async_page_fault+0x28/0x30\n   RIP: 0033:0x7fa75ded638e\n   RSP: 002b:00007ffd6657db18 EFLAGS: 00010287\n   RAX: 000055c7662fb700 RBX: 0000000000000001 RCX: 000055c7662fb700\n   RDX: 0000000000001770 RSI: 00007fa75e909000 RDI: 000055c7662fb700\n   RBP: 0000000000000003 R08: 000000000000000e R09: 0000000000000000\n   R10: 0000000000000483 R11: 00007fa75ded61b0 R12: 00007fa75e90a770\n   R13: 000000000000000e R14: 0000000000001770 R15: 0000000000000000\n\nAbout performance improvement, we can see the testing time is reduced,\nand CPU utilization decreases, the detailed data is as follows.  I ran\nmulti_mmap test case in ocfs2-test package in a three nodes cluster.\n\nBefore applying this patch:\n    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND\n   2754 ocfs2te+  20   0  170248   6980   4856 D 80.73 0.341   0:18.71 multi_mmap\n   1505 root      rt   0  222236 123060  97224 S 2.658 6.015   0:01.44 corosync\n      5 root      20   0       0      0      0 S 1.329 0.000   0:00.19 kworker/u8:0\n     95 root      20   0       0      0      0 S 1.329 0.000   0:00.25 kworker/u8:1\n   2728 root      20   0       0      0      0 S 0.997 0.000   0:00.24 jbd2/sda1-33\n   2721 root      20   0       0      0      0 S 0.664 0.000   0:00.07 ocfs2dc-3C8CFD4\n   2750 ocfs2te+  20   0  142976   4652   3532 S 0.664 0.227   0:00.28 mpirun\n\n  ocfs2test@tb-node2:~>multiple_run.sh -i ens3 -k ~/linux-4.4.21-69.tar.gz -o ~/ocfs2mullog -C hacluster -s pcmk -n tb-node2,tb-node1,tb-node3 -d /dev/sda1 -b 4096 -c 32768 -t multi_mmap /mnt/shared\n  Tests with \"-b 4096 -C 32768\"\n  Thu Dec 28 14:44:52 CST 2017\n  multi_mmap..................................................Passed.\n  Runtime 783 seconds.\n\nAfter apply this patch:\n\n    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND\n   2508 ocfs2te+  20   0  170248   6804   4680 R 54.00 0.333   0:55.37 multi_mmap\n    155 root      20   0       0      0      0 S 2.667 0.000   0:01.20 kworker/u8:3\n     95 root      20   0       0      0      0 S 2.000 0.000   0:01.58 kworker/u8:1\n   2504 ocfs2te+  20   0  142976   4604   3480 R 1.667 0.225   0:01.65 mpirun\n      5 root      20   0       0      0      0 S 1.000 0.000   0:01.36 kworker/u8:0\n   2482 root      20   0       0      0      0 S 1.000 0.000   0:00.86 jbd2/sda1-33\n    299 root       0 -20       0      0      0 S 0.333 0.000   0:00.13 kworker/2:1H\n    335 root       0 -20       0      0      0 S 0.333 0.000   0:00.17 kworker/1:1H\n    535 root      20   0   12140   7268   1456 S 0.333 0.355   0:00.34 haveged\n   1282 root      rt   0  222284 123108  97224 S 0.333 6.017   0:01.33 corosync\n\n  ocfs2test@tb-node2:~>multiple_run.sh -i ens3 -k ~/linux-4.4.21-69.tar.gz -o ~/ocfs2mullog -C hacluster -s pcmk -n tb-node2,tb-node1,tb-node3 -d /dev/sda1 -b 4096 -c 32768 -t multi_mmap /mnt/shared\n  Tests with \"-b 4096 -C 32768\"\n  Thu Dec 28 15:04:12 CST 2017\n  multi_mmap..................................................Passed.\n  Runtime 487 seconds.\n\nLink: http://lkml.kernel.org/r/1514447305-30814-1-git-send-email-ghe@suse.com\nFixes: 1cce4df04f37 (\"ocfs2: do not lock/unlock() inode DLM lock\")\nSigned-off-by: Gang He <ghe@suse.com>\nReviewed-by: Eric Ren <zren@suse.com>\nAcked-by: alex chen <alex.chen@huawei.com>\nAcked-by: piaojun <piaojun@huawei.com>\nCc: Mark Fasheh <mfasheh@versity.com>\nCc: Joel Becker <jlbec@evilplan.org>\nCc: Junxiao Bi <junxiao.bi@oracle.com>\nCc: Joseph Qi <jiangqi903@gmail.com>\nCc: Changwei Ge <ge.changwei@h3c.com>\nCc: <stable@vger.kernel.org>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":false,"url":"https://api.github.com/repos/codeaurora-unofficial/kernel-msm-3.10/commits/2e7e8bd8f19550c56ebc56158f60626546b7c564"},{"sha":"5b98d31481f9e216e6df6b31e5a959db259c055e","author":{"name":"Mahesh Salgaonkar","email":"b41051d1d820719a19f7ea7d1181ca4c2837b189@linux.vnet.ibm.com"},"message":"powerpc/radix: Remove trace_tlbie call from radix__flush_tlb_all\n\ncommit 8d81296cfcce89013a714feb8d25004a156f8181 upstream.\n\nradix__flush_tlb_all() is called only in kexec path in real mode and any\ntracepoints at this stage will make kexec to fail if enabled.\n\nTo verify enable tlbie trace before kexec.\n\n$ echo 1 > /sys/kernel/debug/tracing/events/powerpc/tlbie/enable\n== kexec into new kernel and kexec fails.\n\nFix this by not calling trace_tlbie from radix__flush_tlb_all().\n\nFixes: 0428491cba92 (\"powerpc/mm: Trace tlbie(l) instructions\")\nCc: stable@vger.kernel.org # v4.13+\nSigned-off-by: Mahesh Salgaonkar <mahesh@linux.vnet.ibm.com>\nAcked-by: Balbir Singh <bsingharora@gmail.com>\nSigned-off-by: Michael Ellerman <mpe@ellerman.id.au>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":false,"url":"https://api.github.com/repos/codeaurora-unofficial/kernel-msm-3.10/commits/5b98d31481f9e216e6df6b31e5a959db259c055e"},{"sha":"4386f223b41868197080bd74882c2d31aca92a1a","author":{"name":"Nathan Fontenot","email":"3a130a78b172204adce9a1ca8f1cff91243ba451@linux.vnet.ibm.com"},"message":"powerpc/numa: Invalidate numa_cpu_lookup_table on cpu remove\n\ncommit 1d9a090783bef19fe8cdec878620d22f05191316 upstream.\n\nWhen DLPAR removing a CPU, the unmapping of the cpu from a node in\nunmap_cpu_from_node() should also invalidate the CPUs entry in the\nnuma_cpu_lookup_table. There is not a guarantee that on a subsequent\nDLPAR add of the CPU the associativity will be the same and thus\ncould be in a different node. Invalidating the entry in the\nnuma_cpu_lookup_table causes the associativity to be read from the\ndevice tree at the time of the add.\n\nThe current behavior of not invalidating the CPUs entry in the\nnuma_cpu_lookup_table can result in scenarios where the the topology\nlayout of CPUs in the partition does not match the device tree\nor the topology reported by the HMC.\n\nThis bug looks like it was introduced in 2004 in the commit titled\n\"ppc64: cpu hotplug notifier for numa\", which is 6b15e4e87e32 in the\nlinux-fullhist tree. Hence tag it for all stable releases.\n\nCc: stable@vger.kernel.org\nSigned-off-by: Nathan Fontenot <nfont@linux.vnet.ibm.com>\nReviewed-by: Tyrel Datwyler <tyreld@linux.vnet.ibm.com>\nSigned-off-by: Michael Ellerman <mpe@ellerman.id.au>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":false,"url":"https://api.github.com/repos/codeaurora-unofficial/kernel-msm-3.10/commits/4386f223b41868197080bd74882c2d31aca92a1a"}]}
{"actor":{"display_login":"Mazda--"}}