mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Arjan van de Ven <arjan@infradead.org>
To: linux-kernel@vger.kernel.org
Cc: sfrench@us.ibm.com, akpms@Osdl.org
Subject: [patch 3/4] fix cifs bugs wrt writing to f_ops
Date: Fri, 06 Jan 2006 22:49:26 +0100	[thread overview]
Message-ID: <1136584166.2940.98.camel@laptopd505.fenrus.org> (raw)
In-Reply-To: <1136583937.2940.90.camel@laptopd505.fenrus.org>

From: Arjan van de Ven <arjan@infradead.org>

patch 2ea55c01e0c5dfead8699484b0bae2a375b1f61c fixed CIFS clobbering the
global fops structure for some per mount setting, by duplicating and having
2 fops structs. However the write to the fops was left behind, which is a
NOP in practice (due to the fact that we KNOW the fops has that field set to
NULL already due to the duplication). So remove it... In addition, another
instance of the same bug was forgotten in november.

Signed-off-by: Arjan van de Ven <arjan@infradead.org>
CC: Steve French <sfrench@us.ibm.com>

 fs/cifs/readdir.c |   17 +++++++++++------
 1 file changed, 11 insertions(+), 6 deletions(-)

Index: linux-2.6.15/fs/cifs/readdir.c
===================================================================
--- linux-2.6.15.orig/fs/cifs/readdir.c
+++ linux-2.6.15/fs/cifs/readdir.c
@@ -214,8 +214,7 @@ static void fill_in_inode(struct inode *
 			tmp_inode->i_fop = &cifs_file_nobrl_ops;
 		else
 			tmp_inode->i_fop = &cifs_file_ops;
-		if(cifs_sb->mnt_cifs_flags & CIFS_MOUNT_NO_BRL)
-			tmp_inode->i_fop->lock = NULL;
+
 		tmp_inode->i_data.a_ops = &cifs_addr_ops;
 		if((cifs_sb->tcon) && (cifs_sb->tcon->ses) &&
 		   (cifs_sb->tcon->ses->server->maxBuf <
@@ -327,12 +326,18 @@ static void unix_fill_in_inode(struct in
 	if (S_ISREG(tmp_inode->i_mode)) {
 		cFYI(1, ("File inode"));
 		tmp_inode->i_op = &cifs_file_inode_ops;
-		if(cifs_sb->mnt_cifs_flags & CIFS_MOUNT_DIRECT_IO)
-			tmp_inode->i_fop = &cifs_file_direct_ops;
+
+		if(cifs_sb->mnt_cifs_flags & CIFS_MOUNT_DIRECT_IO) {
+			if(cifs_sb->mnt_cifs_flags & CIFS_MOUNT_NO_BRL)
+				tmp_inode->i_fop = &cifs_file_direct_nobrl_ops;
+			else
+				tmp_inode->i_fop = &cifs_file_direct_ops;
+		
+		} else if(cifs_sb->mnt_cifs_flags & CIFS_MOUNT_NO_BRL)
+			tmp_inode->i_fop = &cifs_file_nobrl_ops;
 		else
 			tmp_inode->i_fop = &cifs_file_ops;
-		if(cifs_sb->mnt_cifs_flags & CIFS_MOUNT_NO_BRL)
-			tmp_inode->i_fop->lock = NULL;
+
 		tmp_inode->i_data.a_ops = &cifs_addr_ops;
 		if((cifs_sb->tcon) && (cifs_sb->tcon->ses) &&
 		   (cifs_sb->tcon->ses->server->maxBuf < 



  parent reply	other threads:[~2006-01-06 21:51 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-01-06 21:45 [patch 0/4] Series to allow a "const" file_operations struct Arjan van de Ven
2006-01-06 21:46 ` [patch 1/4] fix some f_ops abuse in acpi Arjan van de Ven
2006-01-06 21:47 ` [patch 2/4] fix input layer f_ops abuse Arjan van de Ven
2006-01-06 23:12   ` Dmitry Torokhov
2006-01-06 21:49 ` Arjan van de Ven [this message]
2006-01-06 21:51 ` [patch 4/4] Actually make the f_ops field const Arjan van de Ven
2006-01-07  8:00   ` Andrew Morton
2006-01-07  8:13     ` Arjan van de Ven
2006-01-06 21:55 ` [patch 0/4] Series to allow a "const" file_operations struct Arjan van de Ven
2006-01-06 22:46   ` Eric Dumazet
2006-01-07  0:29     ` Andrew Morton
2006-01-07  1:01       ` Arnd Bergmann
2006-01-07  7:40       ` Eric Dumazet
2006-01-07  8:33       ` Arjan van de Ven

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=1136584166.2940.98.camel@laptopd505.fenrus.org \
    --to=arjan@infradead.org \
    --cc=akpms@Osdl.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=sfrench@us.ibm.com \
    /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

all inboxes | Powered by JetHome®