• David Howells's avatar
    nvme-tcp: Fix comma-related oops · c97d3fb9
    David Howells authored
    Fix a comma that should be a semicolon.  The comma is at the end of an
    if-body and thus makes the statement after (a bvec_set_page()) conditional
    too, resulting in an oops because we didn't fill out the bio_vec[]:
    
        BUG: kernel NULL pointer dereference, address: 0000000000000008
        #PF: supervisor read access in kernel mode
        #PF: error_code(0x0000) - not-present page
        ...
        Workqueue: nvme_tcp_wq nvme_tcp_io_work [nvme_tcp]
        RIP: 0010:skb_splice_from_iter+0xf1/0x370
        ...
        Call Trace:
         tcp_sendmsg_locked+0x3a6/0xdd0
         tcp_sendmsg+0x31/0x50
         inet_sendmsg+0x47/0x80
         sock_sendmsg+0x99/0xb0
         nvme_tcp_try_send_data+0x149/0x490 [nvme_tcp]
         nvme_tcp_try_send+0x1b7/0x300 [nvme_tcp]
         nvme_tcp_io_work+0x40/0xc0 [nvme_tcp]
         process_one_work+0x21c/0x430
         worker_thread+0x54/0x3e0
         kthread+0xf8/0x130
    
    Fixes: 77698878 ("nvme-tcp: Use sendmsg(MSG_SPLICE_PAGES) rather then sendpage")
    Reported-by: default avatarAurelien Aptel <aaptel@nvidia.com>
    Link: https://lore.kernel.org/r/253mt0il43o.fsf@mtr-vdi-124.i-did-not-set--mail-host-address--so-tickle-me/Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
    cc: Sagi Grimberg <sagi@grimberg.me>
    cc: Willem de Bruijn <willemb@google.com>
    cc: Keith Busch <kbusch@kernel.org>
    cc: Jens Axboe <axboe@fb.com>
    cc: Christoph Hellwig <hch@lst.de>
    cc: Chaitanya Kulkarni <kch@nvidia.com>
    cc: "David S. Miller" <davem@davemloft.net>
    cc: Eric Dumazet <edumazet@google.com>
    cc: Jakub Kicinski <kuba@kernel.org>
    cc: Paolo Abeni <pabeni@redhat.com>
    cc: Jens Axboe <axboe@kernel.dk>
    cc: Jens Axboe <axboe@kernel.dk>
    cc: Matthew Wilcox <willy@infradead.org>
    cc: linux-nvme@lists.infradead.org
    cc: netdev@vger.kernel.org
    Reviewed-by: default avatarChaitanya Kulkarni <kch@nvidia.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    c97d3fb9
tcp.c 66.9 KB