Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 47c786e7 authored by Steve French's avatar Steve French
Browse files

[CIFS] Add null malloc response check in notify experimental code

parent 1047abc1
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -217,7 +217,7 @@ cifs_stats_write(struct file *file, const char __user *buffer,
        if (rc)
                return rc;

        if (c == '1' || c == 'y' || c == 'Y') {
        if (c == '1' || c == 'y' || c == 'Y' || c == '0') {
		read_lock(&GlobalSMBSeslock);
		list_for_each(tmp, &GlobalTreeConnectionList) {
			tcon = list_entry(tmp, struct cifsTconInfo,
+19 −13
Original line number Diff line number Diff line
@@ -4294,8 +4294,11 @@ int CIFSSMBNotify(const int xid, struct cifsTconInfo *tcon,
		cFYI(1, ("Error in Notify = %d", rc));
	} else {
		/* Add file to outstanding requests */
		/* BB change to kmem cache alloc */	
		dnotify_req = (struct dir_notify_req *) kmalloc(
						sizeof(struct dir_notify_req), GFP_KERNEL);
						sizeof(struct dir_notify_req),
						 GFP_KERNEL);
		if(dnotify_req) {
			dnotify_req->Pid = pSMB->hdr.Pid;
			dnotify_req->PidHigh = pSMB->hdr.PidHigh;
			dnotify_req->Mid = pSMB->hdr.Mid;
@@ -4306,8 +4309,11 @@ int CIFSSMBNotify(const int xid, struct cifsTconInfo *tcon,
			dnotify_req->filter = filter;
			dnotify_req->multishot = multishot;
			spin_lock(&GlobalMid_Lock);
		list_add_tail(&dnotify_req->lhead, &GlobalDnotifyReqList);
			list_add_tail(&dnotify_req->lhead, 
					&GlobalDnotifyReqList);
			spin_unlock(&GlobalMid_Lock);
		} else 
			rc = -ENOMEM;
	}
	cifs_buf_release(pSMB);
	return rc;