All of lore.kernel.org
 help / color / mirror / Atom feed
From: Julian Sikorski <belegdol@gmail.com>
To: Steve French <smfrench@gmail.com>, Jeremy Allison <jra@samba.org>
Cc: CIFS <linux-cifs@vger.kernel.org>
Subject: Re: Permission denied when chainbuilding packages with mock
Date: Sat, 13 Nov 2021 16:37:51 +0100	[thread overview]
Message-ID: <65be73d3-b8c9-e919-3dda-240c0497efff@gmail.com> (raw)
In-Reply-To: <c9af96be-bb75-9487-4f9c-1a53b41e9210@gmail.com>

Am 10.11.21 um 12:23 schrieb Julian Sikorski:
> W dniu 10.11.2021 o 08:56, Steve French pisze:
>> Fix for the kernel client attached
>>
>>
>> On Tue, Nov 9, 2021 at 6:54 PM Jeremy Allison <jra@samba.org> wrote:
>>>
>>> On Tue, Nov 09, 2021 at 10:26:59AM +0100, Julian Sikorski wrote:
>>>> Am 09.11.21 um 09:10 schrieb Steve French:
>>>>> Yes - here is a trivial reproducer (excuse the ugly sample 
>>>>> cut-n-paste)
>>>>>
>>>>> #include <stdio.h>
>>>>> #include <stdlib.h>
>>>>> #include <unistd.h>
>>>>> #include <string.h>
>>>>> #include <fcntl.h>
>>>>> #include <sys/types.h>
>>>>> #include <sys/stat.h>
>>>>>
>>>>> int main(int argc, char *argv[]) {
>>>>> char *str = "Text to be added";
>>>>> int fd, ret, fsyncrc, fsyncr_rc, openrc, closerc, close2rc;
>>>>>
>>>>> fd = creat("test.txt", S_IWUSR | S_IRUSR);
>>>>> if (fd < 0) {
>>>>> perror("creat()");
>>>>> exit(1);
>>>>> }
>>>>> ret = write(fd, str, strlen(str));
>>>>> if (ret < 0) {
>>>>> perror("write()");
>>>>> exit(1);
>>>>> }
>>>>> openrc = open("test.txt", O_RDONLY);
>>>>>          if (openrc < 0) {
>>>>>                  perror("creat()");
>>>>>                  exit(1);
>>>>>          }
>>>>> fsyncr_rc = fsync(openrc);
>>>>> if (fsyncr_rc < 0)
>>>>> perror("fsync()");
>>>>> fsyncrc = fsync(fd);
>>>>> closerc = close(fd);
>>>>> close2rc = close(openrc);
>>>>> printf("read fsync rc=%d, write fsync rc=%d, close rc=%d, RO close
>>>>> rc=%d\n", fsyncr_rc, fsyncrc, closerc, close2rc);
>>>>> }
>>>>>
>>>>
>>>> I can confirm this fails on my machine without nostrictsync:
>>>>
>>>> $ ./test
>>>>
>>>> fsync(): Permission denied
>>>>
>>>> read fsync rc=-1, write fsync rc=0, close rc=0, RO close rc=0
>>>>
>>>> and works with nostrictsync:
>>>>
>>>> $ ./test
>>>>
>>>> read fsync rc=0, write fsync rc=0, close rc=0, RO close rc=0
>>>>
>>>> So is the bug in the Linux kernel?
>>>
>>> Yes, it's in the kernel cifsfs module which is forwarding an 
>>> SMB_FLUSH request
>>> (which the spec says must fail on a non-writable handle) to
>>> a handle opened as non-writable. Steve hopefully will fix :-).
>>
>>
>>
> Thank you. I can confirm that 5.15.1 kernel with this patch applied [1] 
> works both with the test case you provided earlier as well as with mock 
> chainbuilds without the need for the nostrictsync mount option. Fedora 
> kernel-5.14.16-301.fc35.x86_64 was failing without it.
> 
> Tested-by: Julian Sikorski <belegdol@gmail.com>
> 
> Best regards,
> Julian
> 
> [1] https://gitlab.com/belegdol/kernel-ark/-/commits/fedora-5.15-cifs-fix/

Hi,

may I ask what the usual process of getting the patch into the Linus's 
tree and to the stable branches is? If it takes longer, I am going to go 
back to nostrictsync for now.

Best regards,
Julian

  reply	other threads:[~2021-11-13 15:37 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-07 21:10 Permission denied when chainbuilding packages with mock Julian Sikorski
2021-11-07 21:44 ` Jeremy Allison
2021-11-07 21:49   ` Jeremy Allison
2021-11-07 22:03     ` Jeremy Allison
2021-11-07 22:15     ` Julian Sikorski
2021-11-07 22:47       ` Jeremy Allison
2021-11-07 22:50         ` Steve French
2021-11-07 22:55           ` Julian Sikorski
2021-11-08  1:46           ` Jeremy Allison
2021-11-07 22:51         ` Julian Sikorski
2021-11-08  1:48           ` Jeremy Allison
2021-11-08  6:59             ` Julian Sikorski
2021-11-08 15:52               ` Julian Sikorski
2021-11-08 16:46               ` Jeremy Allison
2021-11-09  8:10                 ` Steve French
2021-11-09  9:26                   ` Julian Sikorski
2021-11-10  0:54                     ` Jeremy Allison
2021-11-10  7:56                       ` Steve French
2021-11-10 11:23                         ` Julian Sikorski
2021-11-13 15:37                           ` Julian Sikorski [this message]
2021-11-15  3:25                             ` Steve French
2021-11-15  7:10                               ` Julian Sikorski
2021-11-09 19:25                   ` Jeremy Allison
  -- strict thread matches above, loose matches on Subject: below --
2021-11-07 15:44 Julian Sikorski

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=65be73d3-b8c9-e919-3dda-240c0497efff@gmail.com \
    --to=belegdol@gmail.com \
    --cc=jra@samba.org \
    --cc=linux-cifs@vger.kernel.org \
    --cc=smfrench@gmail.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.