1. 01 May, 2018 31 commits
  2. 29 Apr, 2018 9 commits
    • Greg Kroah-Hartman's avatar
      Linux 4.14.38 · a87463f7
      Greg Kroah-Hartman authored
      a87463f7
    • Hans de Goede's avatar
      ACPI / video: Only default only_lcd to true on Win8-ready _desktops_ · 3e491587
      Hans de Goede authored
      commit 53fa1f6e upstream.
      
      Commit 5928c281 (ACPI / video: Default lcd_only to true on Win8-ready
      and newer machines) made only_lcd default to true on all machines where
      acpi_osi_is_win8() returns true, including laptops.
      
      The purpose of this is to avoid the bogus / non-working acpi backlight
      interface which many newer BIOS-es define on desktop machines.
      
      But this is causing a regression on some laptops, specifically on the
      Dell XPS 13 2013 model, which does not have the LCD flag set for its
      fully functional ACPI backlight interface.
      
      Rather then DMI quirking our way out of this, this commits changes the
      logic for setting only_lcd to true, to only do this on machines with
      a desktop (or server) dmi chassis-type.
      
      Note that we cannot simply only check the chassis-type and not register
      the backlight interface based on that as there are some laptops and
      tablets which have their chassis-type set to "3" aka desktop. Hopefully
      the combination of checking the LCD flag, but only on devices with
      a desktop(ish) chassis-type will avoid the needs for DMI quirks for this,
      or at least limit the amount of DMI quirks which we need to a minimum.
      
      Fixes: 5928c281 (ACPI / video: Default lcd_only to true on Win8-ready and newer machines)
      Reported-and-tested-by: default avatarJames Hogan <jhogan@kernel.org>
      Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      Cc: 4.15+ <stable@vger.kernel.org> # 4.15+
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      3e491587
    • Heiko Carstens's avatar
      s390/uprobes: implement arch_uretprobe_is_alive() · c371fe01
      Heiko Carstens authored
      commit 783c3b53 upstream.
      
      Implement s390 specific arch_uretprobe_is_alive() to avoid SIGSEGVs
      observed with uretprobes in combination with setjmp/longjmp.
      
      See commit 2dea1d9c ("powerpc/uprobes: Implement
      arch_uretprobe_is_alive()") for more details.
      
      With this implemented all test cases referenced in the above commit
      pass.
      Reported-by: default avatarZiqian SUN <zsun@redhat.com>
      Cc: <stable@vger.kernel.org> # v4.3+
      Signed-off-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      c371fe01
    • Stefan Haberland's avatar
      s390/dasd: fix IO error for newly defined devices · 5dad5105
      Stefan Haberland authored
      commit 5d27a2bf upstream.
      
      When a new CKD storage volume is defined at the storage server, Linux
      may be relying on outdated information about that volume, which leads to
      the following errors:
      
      1. Command Reject Errors for minidisk on z/VM:
      
      dasd-eckd.b3193d: 0.0.XXXX: An error occurred in the DASD device driver,
      		  reason=09
      dasd(eckd): I/O status report for device 0.0.XXXX:
      dasd(eckd): in req: 00000000XXXXXXXX CC:00 FC:04 AC:00 SC:17 DS:02 CS:00
      	    RC:0
      dasd(eckd): device 0.0.2046: Failing CCW: 00000000XXXXXXXX
      dasd(eckd): Sense(hex)  0- 7: 80 00 00 00 00 00 00 00
      dasd(eckd): Sense(hex)  8-15: 00 00 00 00 00 00 00 00
      dasd(eckd): Sense(hex) 16-23: 00 00 00 00 e1 00 0f 00
      dasd(eckd): Sense(hex) 24-31: 00 00 40 e2 00 00 00 00
      dasd(eckd): 24 Byte: 0 MSG 0, no MSGb to SYSOP
      
      2. Equipment Check errors on LPAR or for dedicated devices on z/VM:
      
      dasd(eckd): I/O status report for device 0.0.XXXX:
      dasd(eckd): in req: 00000000XXXXXXXX CC:00 FC:04 AC:00 SC:17 DS:0E CS:40
      	    fcxs:01 schxs:00 RC:0
      dasd(eckd): device 0.0.9713: Failing TCW: 00000000XXXXXXXX
      dasd(eckd): Sense(hex)  0- 7: 10 00 00 00 13 58 4d 0f
      dasd(eckd): Sense(hex)  8-15: 67 00 00 00 00 00 00 04
      dasd(eckd): Sense(hex) 16-23: e5 18 05 33 97 01 0f 0f
      dasd(eckd): Sense(hex) 24-31: 00 00 40 e2 00 04 58 0d
      dasd(eckd): 24 Byte: 0 MSG f, no MSGb to SYSOP
      
      Fix this problem by using the up-to-date information provided during
      online processing via the device specific SNEQ to detect the case of
      outdated LCU data. If there is a difference, perform a re-read of that
      data.
      
      Cc: stable@vger.kernel.org
      Reviewed-by: default avatarJan Hoeppner <hoeppner@linux.ibm.com>
      Signed-off-by: default avatarStefan Haberland <sth@linux.vnet.ibm.com>
      Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      5dad5105
    • Sebastian Ott's avatar
      s390/cio: update chpid descriptor after resource accessibility event · 3b5c2e1d
      Sebastian Ott authored
      commit af2e460a upstream.
      
      Channel path descriptors have been seen as something stable (as
      long as the chpid is configured). Recent tests have shown that the
      descriptor can also be altered when the link state of a channel path
      changes. Thus it is necessary to update the descriptor during
      handling of resource accessibility events.
      
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarSebastian Ott <sebott@linux.ibm.com>
      Reviewed-by: default avatarPeter Oberparleiter <oberpar@linux.ibm.com>
      Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      3b5c2e1d
    • Peter Xu's avatar
      tracing: Fix missing tab for hwlat_detector print format · a75bf6f7
      Peter Xu authored
      commit 9a0fd675 upstream.
      
      It's been missing for a while but no one is touching that up.  Fix it.
      
      Link: http://lkml.kernel.org/r/20180315060639.9578-1-peterx@redhat.com
      
      CC: Ingo Molnar <mingo@kernel.org>
      Cc:stable@vger.kernel.org
      Fixes: 7b2c8625 ("tracing: Add NMI tracing in hwlat detector")
      Signed-off-by: default avatarPeter Xu <peterx@redhat.com>
      Signed-off-by: default avatarSteven Rostedt (VMware) <rostedt@goodmis.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      a75bf6f7
    • Finn Thain's avatar
      block/swim: Fix IO error at end of medium · d82923c0
      Finn Thain authored
      commit 5a13388d upstream.
      
      Reading to the end of a 720K disk results in an IO error instead of EOF
      because the block layer thinks the disk has 2880 sectors. (Partly this
      is a result of inverted logic of the ONEMEG_MEDIA bit that's now fixed.)
      
      Initialize the density and head count in swim_add_floppy() to agree
      with the device size passed to set_capacity() during drive probe.
      
      Call set_capacity() again upon device open, after refreshing the density
      and head count values.
      
      Cc: Laurent Vivier <lvivier@redhat.com>
      Cc: Jens Axboe <axboe@kernel.dk>
      Cc: stable@vger.kernel.org # v4.14+
      Tested-by: default avatarStan Johnson <userm57@yahoo.com>
      Signed-off-by: default avatarFinn Thain <fthain@telegraphics.com.au>
      Acked-by: default avatarLaurent Vivier <lvivier@redhat.com>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      d82923c0
    • Finn Thain's avatar
      block/swim: Fix array bounds check · 06dc2e91
      Finn Thain authored
      commit 7ae6a2b6 upstream.
      
      In the floppy_find() function in swim.c is a call to
      get_disk(swd->unit[drive].disk). The actual parameter to this call
      can be a NULL pointer when drive == swd->floppy_count. This causes
      an oops in get_disk().
      
      Data read fault at 0x00000198 in Super Data (pc=0x1be5b6)
      BAD KERNEL BUSERR
      Oops: 00000000
      Modules linked in: swim_mod ipv6 mac8390
      PC: [<001be5b6>] get_disk+0xc/0x76
      SR: 2004  SP: 9a078bc1  a2: 0213ed90
      d0: 00000000    d1: 00000000    d2: 00000000    d3: 000000ff
      d4: 00000002    d5: 02983590    a0: 02332e00    a1: 022dfd64
      Process dd (pid: 285, task=020ab25b)
      Frame format=B ssw=074d isc=4a88 isb=6732 daddr=00000198 dobuf=00000000
      baddr=001be5bc dibuf=bfffffff ver=f
      Stack from 022dfca4:
              00000000 0203fc00 0213ed90 022dfcc0 02982936 00000000 00200000 022dfd08
              0020f85a 00200000 022dfd64 02332e00 004040fc 00000014 001be77e 022dfd64
              00334e4a 001be3f8 0800001d 022dfd64 01c04b60 01c04b70 022aba80 029828f8
              02332e00 022dfd2c 001be7ac 0203fc00 00200000 022dfd64 02103a00 01c04b60
              01c04b60 0200e400 022dfd68 000e191a 00200000 022dfd64 02103a00 0800001d
              00000000 00000003 000b89de 00500000 02103a00 01c04b60 02103a08 01c04c2e
      Call Trace: [<02982936>] floppy_find+0x3e/0x4a [swim_mod]
       [<00200000>] uart_remove_one_port+0x1a2/0x260
       [<0020f85a>] kobj_lookup+0xde/0x132
       [<00200000>] uart_remove_one_port+0x1a2/0x260
       [<001be77e>] get_gendisk+0x0/0x130
       [<00334e4a>] mutex_lock+0x0/0x2e
       [<001be3f8>] disk_block_events+0x0/0x6c
       [<029828f8>] floppy_find+0x0/0x4a [swim_mod]
       [<001be7ac>] get_gendisk+0x2e/0x130
       [<00200000>] uart_remove_one_port+0x1a2/0x260
       [<000e191a>] __blkdev_get+0x32/0x45a
       [<00200000>] uart_remove_one_port+0x1a2/0x260
       [<000b89de>] complete_walk+0x0/0x8a
       [<000e1e22>] blkdev_get+0xe0/0x29a
       [<000e1fdc>] blkdev_open+0x0/0xb0
       [<000b89de>] complete_walk+0x0/0x8a
       [<000e1fdc>] blkdev_open+0x0/0xb0
       [<000e01cc>] bd_acquire+0x74/0x8a
       [<000e205c>] blkdev_open+0x80/0xb0
       [<000e1fdc>] blkdev_open+0x0/0xb0
       [<000abf24>] do_dentry_open+0x1a4/0x322
       [<00020000>] __do_proc_douintvec+0x22/0x27e
       [<000b89de>] complete_walk+0x0/0x8a
       [<000baa62>] link_path_walk+0x0/0x48e
       [<000ba3f8>] inode_permission+0x20/0x54
       [<000ac0e4>] vfs_open+0x42/0x78
       [<000bc372>] path_openat+0x2b2/0xeaa
       [<000bc0c0>] path_openat+0x0/0xeaa
       [<0004463e>] __irq_wake_thread+0x0/0x4e
       [<0003a45a>] task_tick_fair+0x18/0xc8
       [<000bd00a>] do_filp_open+0xa0/0xea
       [<000abae0>] do_sys_open+0x11a/0x1ee
       [<00020000>] __do_proc_douintvec+0x22/0x27e
       [<000abbf4>] SyS_open+0x1e/0x22
       [<00020000>] __do_proc_douintvec+0x22/0x27e
       [<00002b40>] syscall+0x8/0xc
       [<00020000>] __do_proc_douintvec+0x22/0x27e
       [<0000c00b>] dyadic+0x1/0x28
      Code: 4e5e 4e75 4e56 fffc 2f0b 2f02 266e 0008 <206b> 0198 4a88 6732 2428 002c 661e 486b 0058 4eb9 0032 0b96 588f 4a88 672c 2008
      Disabling lock debugging due to kernel taint
      
      Fix the array index bounds check to avoid this.
      
      Cc: Laurent Vivier <lvivier@redhat.com>
      Cc: Jens Axboe <axboe@kernel.dk>
      Cc: stable@vger.kernel.org # v4.14+
      Fixes: 8852ecd9 ("[PATCH] m68k: mac - Add SWIM floppy support")
      Tested-by: default avatarStan Johnson <userm57@yahoo.com>
      Signed-off-by: default avatarFinn Thain <fthain@telegraphics.com.au>
      Acked-by: default avatarLaurent Vivier <lvivier@redhat.com>
      Reviewed-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      06dc2e91
    • Finn Thain's avatar
      block/swim: Select appropriate drive on device open · 8c37ac3c
      Finn Thain authored
      commit b3906535 upstream.
      
      The driver supports internal and external FDD units so the floppy_open
      function must not hard-code the drive location.
      
      Cc: Laurent Vivier <lvivier@redhat.com>
      Cc: Jens Axboe <axboe@kernel.dk>
      Cc: stable@vger.kernel.org # v4.14+
      Tested-by: default avatarStan Johnson <userm57@yahoo.com>
      Signed-off-by: default avatarFinn Thain <fthain@telegraphics.com.au>
      Acked-by: default avatarLaurent Vivier <lvivier@redhat.com>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      8c37ac3c