1. 05 1月, 2019 2 次提交
  2. 01 1月, 2019 4 次提交
    • F
      block/swim3: Fix regression on PowerBook G3 · 427c5ce4
      Finn Thain 提交于
      As of v4.20, the swim3 driver crashes when loaded on a PowerBook G3
      (Wallstreet).
      
      MacIO PCI driver attached to Gatwick chipset
      MacIO PCI driver attached to Heathrow chipset
      swim3 0.00015000:floppy: [fd0] SWIM3 floppy controller in media bay
      0.00013020:ch-a: ttyS0 at MMIO 0xf3013020 (irq = 16, base_baud = 230400) is a Z85c30 ESCC - Serial port
      0.00013000:ch-b: ttyS1 at MMIO 0xf3013000 (irq = 17, base_baud = 230400) is a Z85c30 ESCC - Infrared port
      macio: fixed media-bay irq on gatwick
      macio: fixed left floppy irqs
      swim3 1.00015000:floppy: [fd1] Couldn't request interrupt
      Unable to handle kernel paging request for data at address 0x00000024
      Faulting instruction address: 0xc02652f8
      Oops: Kernel access of bad area, sig: 11 [#1]
      BE SMP NR_CPUS=2 PowerMac
      Modules linked in:
      CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.20.0 #2
      NIP:  c02652f8 LR: c026915c CTR: c0276d1c
      REGS: df43ba10 TRAP: 0300   Not tainted  (4.20.0)
      MSR:  00009032 <EE,ME,IR,DR,RI>  CR: 28228288  XER: 00000100
      DAR: 00000024 DSISR: 40000000
      GPR00: c026915c df43bac0 df439060 c0731524 df494700 00000000 c06e1c08 00000001
      GPR08: 00000001 00000000 df5ff220 00001032 28228282 00000000 c0004ca4 00000000
      GPR16: 00000000 00000000 00000000 c073144c dfffe064 c0731524 00000120 c0586108
      GPR24: c073132c c073143c c073143c 00000000 c0731524 df67cd70 df494700 00000001
      NIP [c02652f8] blk_mq_free_rqs+0x28/0xf8
      LR [c026915c] blk_mq_sched_tags_teardown+0x58/0x84
      Call Trace:
      [df43bac0] [c0045f50] flush_workqueue_prep_pwqs+0x178/0x1c4 (unreliable)
      [df43bae0] [c026915c] blk_mq_sched_tags_teardown+0x58/0x84
      [df43bb00] [c02697f0] blk_mq_exit_sched+0x9c/0xb8
      [df43bb20] [c0252794] elevator_exit+0x84/0xa4
      [df43bb40] [c0256538] blk_exit_queue+0x30/0x50
      [df43bb50] [c0256640] blk_cleanup_queue+0xe8/0x184
      [df43bb70] [c034732c] swim3_attach+0x330/0x5f0
      [df43bbb0] [c034fb24] macio_device_probe+0x58/0xec
      [df43bbd0] [c032ba88] really_probe+0x1e4/0x2f4
      [df43bc00] [c032bd28] driver_probe_device+0x64/0x204
      [df43bc20] [c0329ac4] bus_for_each_drv+0x60/0xac
      [df43bc50] [c032b824] __device_attach+0xe8/0x160
      [df43bc80] [c032ab38] bus_probe_device+0xa0/0xbc
      [df43bca0] [c0327338] device_add+0x3d8/0x630
      [df43bcf0] [c0350848] macio_add_one_device+0x444/0x48c
      [df43bd50] [c03509f8] macio_pci_add_devices+0x168/0x1bc
      [df43bd90] [c03500ec] macio_pci_probe+0xc0/0x10c
      [df43bda0] [c02ad884] pci_device_probe+0xd4/0x184
      [df43bdd0] [c032ba88] really_probe+0x1e4/0x2f4
      [df43be00] [c032bd28] driver_probe_device+0x64/0x204
      [df43be20] [c032bfcc] __driver_attach+0x104/0x108
      [df43be40] [c0329a00] bus_for_each_dev+0x64/0xb4
      [df43be70] [c032add8] bus_add_driver+0x154/0x238
      [df43be90] [c032ca24] driver_register+0x84/0x148
      [df43bea0] [c0004aa0] do_one_initcall+0x40/0x188
      [df43bf00] [c0690100] kernel_init_freeable+0x138/0x1d4
      [df43bf30] [c0004cbc] kernel_init+0x18/0x10c
      [df43bf40] [c00121e4] ret_from_kernel_thread+0x14/0x1c
      Instruction dump:
      5484d97e 4bfff4f4 9421ffe0 7c0802a6 bf410008 7c9e2378 90010024 8124005c
      2f890000 419e0078 81230004 7c7c1b78 <81290024> 2f890000 419e0064 81440000
      ---[ end trace 12025ab921a9784c ]---
      
      Reverting commit 8ccb8cb1 ("swim3: convert to blk-mq") resolves the
      problem.
      
      That commit added a struct blk_mq_tag_set to struct floppy_state and
      initialized it with a blk_mq_init_sq_queue() call. Unfortunately, there
      is a memset() in swim3_add_device() that subsequently clears the
      floppy_state struct. That means fs->tag_set->ops is a NULL pointer, and
      it gets dereferenced by blk_mq_free_rqs() which gets called in the
      request_irq() error path. Move the memset() to fix this bug.
      
      BTW, the request_irq() failure for the left mediabay floppy (fd1) is not
      a regression. I don't know why it happens. The right media bay floppy
      (fd0) works fine however.
      Reported-and-tested-by: NStan Johnson <userm57@yahoo.com>
      Fixes: 8ccb8cb1 ("swim3: convert to blk-mq")
      Cc: linuxppc-dev@lists.ozlabs.org
      Signed-off-by: NFinn Thain <fthain@telegraphics.com.au>
      Signed-off-by: NJens Axboe <axboe@kernel.dk>
      427c5ce4
    • F
      block/swim3: Fix -EBUSY error when re-opening device after unmount · 296dcc40
      Finn Thain 提交于
      When the block device is opened with FMODE_EXCL, ref_count is set to -1.
      This value doesn't get reset when the device is closed which means the
      device cannot be opened again. Fix this by checking for refcount <= 0
      in the release method.
      Reported-and-tested-by: NStan Johnson <userm57@yahoo.com>
      Fixes: 1da177e4 ("Linux-2.6.12-rc2")
      Cc: linuxppc-dev@lists.ozlabs.org
      Signed-off-by: NFinn Thain <fthain@telegraphics.com.au>
      Signed-off-by: NJens Axboe <axboe@kernel.dk>
      296dcc40
    • F
      block/swim3: Remove dead return statement · f3010ec5
      Finn Thain 提交于
      Cc: linuxppc-dev@lists.ozlabs.org
      Signed-off-by: NFinn Thain <fthain@telegraphics.com.au>
      Signed-off-by: NJens Axboe <axboe@kernel.dk>
      f3010ec5
    • F
      block/amiflop: Don't log error message on invalid ioctl · d4d179c3
      Finn Thain 提交于
      Cc: linux-m68k@lists.linux-m68k.org
      Signed-off-by: NFinn Thain <fthain@telegraphics.com.au>
      Signed-off-by: NJens Axboe <axboe@kernel.dk>
      d4d179c3
  3. 31 12月, 2018 2 次提交
  4. 29 12月, 2018 20 次提交
  5. 27 12月, 2018 2 次提交
  6. 26 12月, 2018 2 次提交
  7. 25 12月, 2018 7 次提交
    • C
      drivers/net: appletalk/cops: remove redundant if statement and mask · bd437c99
      Colin Ian King 提交于
      The two different assignments for pkt_len are actually the same and
      so the if statement is redundant and can be removed.  Masking a u8
      return value from inb() with 0xFF is also redundant and can also be
      emoved.
      
      Similarly, the two different outb calls are identical as the mask
      of 0xff on the second outb is redundant since a u8 is being written,
      so the if statement is also redundant and can be also removed.
      
      Detected by CoverityScan, CID#1475639 ("Identical code for different
      branches")
      
      V2: Remove the if statement for the outb calls, thanks to David
      Miller for spotting this.
      Signed-off-by: NColin Ian King <colin.king@canonical.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      bd437c99
    • I
      bnx2x: Fix NULL pointer dereference in bnx2x_del_all_vlans() on some hw · 38355a5f
      Ivan Mironov 提交于
      This happened when I tried to boot normal Fedora 29 system with latest
      available kernel (from fedora rawhide, plus some unrelated custom
      patches):
      
      	BUG: unable to handle kernel NULL pointer dereference at 0000000000000000
      	PGD 0 P4D 0
      	Oops: 0010 [#1] SMP PTI
      	CPU: 6 PID: 1422 Comm: libvirtd Tainted: G          I       4.20.0-0.rc7.git3.hpsa2.1.fc29.x86_64 #1
      	Hardware name: HP ProLiant BL460c G6, BIOS I24 05/21/2018
      	RIP: 0010:          (null)
      	Code: Bad RIP value.
      	RSP: 0018:ffffa47ccdc9fbe0 EFLAGS: 00010246
      	RAX: 0000000000000000 RBX: 00000000000003e8 RCX: ffffa47ccdc9fbf8
      	RDX: ffffa47ccdc9fc00 RSI: ffff97d9ee7b01f8 RDI: ffff97d9f0150b80
      	RBP: ffff97d9f0150b80 R08: 0000000000000000 R09: 0000000000000000
      	R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000003
      	R13: ffff97d9ef1e53e8 R14: 0000000000000009 R15: ffff97d9f0ac6730
      	FS:  00007f4d224ef700(0000) GS:ffff97d9fa200000(0000) knlGS:0000000000000000
      	CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      	CR2: ffffffffffffffd6 CR3: 00000011ece52006 CR4: 00000000000206e0
      	Call Trace:
      	 ? bnx2x_chip_cleanup+0x195/0x610 [bnx2x]
      	 ? bnx2x_nic_unload+0x1e2/0x8f0 [bnx2x]
      	 ? bnx2x_reload_if_running+0x24/0x40 [bnx2x]
      	 ? bnx2x_set_features+0x79/0xa0 [bnx2x]
      	 ? __netdev_update_features+0x244/0x9e0
      	 ? netlink_broadcast_filtered+0x136/0x4b0
      	 ? netdev_update_features+0x22/0x60
      	 ? dev_disable_lro+0x1c/0xe0
      	 ? devinet_sysctl_forward+0x1c6/0x211
      	 ? proc_sys_call_handler+0xab/0x100
      	 ? __vfs_write+0x36/0x1a0
      	 ? rcu_read_lock_sched_held+0x79/0x80
      	 ? rcu_sync_lockdep_assert+0x2e/0x60
      	 ? __sb_start_write+0x14c/0x1b0
      	 ? vfs_write+0x159/0x1c0
      	 ? vfs_write+0xba/0x1c0
      	 ? ksys_write+0x52/0xc0
      	 ? do_syscall_64+0x60/0x1f0
      	 ? entry_SYSCALL_64_after_hwframe+0x49/0xbe
      
      After some investigation I figured out that recently added cleanup code
      tries to call VLAN filtering de-initialization function which exist only
      for newer hardware. Corresponding function pointer is not
      set (== 0) for older hardware, namely these chips:
      
      	#define CHIP_NUM_57710			0x164e
      	#define CHIP_NUM_57711			0x164f
      	#define CHIP_NUM_57711E			0x1650
      
      And I have one of those in my test system:
      
      	Broadcom Inc. and subsidiaries NetXtreme II BCM57711E 10-Gigabit PCIe [14e4:1650]
      
      Function bnx2x_init_vlan_mac_fp_objs() from
      drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.h decides whether to
      initialize relevant pointers in bnx2x_sp_objs.vlan_obj or not.
      
      This regression was introduced after v4.20-rc7, and still exists in v4.20
      release.
      
      Fixes: 04f05230 ("bnx2x: Remove configured vlans as part of unload sequence.")
      Signed-off-by: NIvan Mironov <mironov.ivan@gmail.com>
      Signed-off-by: NIvan Mironov <mironov.ivan@gmail.com>
      Acked-by: NSudarsana Kalluru <Sudarsana.Kalluru@cavium.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      38355a5f
    • J
      net/mlx4_core: drop useless LIST_HEAD · 61988bd2
      Julia Lawall 提交于
      Drop LIST_HEAD where the variable it declares has never
      been used.
      
      The semantic patch that fixes this problem is as follows:
      (http://coccinelle.lip6.fr/)
      
      // <smpl>
      @@
      identifier x;
      @@
      - LIST_HEAD(x);
        ... when != x
      // </smpl>
      
      Fixes: c82e9aa0 ("mlx4_core: resource tracking for HCA resources used by guests")
      Signed-off-by: NJulia Lawall <Julia.Lawall@lip6.fr>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      61988bd2
    • J
      mlxsw: spectrum: drop useless LIST_HEAD · d0863792
      Julia Lawall 提交于
      Drop LIST_HEAD where the variable it declares is never used.
      
      The uses were removed in 244cd96a ("net_sched: remove
      list_head from tc_action"), but not the declaration.
      
      The semantic patch that fixes this problem is as follows:
      (http://coccinelle.lip6.fr/)
      
      // <smpl>
      @@
      identifier x;
      @@
      - LIST_HEAD(x);
        ... when != x
      // </smpl>
      
      Fixes: 244cd96a ("net_sched: remove list_head from tc_action")
      Signed-off-by: NJulia Lawall <Julia.Lawall@lip6.fr>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      d0863792
    • J
      net/mlx5e: drop useless LIST_HEAD · 2534f14a
      Julia Lawall 提交于
      Drop LIST_HEAD where the variable it declares is never used.
      
      These became useless in 244cd96a ("net_sched: remove list_head
      from tc_action")
      
      The semantic patch that fixes this problem is as follows:
      (http://coccinelle.lip6.fr/)
      
      // <smpl>
      @@
      identifier x;
      @@
      - LIST_HEAD(x);
        ... when != x
      // </smpl>
      
      Fixes: 244cd96a ("net_sched: remove list_head from tc_action")
      Signed-off-by: NJulia Lawall <Julia.Lawall@lip6.fr>
      Reviewed-by: NLeon Romanovsky <leonro@mellanox.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      2534f14a
    • K
      net/mlx5e: fix semicolon.cocci warnings · 5d1f7354
      kbuild test robot 提交于
      drivers/net/ethernet/mellanox/mlx5/core/en_rep.c:1339:57-58: Unneeded semicolon
      
       Remove unneeded semicolon.
      
      Generated by: scripts/coccinelle/misc/semicolon.cocci
      
      Fixes: 4c8fb298 ("net/mlx5e: Increase VF representors' SQ size to 128")
      CC: Gavi Teitz <gavi@mellanox.com>
      Signed-off-by: Nkbuild test robot <fengguang.wu@intel.com>
      Reviewed-by: NLeon Romanovsky <leonro@mellanox.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      5d1f7354
    • F
      staging: octeon: fix build failure with XFRM enabled · 8762cdcd
      Florian Westphal 提交于
      skb->sp doesn't exist anymore in the next-next tree, so mips defconfig
      no longer builds.  Use helper instead to reset the secpath.
      
      Not even compile tested.
      
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Reported-by: NGuenter Roeck <linux@roeck-us.net>
      Fixes: 4165079b ("net: switch secpath to use skb extension infrastructure")
      Signed-off-by: NFlorian Westphal <fw@strlen.de>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      8762cdcd
  8. 24 12月, 2018 1 次提交