- 27 12月, 2019 40 次提交
-
-
由 Steven Rostedt (VMware) 提交于
commit 693713cbdb3a4bda5a8a678c31f06560bbb14657 upstream. User Mode Linux does not have access to the ip or sp fields of the pt_regs, and accessing them causes UML to fail to build. Hide the int3_emulate_jmp() and int3_emulate_call() instructions from UML, as it doesn't need them anyway. Reported-by: Nkbuild test robot <lkp@intel.com> Signed-off-by: NSteven Rostedt (VMware) <rostedt@goodmis.org> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: NYang Yingliang <yangyingliang@huawei.com>
-
由 Yupeng Zhou 提交于
driver inclusion category: bugfix bugzilla: NA CVE: NA This patch add the controller reset in dev_gone flow, if the internal abort timeout happened, it should do controller reset. Signed-off-by: NYupeng Zhou <zhouyupeng1@huawei.com> Reviewed-by: Nluojian <luojian5@huawei.com> Reviewed-by: Nchenxiang <chenxiang66@hisilicon.com> Reviewed-by: NYang Yingliang <yangyingliang@huawei.com> Signed-off-by: NYang Yingliang <yangyingliang@huawei.com>
-
由 Yupeng Zhou 提交于
driver inclusion category: bugfix bugzilla: NA CVE: NA 1. About the non-Write/Read command IO, should not check the response length. 2. About the write/read IO, should be aborted if the IO remained in target. Signed-off-by: NYupeng Zhou <zhouyupeng1@huawei.com> Reviewed-by: Nluojian <luojian5@huawei.com> Reviewed-by: Nchenxiang <chenxiang66@hisilicon.com> Reviewed-by: NYang Yingliang <yangyingliang@huawei.com> Signed-off-by: NYang Yingliang <yangyingliang@huawei.com>
-
由 Amir Goldstein 提交于
mainline inclusion from mainline-v5.2-rc1 commit d989903058a8 category: bugfix bugzilla: 16008 CVE: NA ------------------------------------------------- Overlayfs "fake" path is used for stacked file operations on underlying files. Operations on files with "fake" path must not generate fsnotify events with path data, because those events have already been generated at overlayfs layer and because the reported event->fd for fanotify marks on underlying inode/filesystem will have the wrong path (the overlayfs path). Link: https://lore.kernel.org/linux-fsdevel/20190423065024.12695-1-jencce.kernel@gmail.com/Reported-by: NMurphy Zhou <jencce.kernel@gmail.com> Fixes: d1d04ef8 ("ovl: stack file ops") Signed-off-by: NAmir Goldstein <amir73il@gmail.com> Signed-off-by: NMiklos Szeredi <mszeredi@redhat.com> Signed-off-by: Nzhangyi (F) <yi.zhang@huawei.com> Reviewed-by: Nyangerkun <yangerkun@huawei.com> Signed-off-by: NYang Yingliang <yangyingliang@huawei.com>
-
由 Amir Goldstein 提交于
mainline inclusion from mainline-v5.2-rc1 commit acf3062a7e1c category: bugfix bugzilla: 15999 CVE: NA ------------------------------------------------- This nasty little syzbot repro: https://syzkaller.appspot.com/x/repro.syz?x=12c7a94f400000 Creates overlay mounts where the same directory is both in upper and lower layers. Simplified example: mkdir foo work mount -t overlay none foo -o"lowerdir=.,upperdir=foo,workdir=work" The repro runs several threads in parallel that attempt to chdir into foo and attempt to symlink/rename/exec/mkdir the file bar. The repro hits a WARN_ON() I placed in ovl_instantiate(), which suggests that an overlay inode already exists in cache and is hashed by the pointer of the real upper dentry that ovl_create_real() has just created. At the point of the WARN_ON(), for overlay dir inode lock is held and upper dir inode lock, so at first, I did not see how this was possible. On a closer look, I see that after ovl_create_real(), because of the overlapping upper and lower layers, a lookup by another thread can find the file foo/bar that was just created in upper layer, at overlay path foo/foo/bar and hash the an overlay inode with the new real dentry as lower dentry. This is possible because the overlay directory foo/foo is not locked and the upper dentry foo/bar is in dcache, so ovl_lookup() can find it without taking upper dir inode shared lock. Overlapping layers is considered a wrong setup which would result in unexpected behavior, but it shouldn't crash the kernel and it shouldn't trigger WARN_ON() either, so relax this WARN_ON() and leave a pr_warn() instead to cover all cases of failure to get an overlay inode. The error returned from failure to insert new inode to cache with inode_insert5() was changed to -EEXIST, to distinguish from the error -ENOMEM returned on failure to get/allocate inode with iget5_locked(). Reported-by: syzbot+9c69c282adc4edd2b540@syzkaller.appspotmail.com Fixes: 01b39dcc ("ovl: use inode_insert5() to hash a newly...") Signed-off-by: NAmir Goldstein <amir73il@gmail.com> Signed-off-by: NMiklos Szeredi <mszeredi@redhat.com> Signed-off-by: Nzhangyi (F) <yi.zhang@huawei.com> Reviewed-by: Nyangerkun <yangerkun@huawei.com> Signed-off-by: NYang Yingliang <yangyingliang@huawei.com>
-
由 Amir Goldstein 提交于
mainline inclusion from mainline-v5.2-rc1 commit 9e46b840c705 category: bugfix bugzilla: 15998 CVE: NA ------------------------------------------------- Overlay file f_pos is the master copy that is preserved through copy up and modified on read/write, but only real fs knows how to SEEK_HOLE/SEEK_DATA and real fs may impose limitations that are more strict than ->s_maxbytes for specific files, so we use the real file to perform seeks. We do not call real fs for SEEK_CUR:0 query and for SEEK_SET:0 requests. Fixes: d1d04ef8 ("ovl: stack file ops") Reported-by: NEddie Horng <eddiehorng.tw@gmail.com> Signed-off-by: NAmir Goldstein <amir73il@gmail.com> Signed-off-by: NMiklos Szeredi <mszeredi@redhat.com> Signed-off-by: Nzhangyi (F) <yi.zhang@huawei.com> Reviewed-by: Nyangerkun <yangerkun@huawei.com> Signed-off-by: NYang Yingliang <yangyingliang@huawei.com>
-
由 fengsheng 提交于
driver inclusion category: feature bugzilla: NA CVE: NA sysctl: fix a memory leak. Signed-off-by: Nfengsheng <fengsheng5@huawei.com> Reviewed-by: Nlinsiwei <linsiwei@huawei.com> Reviewed-by: NYang Yingliang <yangyingliang@huawei.com> Signed-off-by: NYang Yingliang <yangyingliang@huawei.com>
-
由 fengsheng 提交于
driver inclusion category: feature bugzilla: NA CVE: NA fix bug:fix bug can not rmmod. Signed-off-by: Nfengsheng <fengsheng5@huawei.com> Reviewed-by: Nlinsiwei <linsiwei@huawei.com> Reviewed-by: NYang Yingliang <yangyingliang@huawei.com> Signed-off-by: NYang Yingliang <yangyingliang@huawei.com>
-
由 Yupeng Zhou 提交于
driver inclusion category: bugfix bugzilla: NA CVE: NA Increase the exception IO DFX, add the sense key print if IO underflow. Signed-off-by: NYupeng Zhou <zhouyupeng1@huawei.com> Reviewed-by: Nluojian <luojian5@huawei.com> Reviewed-by: Nchenxiang <chenxiang66@hisilicon.com> Reviewed-by: NYang Yingliang <yangyingliang@huawei.com> Signed-off-by: NYang Yingliang <yangyingliang@huawei.com>
-
由 Yupeng Zhou 提交于
driver inclusion category: bugfix bugzilla: NA CVE: NA optimize the code convention, using the slot after NULL checked. Signed-off-by: NYupeng Zhou <zhouyupeng1@huawei.com> Reviewed-by: Nluojian <luojian5@huawei.com> Reviewed-by: Nchenxiang <chenxiang66@hisilicon.com> Reviewed-by: NYang Yingliang <yangyingliang@huawei.com> Signed-off-by: NYang Yingliang <yangyingliang@huawei.com>
-
由 Yupeng Zhou 提交于
driver inclusion category: bugfix bugzilla: NA CVE: NA optimize the code convention, no need to '|' the 0xffffffff with other bit. Signed-off-by: NYupeng Zhou <zhouyupeng1@huawei.com> Reviewed-by: Nluojian <luojian5@huawei.com> Reviewed-by: Nchenxiang <chenxiang66@hisilicon.com> Reviewed-by: NYang Yingliang <yangyingliang@huawei.com> Signed-off-by: NYang Yingliang <yangyingliang@huawei.com>
-
由 Yupeng Zhou 提交于
driver inclusion category: feature bugzilla: NA CVE: NA add the bist loopback feature. Signed-off-by: NYupeng Zhou <zhouyupeng1@huawei.com> Reviewed-by: Nluojian <luojian5@huawei.com> Reviewed-by: Nchenxiang <chenxiang66@hisilicon.com> Reviewed-by: NYang Yingliang <yangyingliang@huawei.com> Signed-off-by: NYang Yingliang <yangyingliang@huawei.com>
-
由 Yupeng Zhou 提交于
driver inclusion category: feature bugzilla: NA CVE: NA default enable the debugfs feature. Signed-off-by: NYupeng Zhou <zhouyupeng1@huawei.com> Reviewed-by: Nluojian <luojian5@huawei.com> Reviewed-by: Nchenxiang <chenxiang66@hisilicon.com> Reviewed-by: NYang Yingliang <yangyingliang@huawei.com> Signed-off-by: NYang Yingliang <yangyingliang@huawei.com>
-
由 Yunsheng Lin 提交于
driver inclusion category: bugfix bugzilla: NA CVE: NA The driver may not be able to disable the ring through firmware when downing the netdev during reset process, which may cause hardware accessing freed buffer problem. This patch delays the ring buffer clearing to reset uninit process because hardware will not access the ring buffer after hardware reset is completed. Fixes: bb6b94a8 ("net: hns3: Add reset interface implementation in client") Feature or Bugfix:Bugfix Signed-off-by: NYunsheng Lin <linyunsheng@huawei.com> Reviewed-by: Nlipeng <lipeng321@huawei.com> Reviewed-by: NYang Yingliang <yangyingliang@huawei.com> Signed-off-by: NYang Yingliang <yangyingliang@huawei.com>
-
由 Yunsheng Lin 提交于
driver inclusion category: bugfix bugzilla: NA CVE: NA Currently when a gro packet is assembled by hw, the checksum is modified to reflect the entire packet by hw and skb->ip_summed is set to CHECKSUM_UNNECESSARY, which is not compliant with sw gro. This patch sets up skb's network and transport header, sets the gro packet's checksum according to pseudo header and set the skb->ip_summed to CHECKSUM_PARTIAL. This patch also use gso_size to distinguish gso packet from normal packet, use eth_type_vlan to check the vlan type and set the SKB_GSO_TCP_FIXEDID according to BD info during hw gro info processing. Feature or Bugfix:Bugfix Signed-off-by: NYunsheng Lin <linyunsheng@huawei.com> Reviewed-by: Nlipeng <lipeng321@huawei.com> Reviewed-by: NYang Yingliang <yangyingliang@huawei.com> Signed-off-by: NYang Yingliang <yangyingliang@huawei.com>
-
由 shenjian 提交于
driver inclusion category: bugfix bugzilla: NA CVE: NA This patchset fixes a few issues: 1) halt autoneg before loopback test, and resume it after loopback test finished. 2) merge back autoneg changes from linux kernel net-next branch. 3) configure the autoneg state after reset. Feature or Bugfix:Bugfix Signed-off-by: Nshenjian (K) <shenjian15@huawei.com> Reviewed-by: Nlipeng <lipeng321@huawei.com> Reviewed-by: NYang Yingliang <yangyingliang@huawei.com> Signed-off-by: NYang Yingliang <yangyingliang@huawei.com>
-
由 Xiongfeng Wang 提交于
hulk inclusion category: bugfix bugzilla: 16100 CVE: NA ------------------------------------------------- Product department report the following issue. It occured only once. [ 316.954347] Internal error: Oops - BUG: 0 [#1] SMP [ 318.336890] Process irq/142-pciehp (pid: 891, stack limit = 0x000000005e206109) [ 318.351602] CPU: 70 PID: 891 Comm: irq/142-pciehp Kdump: loaded Tainted: G W OE 4.19.36- [ 318.377182] Hardware name: Huawei TaiShan 2280 V2/BC82AMDD, BIOS 0.14 05/23/2019 [ 318.392071] pstate: 60c00089 (nZCv daIf +PAN +UAO) [ 318.401705] pc : add_timer+0x38/0x40 [ 318.408878] lr : __queue_delayed_work+0x84/0x100 [ 318.418156] sp : ffff000035c8bcc0 [ 318.424800] x29: ffff000035c8bcc0 x28: 0000000000000070 [ 318.435481] x27: ffff80bef698dd00 x26: ffff000008169000 [ 318.446159] x25: ffff000009119000 x24: 00000000000002ee [ 318.456840] x23: ffff807eff41e600 x22: 00000000000002ee [ 318.467520] x21: 0000000000000400 x20: ffff807eff41e600 [ 318.478200] x19: ffffa07ef60c3458 x18: ffffffffffffffff [ 318.488880] x17: 0000000000000000 x16: 0000000000000000 [ 318.499560] x15: ffff000009119708 x14: 206e692070752f6e [ 318.514383] x13: 776f64206b6e696c x12: 2065736972707275 [ 318.529287] x11: 0000000000000000 x10: ffff00000911bae0 [ 318.544136] x9 : 0000000000000000 x8 : 00000000000009df [ 318.558884] x7 : ffff0000092eef80 x6 : ffffa07eff95e3b8 [ 318.573572] x5 : ffffa07eff95e3b8 x4 : 0000000000000000 [ 318.588298] x3 : 0000000100000bfc x2 : ffffa07ef60c3420 [ 318.603066] x1 : 000000010000090e x0 : ffffa07eff962a30 [ 318.617780] Call trace: [ 318.626714] add_timer+0x38/0x40 [ 318.637129] __queue_delayed_work+0x84/0x100 [ 318.649588] queue_delayed_work_on+0xbc/0xc8 [ 318.661993] pciehp_ist+0x1c0/0x2f8 [ 318.672745] irq_thread_fn+0x30/0x80 [ 318.683600] irq_thread+0x128/0x200 [ 318.694187] kthread+0x134/0x138 [ 318.704202] ret_from_fork+0x10/0x18 It is because when we schedule the work, the 'work.timer' is already pending. I can't figure out how it happened. Let's just set 'work.data' and return if that is the case. Since the timer is pending, 'pciehp_ist' will be called later, we don't need to queue the work again. Fixes: 764cafd9875e ("pciehp: fix a race between pciehp and removing operations by sysfs") Signed-off-by: NXiongfeng Wang <wangxiongfeng2@huawei.com> Reviewed-by: NHanjun Guo <guohanjun@huawei.com> Signed-off-by: NYang Yingliang <yangyingliang@huawei.com> -
由 fengsheng 提交于
driver inclusion category: feature bugzilla: NA CVE: NA 1 fix bug:Miscarriage of Justice sas ras to usb ras. 2 read reg 0x20107E238 to judge cs or es. Signed-off-by: Nfengsheng <fengsheng5@huawei.com> Reviewed-by: linsiwei <linsiwei@huawei.com>a Reviewed-by: NYang Yingliang <yangyingliang@huawei.com> Signed-off-by: NYang Yingliang <yangyingliang@huawei.com>
-
由 fengsheng 提交于
driver inclusion category: feature bugzilla: NA CVE: NA optimize erase and write time Signed-off-by: NFeng Sheng <fengsheng5@huawei.com> Reviewed-by: Lin Siwei <linsiwei@huawei.com>a Reviewed-by: NYang Yingliang <yangyingliang@huawei.com> Signed-off-by: NYang Yingliang <yangyingliang@huawei.com>
-
由 Jiri Olsa 提交于
mainline inclusion from mainline-5.1-rc6 commit 1e6db2ee86e6a4399fc0ae5689e55e0fd1c43caf category: bugfix bugzilla: NA CVE: NA ------------------------------------------------- Bastian reported broken 'perf top -p PID' command, it won't display any data. The problem is that for -p option we monitor single thread, so we don't enable time in samples, because it's not needed. However since commit 16c66bc167cc we use ordered queues to stash data plus later commits added logic for dropping samples in case there's big load and we don't keep up. All this needs timestamp for sample. Enabling it unconditionally for perf top. Reported-by: NBastian Beischer <bastian.beischer@rwth-aachen.de> Signed-off-by: NJiri Olsa <jolsa@kernel.org> Tested-by: NArnaldo Carvalho de Melo <acme@redhat.com> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: bastian beischer <bastian.beischer@rwth-aachen.de> Fixes: 16c66bc167cc ("perf top: Add processing thread") Link: http://lkml.kernel.org/r/20190415125333.27160-1-jolsa@kernel.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com> Signed-off-by: NChunmei Xu <xuchunmei@huawei.com> Reviewed-by: NWei Li <liwei391@huawei.com> Signed-off-by: NYang Yingliang <yangyingliang@huawei.com>
-
由 Changbin Du 提交于
mainline inclusion from mainline-5.1-rc2 commit 1e5b0cf8672e622257df024074e6e09bfbcb7750 category: bugfix bugzilla: NA CVE: NA ------------------------------------------------- The array str[] should have six elements. ================================================================= ==4322==ERROR: AddressSanitizer: global-buffer-overflow on address 0x56463844e300 at pc 0x564637e7ad0d bp 0x7f30c8c89d10 sp 0x7f30c8c89d00 READ of size 8 at 0x56463844e300 thread T9 #0 0x564637e7ad0c in __ordered_events__flush util/ordered-events.c:316 #1 0x564637e7b0e4 in ordered_events__flush util/ordered-events.c:338 #2 0x564637c6a57d in process_thread /home/changbin/work/linux/tools/perf/builtin-top.c:1073 #3 0x7f30d173a163 in start_thread (/lib/x86_64-linux-gnu/libpthread.so.0+0x8163) #4 0x7f30cfffbdee in __clone (/lib/x86_64-linux-gnu/libc.so.6+0x11adee) 0x56463844e300 is located 32 bytes to the left of global variable 'flags' defined in 'util/trace-event-parse.c:229:26' (0x56463844e320) of size 192 0x56463844e300 is located 0 bytes to the right of global variable 'str' defined in 'util/ordered-events.c:268:28' (0x56463844e2e0) of size 32 SUMMARY: AddressSanitizer: global-buffer-overflow util/ordered-events.c:316 in __ordered_events__flush Shadow bytes around the buggy address: 0x0ac947081c10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0x0ac947081c20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0x0ac947081c30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0x0ac947081c40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0x0ac947081c50: 00 00 00 00 00 00 00 00 f9 f9 f9 f9 00 00 00 00 =>0x0ac947081c60:[f9]f9 f9 f9 00 00 00 00 00 00 00 00 00 00 00 00 0x0ac947081c70: 00 00 00 00 00 00 00 00 00 00 00 00 f9 f9 f9 f9 0x0ac947081c80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0x0ac947081c90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0x0ac947081ca0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0x0ac947081cb0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Shadow byte legend (one shadow byte represents 8 application bytes): Addressable: 00 Partially addressable: 01 02 03 04 05 06 07 Heap left redzone: fa Freed heap region: fd Stack left redzone: f1 Stack mid redzone: f2 Stack right redzone: f3 Stack after return: f5 Stack use after scope: f8 Global redzone: f9 Global init order: f6 Poisoned by user: f7 Container overflow: fc Array cookie: ac Intra object redzone: bb ASan internal: fe Left alloca redzone: ca Right alloca redzone: cb Thread T9 created by T0 here: #0 0x7f30d179de5f in __interceptor_pthread_create (/usr/lib/x86_64-linux-gnu/libasan.so.5+0x4ae5f) #1 0x564637c6b954 in __cmd_top /home/changbin/work/linux/tools/perf/builtin-top.c:1253 #2 0x564637c7173c in cmd_top /home/changbin/work/linux/tools/perf/builtin-top.c:1642 #3 0x564637d85038 in run_builtin /home/changbin/work/linux/tools/perf/perf.c:302 #4 0x564637d85577 in handle_internal_command /home/changbin/work/linux/tools/perf/perf.c:354 #5 0x564637d8597b in run_argv /home/changbin/work/linux/tools/perf/perf.c:398 #6 0x564637d860e9 in main /home/changbin/work/linux/tools/perf/perf.c:520 #7 0x7f30cff0509a in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2409a) Signed-off-by: NChangbin Du <changbin.du@gmail.com> Reviewed-by: NJiri Olsa <jolsa@kernel.org> Cc: Alexei Starovoitov <ast@kernel.org> Cc: Daniel Borkmann <daniel@iogearbox.net> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Steven Rostedt (VMware) <rostedt@goodmis.org> Cc: Jiri Olsa <jolsa@kernel.org> Fixes: 16c66bc167cc ("perf top: Add processing thread") Link: http://lkml.kernel.org/r/20190316080556.3075-13-changbin.du@gmail.comSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com> Signed-off-by: NChunmei Xu <xuchunmei@huawei.com> Reviewed-by: NWei Li <liwei391@huawei.com> Signed-off-by: NYang Yingliang <yangyingliang@huawei.com> -
由 Jiri Olsa 提交于
mainline inclusion from mainline-5.0-rc1 commit a4a6668a623e11f818a6abc9b5339855ee0407b1 category: bugfix bugzilla: NA CVE: NA ------------------------------------------------- We will need it in following patch, where we can't use the container_of() trick to get the higher level object. Signed-off-by: NJiri Olsa <jolsa@kernel.org> Acked-by: NDavid S. Miller <davem@davemloft.net> Acked-by: NNamhyung Kim <namhyung@kernel.org> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Peter Zijlstra <peterz@infradead.org> Link: http://lkml.kernel.org/n/tip-vgs9aoek21v14o3obza586yy@git.kernel.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com> Signed-off-by: NChunmei Xu <xuchunmei@huawei.com> Reviewed-by: NWei Li <liwei391@huawei.com> Signed-off-by: NYang Yingliang <yangyingliang@huawei.com>
-
由 Jiri Olsa 提交于
mainline inclusion from mainline-5.0-rc1 commit c94cef4beb66d3e1f4ed0f3bf6c2663a9c3cf3c0 category: bugfix bugzilla: NA CVE: NA ------------------------------------------------- So we can get out of hist processing ASAP on user request. Signed-off-by: NJiri Olsa <jolsa@kernel.org> Acked-by: NDavid S. Miller <davem@davemloft.net> Acked-by: NNamhyung Kim <namhyung@kernel.org> Tested-by: NArnaldo Carvalho de Melo <acme@redhat.com> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Peter Zijlstra <peterz@infradead.org> Link: https://lkml.kernel.org/n/tip-r8aufbgbixr2f85s3wcoaw9v@git.kernel.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com> Signed-off-by: NChunmei Xu <xuchunmei@huawei.com> Reviewed-by: NWei Li <liwei391@huawei.com> Signed-off-by: NYang Yingliang <yangyingliang@huawei.com>
-
由 Jiri Olsa 提交于
mainline inclusion from mainline-5.0-rc1 commit 94ad6e7e3606454498aeac1fdd1b9de5c1e6735a category: bugfix bugzilla: NA CVE: NA ------------------------------------------------- Use conditional variable logic to synchronize between the reading and processing threads. Currently it's done by having mutex around rotation code. Using a POSIX cond variable to sync both threads after queues rotation: Process thread: - Detects data - Switches queues - Sets rotate variable - Waits in pthread_cond_wait() Read thread: - Detects rotate is set - Kicks the process thread with a pthread_cond_signal() After this rotation is safely completed and both threads can continue with the new queue. Signed-off-by: NJiri Olsa <jolsa@kernel.org> Acked-by: NDavid S. Miller <davem@davemloft.net> Acked-by: NNamhyung Kim <namhyung@kernel.org> Tested-by: NArnaldo Carvalho de Melo <acme@redhat.com> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Peter Zijlstra <peterz@infradead.org> Link: http://lkml.kernel.org/n/tip-3rdeg23rv3brvy1pwt3igvyw@git.kernel.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com> Signed-off-by: NChunmei Xu <xuchunmei@huawei.com> Reviewed-by: NWei Li <liwei391@huawei.com> Signed-off-by: NYang Yingliang <yangyingliang@huawei.com> -
由 Jiri Olsa 提交于
mainline inclusion from mainline-5.0-rc1 commit 16c66bc167cc52992f66748aed7ac21396189457 category: bugfix bugzilla: NA CVE: NA ------------------------------------------------- Add a new thread that takes care of the hist creating to alleviate the main reader thread so it can keep perf mmaps served in time so that we reduce the possibility of losing events. The 'perf top' command now spawns 2 extra threads, the data processing is the following: 1) The main thread reads the data from mmaps and queues them to ordered events object; 2) The processing threads takes the data from the ordered events object and create initial histogram; 3) The GUI thread periodically sorts the initial histogram and presents it. Passing the data between threads 1 and 2 is done by having 2 ordered events queues. One is always being stored by thread 1 while the other is flushed out in thread 2. Passing the data between threads 2 and 3 stays the same as was initially for threads 1 and 3. Signed-off-by: NJiri Olsa <jolsa@kernel.org> Acked-by: NDavid S. Miller <davem@davemloft.net> Acked-by: NNamhyung Kim <namhyung@kernel.org> Tested-by: NArnaldo Carvalho de Melo <acme@redhat.com> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Peter Zijlstra <peterz@infradead.org> Link: http://lkml.kernel.org/n/tip-hhf4hllgkmle9wl1aly1jli0@git.kernel.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com> Signed-off-by: NChunmei Xu <xuchunmei@huawei.com> Reviewed-by: NWei Li <liwei391@huawei.com> Signed-off-by: NYang Yingliang <yangyingliang@huawei.com> -
由 Jiri Olsa 提交于
mainline inclusion from mainline-5.0-rc1 commit b8494f1df875abba925374cf31bd96a464a7e5d1 category: bugfix bugzilla: NA CVE: NA ------------------------------------------------- Decide to use the progress bar one level higher, we will need this in following patch. Signed-off-by: NJiri Olsa <jolsa@kernel.org> Acked-by: NDavid S. Miller <davem@davemloft.net> Acked-by: NNamhyung Kim <namhyung@kernel.org> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Peter Zijlstra <peterz@infradead.org> Link: http://lkml.kernel.org/n/tip-ocjdukp2a8ujikkmafd0j5zv@git.kernel.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com> Signed-off-by: NChunmei Xu <xuchunmei@huawei.com> Reviewed-by: NWei Li <liwei391@huawei.com> Signed-off-by: NYang Yingliang <yangyingliang@huawei.com>
-
由 Jiri Olsa 提交于
mainline inclusion from mainline-5.0-rc1 commit 254de74cd14a2e64323caeffe653de0f390a4e65 category: bugfix bugzilla: NA CVE: NA ------------------------------------------------- We can't display the UI box saying that we are slow in the reader thread. That will make 'perf top' even slower and the user even more angry ;-) Move the UI box message from the reader thread to the UI thread and change it to a helpline, so there's no need to 'press any key'. Signed-off-by: NJiri Olsa <jolsa@kernel.org> Acked-by: NDavid S. Miller <davem@davemloft.net> Acked-by: NNamhyung Kim <namhyung@kernel.org> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Peter Zijlstra <peterz@infradead.org> Link: https://lkml.kernel.org/n/tip-x4k0iuw7tt6mywsaguq6jfwu@git.kernel.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com> Signed-off-by: NChunmei Xu <xuchunmei@huawei.com> Reviewed-by: NWei Li <liwei391@huawei.com> Signed-off-by: NYang Yingliang <yangyingliang@huawei.com>
-
由 Jiri Olsa 提交于
mainline inclusion from mainline-5.0-rc1 commit d24e3c98ac11b941669885cc09d88b3b970e9d66 category: bugfix bugzilla: NA CVE: NA ------------------------------------------------- Add a 'lost count' to 'perf top' headers: # perf top --stdio PerfTop: 3850 irqs/sec kernel:49.0% exact: 100.0% lost: 0/0 [4000Hz cycles:ppp], (all, 8 CPUs) # perf top Samples: 0 of event 'cycles:ppp', 4000 Hz, Event count (approx.): 0 lost: 0/0 The format is: <current period lost>/<total lost> Signed-off-by: NJiri Olsa <jolsa@kernel.org> Acked-by: NDavid S. Miller <davem@davemloft.net> Acked-by: NNamhyung Kim <namhyung@kernel.org> Tested-by: NArnaldo Carvalho de Melo <acme@redhat.com> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Peter Zijlstra <peterz@infradead.org> Link: https://lkml.kernel.org/n/tip-zo11rn270gij5jtp8fknpf8u@git.kernel.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com> Signed-off-by: NChunmei Xu <xuchunmei@huawei.com> Reviewed-by: NWei Li <liwei391@huawei.com> Signed-off-by: NYang Yingliang <yangyingliang@huawei.com>
-
由 Arnaldo Carvalho de Melo 提交于
mainline inclusion from mainline-5.0-rc1 commit 1b3aae90c6abdf8a844da2aa4aed1eb6947a7d39 category: bugfix bugzilla: NA CVE: NA ------------------------------------------------- This basically replicates what was done for 'perf report' in: b226a5a7 ("perf report: Allow user to specify path to kallsyms file") This should help with resolving eBPF symbols, that are in kallsyms but, of course, not in vmlinux. Reported-by: NIvan Babrou <ibobrik@gmail.com> Tested-by: NIvan Babrou <ibobrik@gmail.com> Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Alexei Starovoitov <ast@kernel.org> Cc: Daniel Borkmann <daniel@iogearbox.net> Cc: David Ahern <dsahern@gmail.com> Cc: David S. Miller <davem@davemloft.net> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Wang Nan <wangnan0@huawei.com> Link: https://lkml.kernel.org/n/tip-x52mx1ybq8128rtg9hjrj5qk@git.kernel.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com> Signed-off-by: NChunmei Xu <xuchunmei@huawei.com> Reviewed-by: NWei Li <liwei391@huawei.com> Signed-off-by: NYang Yingliang <yangyingliang@huawei.com>
-
由 Jin Yao 提交于
mainline inclusion from mainline-4.20-rc2 commit 590ac60d8aa929bd21e35cd95a7d8720d00eb4f3 category: bugfix bugzilla: NA CVE: NA ------------------------------------------------- 'perf report' has supported the displaying of LBR stats (such as cycles, predicted%) in callchain entry. For example: $ perf report --branch-history --stdio --1.01%--intel_idle mwait.h:29 intel_idle cpufeature.h:164 (cycles:5) intel_idle cpufeature.h:164 (predicted:76.4%) intel_idle mwait.h:102 (cycles:41) intel_idle current.h:15 While 'perf top' doesn't support that. For example: $ perf top -a -b --call-graph branch - 13.86% 0.23% [kernel] [k] __x86_indirect_thunk_rax - 13.65% __x86_indirect_thunk_rax + 1.69% do_syscall_64 + 1.68% do_select + 1.41% ktime_get + 0.70% __schedule + 0.62% do_sys_poll 0.58% __x86_indirect_thunk_rax Actually it's very easy to enable this feature in 'perf top'. With this patch, the result is: $ perf top -a -b --call-graph branch $ - 13.58% 0.00% [kernel] [k] __x86_indirect_thunk_rax $ - 13.57% __x86_indirect_thunk_rax (predicted:93.9%) $ + 1.78% do_select (cycles:2) $ + 1.68% perf_pmu_disable.part.99 (cycles:1) $ + 1.45% ___sys_recvmsg (cycles:25) $ + 0.81% unix_stream_sendmsg (cycles:18) $ + 0.80% ktime_get (cycles:400) $ 0.58% pick_next_task_fair (cycles:47) $ + 0.56% i915_request_retire (cycles:2) $ + 0.52% do_sys_poll (cycles:4) Signed-off-by: NJin Yao <yao.jin@linux.intel.com> Tested-by: NArnaldo Carvalho de Melo <acme@redhat.com> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Andi Kleen <ak@linux.intel.com> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Kan Liang <kan.liang@linux.intel.com> Cc: Peter Zijlstra <peterz@infradead.org> Link: http://lkml.kernel.org/r/1540983995-20462-1-git-send-email-yao.jin@linux.intel.comSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com> Signed-off-by: NChunmei Xu <xuchunmei@huawei.com> Reviewed-by: NWei Li <liwei391@huawei.com> Signed-off-by: NYang Yingliang <yangyingliang@huawei.com> -
由 David Miller 提交于
mainline inclusion from mainline-4.20-rc1 commit ff27a06af6ffd3f49b9e193eb68f487ad76651e1 category: bugfix bugzilla: NA CVE: NA ------------------------------------------------- If events are coming in at a rate such that the event processing thread can barely keep up, our initial run of the event ring will almost never terminate and this delays the starting of the display thread. The screen basically stays black until the event thread can get out of it's endless loop. Therefore, start the display thread before we start processing the ring buffer. This also make sure that we always have the user requested real time setting engaged when processing the ring. Signed-off-by: NDavid S. Miller <davem@davemloft.net> Tested-by: NArnaldo Carvalho de Melo <acme@redhat.com> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Kan Liang <kan.liang@linux.intel.com> Cc: Namhyung Kim <namhyung@kernel.org> Link: http://lkml.kernel.org/r/20181030.223003.2242527041807905962.davem@davemloft.netSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com> Signed-off-by: NChunmei Xu <xuchunmei@huawei.com> Reviewed-by: NWei Li <liwei391@huawei.com> Signed-off-by: NYang Yingliang <yangyingliang@huawei.com>
-
由 Arnaldo Carvalho de Melo 提交于
mainline inclusion from mainline-4.20-rc1 commit 218d61110f69632974034b6e27686ce482a1c455 category: bugfix bugzilla: NA CVE: NA ------------------------------------------------- Enabling --overwrite mode allows us to to use just the most recent records, which helps in high core count machines such as Knights Landing/Mill, but right now is being disabled by default as the pausing used in this technique is leading to loss of metadata events such as PERF_RECORD_MMAP which makes 'perf top' unable to resolve samples, leading to lots of unknown samples appearing on the UI. Enabling this may be useful if you are in such machines and profiling a workload that doesn't creates short lived threads and/or doesn't uses many executable mmap operations. Work is being planed to solve this situation, till then, this will remain disabled by default. Reported-by: NDavid Miller <davem@davemloft.net> Acked-by: NKan Liang <kan.liang@intel.com> Link: https://lkml.kernel.org/r/4f84468f-37d9-cf1b-12c1-514ef74b6a48@linux.intel.com Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: David Ahern <dsahern@gmail.com> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Wang Nan <wangnan0@huawei.com> Fixes: ebebbf08 ("perf top: Switch default mode to overwrite mode") Link: https://lkml.kernel.org/n/tip-ehvf77vi1si9409r7p4wx788@git.kernel.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com> Signed-off-by: NChunmei Xu <xuchunmei@huawei.com> Reviewed-by: NWei Li <liwei391@huawei.com> Signed-off-by: NYang Yingliang <yangyingliang@huawei.com>
-
由 Arnaldo Carvalho de Melo 提交于
mainline inclusion from mainline-4.20-rc1 commit 4e303fbe2d95806c875f5ebfcb3d980e20b4bd83 category: bugfix bugzilla: NA CVE: NA ------------------------------------------------- In ebebbf08 ("perf top: Switch default mode to overwrite mode") we forgot to leave a way to disable that new default, add a --overwrite option that can be disabled using --no-overwrite, since the code already in such a way that we can readily disable this mode. This is useful when investigating bugs with this mode like the recent report from David Miller where lots of unknown symbols appear due to disabling the events while processing them which disables all record types, not just PERF_RECORD_SAMPLE, which makes it impossible to resolve maps when we lose PERF_RECORD_MMAP records. This can be easily seen while building a kernel, when there are lots of short lived processes. Reported-by: NDavid Miller <davem@davemloft.net> Acked-by: NKan Liang <kan.liang@intel.com> Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Andi Kleen <ak@linux.intel.com> Cc: David Ahern <dsahern@gmail.com> Cc: Jin Yao <yao.jin@linux.intel.com> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Wang Nan <wangnan0@huawei.com> Fixes: ebebbf08 ("perf top: Switch default mode to overwrite mode") Link: https://lkml.kernel.org/n/tip-oqgsz2bq4kgrnnajrafcdhie@git.kernel.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com> Signed-off-by: NChunmei Xu <xuchunmei@huawei.com> Reviewed-by: NWei Li <liwei391@huawei.com> Signed-off-by: NYang Yingliang <yangyingliang@huawei.com>
-
由 Will Deacon 提交于
mainline inclusion from mainline-5.2 commit 75a19a0202db21638a1c2b424afb867e1f9a2376 category: bugfix bugzilla: NA CVE: NA ------------------------------------------------- When executing clock_gettime(), either in the vDSO or via a system call, we need to ensure that the read of the counter register occurs within the seqlock reader critical section. This ensures that updates to the clocksource parameters (e.g. the multiplier) are consistent with the counter value and therefore avoids the situation where time appears to go backwards across multiple reads. Extend the vDSO logic so that the seqlock critical section covers the read of the counter register as well as accesses to the data page. Since reads of the counter system registers are not ordered by memory barrier instructions, introduce dependency ordering from the counter read to a subsequent memory access so that the seqlock memory barriers apply to the counter access in both the vDSO and the system call paths. Cc: <stable@vger.kernel.org> Cc: Marc Zyngier <marc.zyngier@arm.com> Tested-by: NVincenzo Frascino <vincenzo.frascino@arm.com> Link: https://lore.kernel.org/linux-arm-kernel/alpine.DEB.2.21.1902081950260.1662@nanos.tec.linutronix.de/Reported-by: NThomas Gleixner <tglx@linutronix.de> Signed-off-by: NWill Deacon <will.deacon@arm.com> Signed-off-by: NXuefeng Wang <wxf.wang@hisilicon.com> Reviewed-by: NYang Yingliang <yangyingliang@huawei.com> Signed-off-by: NYang Yingliang <yangyingliang@huawei.com>
-
由 Lijun Fang 提交于
hulk inclusion category: bugfix bugzilla: 16090 CVE: NA ------------------- the CONFIG_COHERENT_DEVICE must depends on CONFIG_NUMA, if not, when singly config COHERENT_DEVICE, it will cause compile error. Fixes: a72a680ff761 ("mm: Tag VMA with VM_CDM flag explicitly during mbind(MPOL_BIND) and page fault") Fixes: 5458fde3b255 ("mm: Ignore madvise(MADV_MERGEABLE) request for VM_CDM marked VMAs") Signed-off-by: NLijun Fang <fanglijun3@huawei.com> Reviewed-by: NLi Zefan <lizefan@huawei.com> Signed-off-by: NYang Yingliang <yangyingliang@huawei.com> -
由 Greg Kroah-Hartman 提交于
Merge 105 patches from 4.19.46 stable branch (116 total) beside 11 already merged patches: 7928396 proc: prevent changes to overridden credentials d3dd605 NFS4: Fix v4.0 client state corruption when mount f4be6b7 PCI: Mark AMD Stoney Radeon R7 GPU ATS as broken 29d0314 PCI: Mark Atheros AR9462 to avoid bus reset 2e75749 PCI/AER: Change pci_aer_init() stub to return void c951650 xfrm: policy: Fix out-of-bound array accesses in __xfrm_policy_unlink 64f214c xfrm6_tunnel: Fix potential panic when unloading xfrm6_tunnel module 159269c vti4: ipip tunnel deregistration fixes. d410ef7 xfrm: clean up xfrm protocol checks 6faa620 xfrm: Honor original L3 slave device in xfrmi policy lookup a469646 PCI: Fix issue with "pci=disable_acs_redir" parameter being ignored Signed-off-by: NYang Yingliang <yangyingliang@huawei.com> -
由 Yifeng Li 提交于
commit 9dc20113988b9a75ea6b3abd68dc45e2d73ccdab upstream. A fallthrough in switch/case was introduced in f627caf55b8e ("fbdev: sm712fb: fix crashes and garbled display during DPMS modesetting"), due to my copy-paste error, which would cause the memory clock frequency for SM720 to be programmed to SM712. Since it only reprograms the clock to a different frequency, it's only a benign issue without visible side-effect, so it also evaded Sudip Mukherjee's code review and regression tests. scripts/checkpatch.pl also failed to discover the issue, possibly due to nested switch statements. This issue was found by Stephen Rothwell by building linux-next with -Wimplicit-fallthrough. Reported-by: NStephen Rothwell <sfr@canb.auug.org.au> Fixes: f627caf55b8e ("fbdev: sm712fb: fix crashes and garbled display during DPMS modesetting") Signed-off-by: NYifeng Li <tomli@tomli.me> Cc: Sudip Mukherjee <sudipm.mukherjee@gmail.com> Cc: "Gustavo A. R. Silva" <gustavo@embeddedor.com> Cc: Kees Cook <keescook@chromium.org> Signed-off-by: NBartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: NYang Yingliang <yangyingliang@huawei.com> -
由 Daniel Borkmann 提交于
commit 50b045a8c0ccf44f76640ac3eea8d80ca53979a3 upstream. One of the biggest issues we face right now with picking LRU map over regular hash table is that a map walk out of user space, for example, to just dump the existing entries or to remove certain ones, will completely mess up LRU eviction heuristics and wrong entries such as just created ones will get evicted instead. The reason for this is that we mark an entry as "in use" via bpf_lru_node_set_ref() from system call lookup side as well. Thus upon walk, all entries are being marked, so information of actual least recently used ones are "lost". In case of Cilium where it can be used (besides others) as a BPF based connection tracker, this current behavior causes disruption upon control plane changes that need to walk the map from user space to evict certain entries. Discussion result from bpfconf [0] was that we should simply just remove marking from system call side as no good use case could be found where it's actually needed there. Therefore this patch removes marking for regular LRU and per-CPU flavor. If there ever should be a need in future, the behavior could be selected via map creation flag, but due to mentioned reason we avoid this here. [0] http://vger.kernel.org/bpfconf.html Fixes: 29ba732a ("bpf: Add BPF_MAP_TYPE_LRU_HASH") Fixes: 8f844938 ("bpf: Add BPF_MAP_TYPE_LRU_PERCPU_HASH") Signed-off-by: NDaniel Borkmann <daniel@iogearbox.net> Acked-by: NMartin KaFai Lau <kafai@fb.com> Signed-off-by: NAlexei Starovoitov <ast@kernel.org> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: NYang Yingliang <yangyingliang@huawei.com>
-
由 Daniel Borkmann 提交于
commit c6110222c6f49ea68169f353565eb865488a8619 upstream. Add a callback map_lookup_elem_sys_only() that map implementations could use over map_lookup_elem() from system call side in case the map implementation needs to handle the latter differently than from the BPF data path. If map_lookup_elem_sys_only() is set, this will be preferred pick for map lookups out of user space. This hook is used in a follow-up fix for LRU map, but once development window opens, we can convert other map types from map_lookup_elem() (here, the one called upon BPF_MAP_LOOKUP_ELEM cmd is meant) over to use the callback to simplify and clean up the latter. Signed-off-by: NDaniel Borkmann <daniel@iogearbox.net> Acked-by: NMartin KaFai Lau <kafai@fb.com> Signed-off-by: NAlexei Starovoitov <ast@kernel.org> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: NYang Yingliang <yangyingliang@huawei.com> Conflicts: kernel/bpf/syscall.c [yyl: adjust context] Signed-off-by: NYang Yingliang <yangyingliang@huawei.com>
-
由 Chenbo Feng 提交于
commit e547ff3f803e779a3898f1f48447b29f43c54085 upstream. For iptable module to load a bpf program from a pinned location, it only retrieve a loaded program and cannot change the program content so requiring a write permission for it might not be necessary. Also when adding or removing an unrelated iptable rule, it might need to flush and reload the xt_bpf related rules as well and triggers the inode permission check. It might be better to remove the write premission check for the inode so we won't need to grant write access to all the processes that flush and restore iptables rules. Signed-off-by: NChenbo Feng <fengc@google.com> Signed-off-by: NAlexei Starovoitov <ast@kernel.org> Signed-off-by: NDaniel Borkmann <daniel@iogearbox.net> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: NYang Yingliang <yangyingliang@huawei.com>
-