mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Sasha Levin <sashal@kernel.org>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: Yao Liu <yotta.liu@ucloud.cn>,
	Anna Schumaker <Anna.Schumaker@Netapp.com>,
	Sasha Levin <sashal@kernel.org>,
	linux-nfs@vger.kernel.org
Subject: [PATCH AUTOSEL 4.14 24/45] nfs: Fix NULL pointer dereference of dev_name
Date: Sat, 23 Feb 2019 16:08:14 -0500	[thread overview]
Message-ID: <20190223210835.201708-24-sashal@kernel.org> (raw)
In-Reply-To: <20190223210835.201708-1-sashal@kernel.org>

From: Yao Liu <yotta.liu@ucloud.cn>

[ Upstream commit 80ff00172407e0aad4b10b94ef0816fc3e7813cb ]

There is a NULL pointer dereference of dev_name in nfs_parse_devname()

The oops looks something like:

  BUG: unable to handle kernel NULL pointer dereference at 0000000000000000
  ...
  RIP: 0010:nfs_fs_mount+0x3b6/0xc20 [nfs]
  ...
  Call Trace:
   ? ida_alloc_range+0x34b/0x3d0
   ? nfs_clone_super+0x80/0x80 [nfs]
   ? nfs_free_parsed_mount_data+0x60/0x60 [nfs]
   mount_fs+0x52/0x170
   ? __init_waitqueue_head+0x3b/0x50
   vfs_kern_mount+0x6b/0x170
   do_mount+0x216/0xdc0
   ksys_mount+0x83/0xd0
   __x64_sys_mount+0x25/0x30
   do_syscall_64+0x65/0x220
   entry_SYSCALL_64_after_hwframe+0x49/0xbe

Fix this by adding a NULL check on dev_name

Signed-off-by: Yao Liu <yotta.liu@ucloud.cn>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 fs/nfs/super.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/fs/nfs/super.c b/fs/nfs/super.c
index 38de09b08e966..d0d0438a5b263 100644
--- a/fs/nfs/super.c
+++ b/fs/nfs/super.c
@@ -1901,6 +1901,11 @@ static int nfs_parse_devname(const char *dev_name,
 	size_t len;
 	char *end;
 
+	if (unlikely(!dev_name || !*dev_name)) {
+		dfprintk(MOUNT, "NFS: device name not specified\n");
+		return -EINVAL;
+	}
+
 	/* Is the host name protected with square brakcets? */
 	if (*dev_name == '[') {
 		end = strchr(++dev_name, ']');
-- 
2.19.1


  parent reply	other threads:[~2019-02-23 21:20 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-02-23 21:07 [PATCH AUTOSEL 4.14 01/45] vti4: Fix a ipip packet processing bug in 'IPCOMP' virtual tunnel Sasha Levin
2019-02-23 21:07 ` [PATCH AUTOSEL 4.14 02/45] xfrm: refine validation of template and selector families Sasha Levin
2019-02-23 21:07 ` [PATCH AUTOSEL 4.14 03/45] perf core: Fix perf_proc_update_handler() bug Sasha Levin
2019-02-23 21:07 ` [PATCH AUTOSEL 4.14 04/45] perf tools: Handle TOPOLOGY headers with no CPU Sasha Levin
2019-02-23 21:07 ` [PATCH AUTOSEL 4.14 05/45] IB/{hfi1, qib}: Fix WC.byte_len calculation for UD_SEND_WITH_IMM Sasha Levin
2019-02-23 21:07 ` [PATCH AUTOSEL 4.14 06/45] iommu/amd: Call free_iova_fast with pfn in map_sg Sasha Levin
2019-02-23 21:07 ` [PATCH AUTOSEL 4.14 07/45] iommu/amd: Unmap all mapped pages in error path of map_sg Sasha Levin
2019-02-23 21:07 ` [PATCH AUTOSEL 4.14 08/45] ipvs: Fix signed integer overflow when setsockopt timeout Sasha Levin
2019-02-23 21:07 ` [PATCH AUTOSEL 4.14 09/45] iommu/amd: Fix IOMMU page flush when detach device from a domain Sasha Levin
2019-02-23 21:08 ` [PATCH AUTOSEL 4.14 10/45] xtensa: SMP: fix ccount_timer_shutdown Sasha Levin
2019-02-23 21:08 ` [PATCH AUTOSEL 4.14 11/45] selftests: cpu-hotplug: fix case where CPUs offline > CPUs present Sasha Levin
2019-02-23 21:08 ` [PATCH AUTOSEL 4.14 12/45] xtensa: SMP: fix secondary CPU initialization Sasha Levin
2019-02-23 21:08 ` [PATCH AUTOSEL 4.14 13/45] xtensa: smp_lx200_defconfig: fix vectors clash Sasha Levin
2019-02-23 21:08 ` [PATCH AUTOSEL 4.14 14/45] xtensa: SMP: mark each possible CPU as present Sasha Levin
2019-02-23 21:08 ` [PATCH AUTOSEL 4.14 15/45] xtensa: SMP: limit number of possible CPUs by NR_CPUS Sasha Levin
2019-02-23 21:08 ` [PATCH AUTOSEL 4.14 16/45] net: altera_tse: fix msgdma_tx_completion on non-zero fill_level case Sasha Levin
2019-02-23 21:08 ` [PATCH AUTOSEL 4.14 17/45] net: hns: Fix for missing of_node_put() after of_parse_phandle() Sasha Levin
2019-02-23 21:08 ` [PATCH AUTOSEL 4.14 18/45] net: hns: Restart autoneg need return failed when autoneg off Sasha Levin
2019-02-23 21:08 ` [PATCH AUTOSEL 4.14 19/45] net: hns: Fix wrong read accesses via Clause 45 MDIO protocol Sasha Levin
2019-02-23 21:08 ` [PATCH AUTOSEL 4.14 20/45] net: stmmac: dwmac-rk: fix error handling in rk_gmac_powerup() Sasha Levin
2019-02-23 21:08 ` [PATCH AUTOSEL 4.14 21/45] netfilter: ebtables: compat: un-break 32bit setsockopt when no rules are present Sasha Levin
2019-02-23 21:08 ` [PATCH AUTOSEL 4.14 22/45] gpio: vf610: Mask all GPIO interrupts Sasha Levin
2019-02-23 21:08 ` [PATCH AUTOSEL 4.14 23/45] selftests: timers: use LDLIBS instead of LDFLAGS Sasha Levin
2019-02-23 21:08 ` Sasha Levin [this message]
2019-02-23 21:08 ` [PATCH AUTOSEL 4.14 25/45] qed: Fix bug in tx promiscuous mode settings Sasha Levin
2019-02-23 21:08 ` [PATCH AUTOSEL 4.14 26/45] qed: Fix LACP pdu drops for VFs Sasha Levin
2019-02-23 21:08 ` [PATCH AUTOSEL 4.14 27/45] qed: Fix VF probe failure while FLR Sasha Levin
2019-02-23 21:08 ` [PATCH AUTOSEL 4.14 28/45] qed: Fix system crash in ll2 xmit Sasha Levin
2019-02-23 21:08 ` [PATCH AUTOSEL 4.14 29/45] qed: Fix stack out of bounds bug Sasha Levin
2019-02-23 21:08 ` [PATCH AUTOSEL 4.14 30/45] scsi: libfc: free skb when receiving invalid flogi resp Sasha Levin
2019-02-23 21:08 ` [PATCH AUTOSEL 4.14 31/45] scsi: 53c700: pass correct "dev" to dma_alloc_attrs() Sasha Levin
2019-02-23 21:08 ` [PATCH AUTOSEL 4.14 32/45] platform/x86: Fix unmet dependency warning for SAMSUNG_Q10 Sasha Levin
2019-02-23 21:08 ` [PATCH AUTOSEL 4.14 33/45] cifs: fix computation for MAX_SMB2_HDR_SIZE Sasha Levin
2019-02-23 21:08 ` [PATCH AUTOSEL 4.14 34/45] blk-mq: fix a hung issue when fsync Sasha Levin
2019-02-23 21:08 ` [PATCH AUTOSEL 4.14 35/45] x86/microcode/amd: Don't falsely trick the late loading mechanism Sasha Levin
2019-02-23 21:08 ` [PATCH AUTOSEL 4.14 36/45] arm64: kprobe: Always blacklist the KVM world-switch code Sasha Levin
2019-02-23 21:08 ` [PATCH AUTOSEL 4.14 37/45] apparmor: Fix aa_label_build() error handling for failed merges Sasha Levin
2019-02-23 21:08 ` [PATCH AUTOSEL 4.14 38/45] x86/kexec: Don't setup EFI info if EFI runtime is not enabled Sasha Levin
2019-02-23 21:08 ` [PATCH AUTOSEL 4.14 39/45] x86_64: increase stack size for KASAN_EXTRA Sasha Levin
2019-02-23 21:08 ` [PATCH AUTOSEL 4.14 40/45] mm, memory_hotplug: is_mem_section_removable do not pass the end of a zone Sasha Levin
2019-02-23 21:08 ` [PATCH AUTOSEL 4.14 41/45] mm, memory_hotplug: test_pages_in_a_zone do not pass the end of zone Sasha Levin
2019-02-23 21:08 ` [PATCH AUTOSEL 4.14 42/45] lib/test_kmod.c: potential double free in error handling Sasha Levin
2019-02-23 21:08 ` [PATCH AUTOSEL 4.14 43/45] fs/drop_caches.c: avoid softlockups in drop_pagecache_sb() Sasha Levin
2019-02-23 21:08 ` [PATCH AUTOSEL 4.14 44/45] autofs: drop dentry reference only when it is never used Sasha Levin
2019-02-23 21:08 ` [PATCH AUTOSEL 4.14 45/45] autofs: fix error return in autofs_fill_super() Sasha Levin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190223210835.201708-24-sashal@kernel.org \
    --to=sashal@kernel.org \
    --cc=Anna.Schumaker@Netapp.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-nfs@vger.kernel.org \
    --cc=stable@vger.kernel.org \
    --cc=yotta.liu@ucloud.cn \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome