2021-11-16 21:44:49

by Oleksandr Natalenko

[permalink] [raw]
Subject: ksmbd: Unsupported addition info

Hello Namjae et al.

With the latest ksmbd from the next branch I have an issue with wife's Windows
10 laptop while copying/removing files from the network share. On her client it
looks like copy operation (server -> laptop) reaches 99% and then stalls, and
on the server side there's this in the kernel log:

```
ksmbd: Unsupported addition info: 0xf)
ksmbd: Unsupported addition info: 0x20)
```

repeated multiple times. I must note that in fact the file gets copied to her
laptop, but Windows copy dialog just hangs.

Any idea what it could be and how to avoid it? This also happened before (I'm
a pretty early ksmbd adopter), but I'm reporting it just now because I na?vely
hoped it would be fixed automagically :). This never happened to me with
userspace Samba though.

This is my smb.conf:

```
[global]
workgroup = KANAPKA
server string = ksmbd server %v
netbios name = defiant
valid users = __guest

[Shared]
valid users = __guest
path = /mnt/shared
force user = _shared
force group = _shared
browsable = no
writeable = yes
veto files = /lost+found/
```

Appreciate your time and looking forward to your response.

Thanks.

--
Oleksandr Natalenko (post-factum)




2021-11-16 23:03:49

by Marios Makassikis

[permalink] [raw]
Subject: Re: ksmbd: Unsupported addition info

On Tue, Nov 16, 2021 at 10:44 PM Oleksandr Natalenko
<[email protected]> wrote:
>
> Hello Namjae et al.
>
> With the latest ksmbd from the next branch I have an issue with wife's Windows
> 10 laptop while copying/removing files from the network share. On her client it
> looks like copy operation (server -> laptop) reaches 99% and then stalls, and
> on the server side there's this in the kernel log:
>
> ```
> ksmbd: Unsupported addition info: 0xf)
> ksmbd: Unsupported addition info: 0x20)
> ```
>
> repeated multiple times. I must note that in fact the file gets copied to her
> laptop, but Windows copy dialog just hangs.
>
> Any idea what it could be and how to avoid it? This also happened before (I'm
> a pretty early ksmbd adopter), but I'm reporting it just now because I naïvely
> hoped it would be fixed automagically :). This never happened to me with
> userspace Samba though.
>
> This is my smb.conf:
>
> ```
> [global]
> workgroup = KANAPKA
> server string = ksmbd server %v
> netbios name = defiant
> valid users = __guest
>
> [Shared]
> valid users = __guest
> path = /mnt/shared
> force user = _shared
> force group = _shared
> browsable = no
> writeable = yes
> veto files = /lost+found/
> ```
>
> Appreciate your time and looking forward to your response.
>
> Thanks.
>

Hello,

This sounds like an issue reported on github a couple of months ago [1].

Can you specify the exact Windows version (+ edition) ?

Are you accessing the share through a network-mapped drive ? If not,
can you try to reproduce it ?

Does this happen with files of any type ? IIRC, the "Unsupported addition info"
message you're seeing is related to Windows requesting some attributes
that are not handled yet by ksmbd. It seems it was added to fix
windows 10 clients
after ACLs support was added [2]. Makes me wonder if Windows doesn't like the
fake response it is getting when it's trying to read the SACLs.

https://github.com/cifsd-team/ksmbd-tools/issues/208
https://github.com/namjaejeon/ksmbd/commit/cb9167856ffca6483

> --
> Oleksandr Natalenko (post-factum)
>
>

2021-11-16 23:23:30

by Oleksandr Natalenko

[permalink] [raw]
Subject: Re: ksmbd: Unsupported addition info

Hello.

Thanks for your response. Please find my answers inline.

On středa 17. listopadu 2021 0:03:34 CET Marios Makassikis wrote:
> On Tue, Nov 16, 2021 at 10:44 PM Oleksandr Natalenko
>
> <[email protected]> wrote:
> > Hello Namjae et al.
> >
> > With the latest ksmbd from the next branch I have an issue with wife's
> > Windows 10 laptop while copying/removing files from the network share. On
> > her client it looks like copy operation (server -> laptop) reaches 99%
> > and then stalls, and on the server side there's this in the kernel log:
> >
> > ```
> > ksmbd: Unsupported addition info: 0xf)
> > ksmbd: Unsupported addition info: 0x20)
> > ```
> >
> > repeated multiple times. I must note that in fact the file gets copied to
> > her laptop, but Windows copy dialog just hangs.
> >
> > Any idea what it could be and how to avoid it? This also happened before
> > (I'm a pretty early ksmbd adopter), but I'm reporting it just now because
> > I naïvely hoped it would be fixed automagically :). This never happened
> > to me with userspace Samba though.
> >
> > This is my smb.conf:
> >
> > ```
> > [global]
> > workgroup = KANAPKA
> > server string = ksmbd server %v
> > netbios name = defiant
> > valid users = __guest
> >
> > [Shared]
> > valid users = __guest
> > path = /mnt/shared
> > force user = _shared
> > force group = _shared
> > browsable = no
> > writeable = yes
> > veto files = /lost+found/
> > ```
> >
> > Appreciate your time and looking forward to your response.
>
> This sounds like an issue reported on github a couple of months ago [1].
>
> Can you specify the exact Windows version (+ edition) ?

It is Windows 10 Pro 21H1 19043.1348

> Are you accessing the share through a network-mapped drive ? If not,
> can you try to reproduce it ?

Yes, the share is "mounted" as a network-mapped drive Z:.

> Does this happen with files of any type ?

I didn't find it depending on a specific file type. Just tried a couple of fresh
jpgs and xslx, all hung, but another pair of old jpgs went fine instantly,
although the same message was logged in the kernel log on the server side for
all the files.

> IIRC, the "Unsupported addition
> info" message you're seeing is related to Windows requesting some
> attributes that are not handled yet by ksmbd. It seems it was added to fix
> windows 10 clients
> after ACLs support was added [2]. Makes me wonder if Windows doesn't like
> the fake response it is getting when it's trying to read the SACLs.

Cannot comment on this since I have no idea how things work or are supposed to
work, but I'm ready to test patches as well as ksmbd options if there are some
suggestions.

Thanks you!

> https://github.com/cifsd-team/ksmbd-tools/issues/208
> https://github.com/namjaejeon/ksmbd/commit/cb9167856ffca6483

--
Oleksandr Natalenko (post-factum)



2021-11-16 23:36:57

by Namjae Jeon

[permalink] [raw]
Subject: Re: ksmbd: Unsupported addition info

2021-11-17 6:44 GMT+09:00, Oleksandr Natalenko <[email protected]>:
> Hello Namjae et al.
Hi Oleksandr,
>
> With the latest ksmbd from the next branch I have an issue with wife's
> Windows
> 10 laptop while copying/removing files from the network share. On her client
> it
> looks like copy operation (server -> laptop) reaches 99% and then stalls,
> and
> on the server side there's this in the kernel log:
>
> ```
> ksmbd: Unsupported addition info: 0xf)
> ksmbd: Unsupported addition info: 0x20)
> ```
>
> repeated multiple times. I must note that in fact the file gets copied to
> her
> laptop, but Windows copy dialog just hangs.
>
> Any idea what it could be and how to avoid it? This also happened before
> (I'm
> a pretty early ksmbd adopter), but I'm reporting it just now because I
> naïvely
> hoped it would be fixed automagically :). This never happened to me with
> userspace Samba though.
>
> This is my smb.conf:
>
> ```
> [global]
> workgroup = KANAPKA
> server string = ksmbd server %v
> netbios name = defiant
> valid users = __guest
>
> [Shared]
> valid users = __guest
> path = /mnt/shared
> force user = _shared
> force group = _shared
> browsable = no
> writeable = yes
> veto files = /lost+found/
> ```
>
> Appreciate your time and looking forward to your response.
Thanks for your report, I have seen same symptom before, I thought it
was a windows issue as it is also reproduced against samba. If you
wait for a few minutes, does not the 99% message window close?

Thanks!
>
> Thanks.
>
> --
> Oleksandr Natalenko (post-factum)
>
>
>

2021-11-17 07:00:52

by Oleksandr Natalenko

[permalink] [raw]
Subject: Re: ksmbd: Unsupported addition info

Hello.

On středa 17. listopadu 2021 0:36:53 CET Namjae Jeon wrote:
> 2021-11-17 6:44 GMT+09:00, Oleksandr Natalenko <[email protected]>:
> > With the latest ksmbd from the next branch I have an issue with wife's
> > Windows
> > 10 laptop while copying/removing files from the network share. On her
> > client it
> > looks like copy operation (server -> laptop) reaches 99% and then stalls,
> > and
> > on the server side there's this in the kernel log:
> >
> > ```
> > ksmbd: Unsupported addition info: 0xf)
> > ksmbd: Unsupported addition info: 0x20)
> > ```
> >
> > repeated multiple times. I must note that in fact the file gets copied to
> > her
> > laptop, but Windows copy dialog just hangs.
> >
> > Any idea what it could be and how to avoid it? This also happened before
> > (I'm
> > a pretty early ksmbd adopter), but I'm reporting it just now because I
> > naïvely
> > hoped it would be fixed automagically :). This never happened to me with
> > userspace Samba though.
> >
> > This is my smb.conf:
> >
> > ```
> > [global]
> > workgroup = KANAPKA
> > server string = ksmbd server %v
> > netbios name = defiant
> > valid users = __guest
> >
> > [Shared]
> > valid users = __guest
> > path = /mnt/shared
> > force user = _shared
> > force group = _shared
> > browsable = no
> > writeable = yes
> > veto files = /lost+found/
> > ```
> >
> > Appreciate your time and looking forward to your response.
>
> Thanks for your report, I have seen same symptom before, I thought it
> was a windows issue as it is also reproduced against samba. If you
> wait for a few minutes, does not the 99% message window close?

Eventually it does close on its own in a minute or so. Also, it may close
after clicking the "X" (close) button, but not instantly.

--
Oleksandr Natalenko (post-factum)



2021-11-17 09:58:55

by Namjae Jeon

[permalink] [raw]
Subject: Re: ksmbd: Unsupported addition info

2021-11-17 16:00 GMT+09:00, Oleksandr Natalenko <[email protected]>:
> Hello.
>
> On středa 17. listopadu 2021 0:36:53 CET Namjae Jeon wrote:
>> 2021-11-17 6:44 GMT+09:00, Oleksandr Natalenko
>> <[email protected]>:
>> > With the latest ksmbd from the next branch I have an issue with wife's
>> > Windows
>> > 10 laptop while copying/removing files from the network share. On her
>> > client it
>> > looks like copy operation (server -> laptop) reaches 99% and then
>> > stalls,
>> > and
>> > on the server side there's this in the kernel log:
>> >
>> > ```
>> > ksmbd: Unsupported addition info: 0xf)
>> > ksmbd: Unsupported addition info: 0x20)
>> > ```
>> >
>> > repeated multiple times. I must note that in fact the file gets copied
>> > to
>> > her
>> > laptop, but Windows copy dialog just hangs.
>> >
>> > Any idea what it could be and how to avoid it? This also happened
>> > before
>> > (I'm
>> > a pretty early ksmbd adopter), but I'm reporting it just now because I
>> > naïvely
>> > hoped it would be fixed automagically :). This never happened to me
>> > with
>> > userspace Samba though.
>> >
>> > This is my smb.conf:
>> >
>> > ```
>> > [global]
>> > workgroup = KANAPKA
>> > server string = ksmbd server %v
>> > netbios name = defiant
>> > valid users = __guest
>> >
>> > [Shared]
>> > valid users = __guest
>> > path = /mnt/shared
>> > force user = _shared
>> > force group = _shared
>> > browsable = no
>> > writeable = yes
>> > veto files = /lost+found/
>> > ```
>> >
>> > Appreciate your time and looking forward to your response.
>>
>> Thanks for your report, I have seen same symptom before, I thought it
>> was a windows issue as it is also reproduced against samba. If you
>> wait for a few minutes, does not the 99% message window close?
>
> Eventually it does close on its own in a minute or so. Also, it may close
> after clicking the "X" (close) button, but not instantly.
As I remember, The X button will delete the file you copied. Could you
please give me packet dump(tcpdump) on problem situation ? and It
would be nice to give a dump also for a successful copy. I will try to
compare the two.

Thanks!
>
> --
> Oleksandr Natalenko (post-factum)
>
>
>

2021-11-17 14:17:17

by Oleksandr Natalenko

[permalink] [raw]
Subject: Re: ksmbd: Unsupported addition info

Hello.

On středa 17. listopadu 2021 10:58:50 CET Namjae Jeon wrote:
> 2021-11-17 16:00 GMT+09:00, Oleksandr Natalenko <[email protected]>:
> > On středa 17. listopadu 2021 0:36:53 CET Namjae Jeon wrote:
> >> 2021-11-17 6:44 GMT+09:00, Oleksandr Natalenko
> >>
> >> <[email protected]>:
> >> > With the latest ksmbd from the next branch I have an issue with wife's
> >> > Windows
> >> > 10 laptop while copying/removing files from the network share. On her
> >> > client it
> >> > looks like copy operation (server -> laptop) reaches 99% and then
> >> > stalls,
> >> > and
> >> > on the server side there's this in the kernel log:
> >> >
> >> > ```
> >> > ksmbd: Unsupported addition info: 0xf)
> >> > ksmbd: Unsupported addition info: 0x20)
> >> > ```
> >> >
> >> > repeated multiple times. I must note that in fact the file gets copied
> >> > to
> >> > her
> >> > laptop, but Windows copy dialog just hangs.
> >> >
> >> > Any idea what it could be and how to avoid it? This also happened
> >> > before
> >> > (I'm
> >> > a pretty early ksmbd adopter), but I'm reporting it just now because I
> >> > naïvely
> >> > hoped it would be fixed automagically :). This never happened to me
> >> > with
> >> > userspace Samba though.
> >> >
> >> > This is my smb.conf:
> >> >
> >> > ```
> >> > [global]
> >> > workgroup = KANAPKA
> >> > server string = ksmbd server %v
> >> > netbios name = defiant
> >> > valid users = __guest
> >> >
> >> > [Shared]
> >> > valid users = __guest
> >> > path = /mnt/shared
> >> > force user = _shared
> >> > force group = _shared
> >> > browsable = no
> >> > writeable = yes
> >> > veto files = /lost+found/
> >> > ```
> >> >
> >> > Appreciate your time and looking forward to your response.
> >>
> >> Thanks for your report, I have seen same symptom before, I thought it
> >> was a windows issue as it is also reproduced against samba. If you
> >> wait for a few minutes, does not the 99% message window close?
> >
> > Eventually it does close on its own in a minute or so. Also, it may close
> > after clicking the "X" (close) button, but not instantly.
>
> As I remember, The X button will delete the file you copied.

In my case the file is not deleted. So, probably, it is already copied, but
Windows wants something extra from the share.

> Could you
> please give me packet dump(tcpdump) on problem situation ? and It
> would be nice to give a dump also for a successful copy. I will try to
> compare the two.

Sure.

OK one: [1]

Non-OK one: [2]

Thank you.

[1] https://natalenko.name/myfiles/misc/ksmbd-ok.pcap.gz
[2] https://natalenko.name/myfiles/misc/ksmbd-stalled.pcap.gz

--
Oleksandr Natalenko (post-factum)



2021-11-17 17:25:50

by Jeremy Allison

[permalink] [raw]
Subject: Re: ksmbd: Unsupported addition info

On Wed, Nov 17, 2021 at 06:58:50PM +0900, Namjae Jeon wrote:
>2021-11-17 16:00 GMT+09:00, Oleksandr Natalenko <[email protected]>:
>> Hello.
>>
>> On středa 17. listopadu 2021 0:36:53 CET Namjae Jeon wrote:
>>> 2021-11-17 6:44 GMT+09:00, Oleksandr Natalenko
>>> <[email protected]>:
>>> > With the latest ksmbd from the next branch I have an issue with wife's
>>> > Windows
>>> > 10 laptop while copying/removing files from the network share. On her
>>> > client it
>>> > looks like copy operation (server -> laptop) reaches 99% and then
>>> > stalls,
>>> > and
>>> > on the server side there's this in the kernel log:
>>> >
>>> > ```
>>> > ksmbd: Unsupported addition info: 0xf)
>>> > ksmbd: Unsupported addition info: 0x20)

Namjae, looks like your code is handling the
following flags in query security descriptor:

if (addition_info & ~(OWNER_SECINFO | GROUP_SECINFO | DACL_SECINFO |
PROTECTED_DACL_SECINFO |
UNPROTECTED_DACL_SECINFO)) {
pr_err("Unsupported addition info: 0x%x)\n",
addition_info);

From the Samba code we have (the names are pretty
similar):

/* security_descriptor->type bits */
typedef [public,bitmap16bit] bitmap {
SEC_DESC_OWNER_DEFAULTED = 0x0001,
SEC_DESC_GROUP_DEFAULTED = 0x0002,
SEC_DESC_DACL_PRESENT = 0x0004,
SEC_DESC_DACL_DEFAULTED = 0x0008,
SEC_DESC_SACL_PRESENT = 0x0010,
SEC_DESC_SACL_DEFAULTED = 0x0020,
SEC_DESC_DACL_TRUSTED = 0x0040,
SEC_DESC_SERVER_SECURITY = 0x0080,
SEC_DESC_DACL_AUTO_INHERIT_REQ = 0x0100,
SEC_DESC_SACL_AUTO_INHERIT_REQ = 0x0200,
SEC_DESC_DACL_AUTO_INHERITED = 0x0400,
SEC_DESC_SACL_AUTO_INHERITED = 0x0800,
SEC_DESC_DACL_PROTECTED = 0x1000,
SEC_DESC_SACL_PROTECTED = 0x2000,
SEC_DESC_RM_CONTROL_VALID = 0x4000,
SEC_DESC_SELF_RELATIVE = 0x8000
} security_descriptor_type;

0xF == (SEC_DESC_OWNER_DEFAULTED|SEC_DESC_GROUP_DEFAULTED|SEC_DESC_DACL_PRESENT|SEC_DESC_DACL_DEFAULTED)

and:

0x20 == SEC_DESC_SACL_DEFAULTED

Looks like you need to handle these bits.

Hope this helps,

Jeremy.

2021-11-18 00:31:23

by Namjae Jeon

[permalink] [raw]
Subject: Re: ksmbd: Unsupported addition info

2021-11-18 2:25 GMT+09:00, Jeremy Allison <[email protected]>:
> On Wed, Nov 17, 2021 at 06:58:50PM +0900, Namjae Jeon wrote:
>>2021-11-17 16:00 GMT+09:00, Oleksandr Natalenko
>> <[email protected]>:
>>> Hello.
>>>
>>> On středa 17. listopadu 2021 0:36:53 CET Namjae Jeon wrote:
>>>> 2021-11-17 6:44 GMT+09:00, Oleksandr Natalenko
>>>> <[email protected]>:
>>>> > With the latest ksmbd from the next branch I have an issue with
>>>> > wife's
>>>> > Windows
>>>> > 10 laptop while copying/removing files from the network share. On her
>>>> > client it
>>>> > looks like copy operation (server -> laptop) reaches 99% and then
>>>> > stalls,
>>>> > and
>>>> > on the server side there's this in the kernel log:
>>>> >
>>>> > ```
>>>> > ksmbd: Unsupported addition info: 0xf)
>>>> > ksmbd: Unsupported addition info: 0x20)
>
Hi Jeremy,
> Namjae, looks like your code is handling the
> following flags in query security descriptor:
>
> if (addition_info & ~(OWNER_SECINFO | GROUP_SECINFO | DACL_SECINFO
> |
> PROTECTED_DACL_SECINFO |
> UNPROTECTED_DACL_SECINFO)) {
> pr_err("Unsupported addition info: 0x%x)\n",
> addition_info);
>
> From the Samba code we have (the names are pretty
> similar):
>
> /* security_descriptor->type bits */
> typedef [public,bitmap16bit] bitmap {
> SEC_DESC_OWNER_DEFAULTED = 0x0001,
> SEC_DESC_GROUP_DEFAULTED = 0x0002,
> SEC_DESC_DACL_PRESENT = 0x0004,
> SEC_DESC_DACL_DEFAULTED = 0x0008,
> SEC_DESC_SACL_PRESENT = 0x0010,
> SEC_DESC_SACL_DEFAULTED = 0x0020,
> SEC_DESC_DACL_TRUSTED = 0x0040,
> SEC_DESC_SERVER_SECURITY = 0x0080,
> SEC_DESC_DACL_AUTO_INHERIT_REQ = 0x0100,
> SEC_DESC_SACL_AUTO_INHERIT_REQ = 0x0200,
> SEC_DESC_DACL_AUTO_INHERITED = 0x0400,
> SEC_DESC_SACL_AUTO_INHERITED = 0x0800,
> SEC_DESC_DACL_PROTECTED = 0x1000,
> SEC_DESC_SACL_PROTECTED = 0x2000,
> SEC_DESC_RM_CONTROL_VALID = 0x4000,
> SEC_DESC_SELF_RELATIVE = 0x8000
> } security_descriptor_type;
>
> 0xF ==
> (SEC_DESC_OWNER_DEFAULTED|SEC_DESC_GROUP_DEFAULTED|SEC_DESC_DACL_PRESENT|SEC_DESC_DACL_DEFAULTED)
>
> and:
>
> 0x20 == SEC_DESC_SACL_DEFAULTED
>
> Looks like you need to handle these bits.
>
> Hope this helps,
Let me check it. Thanks for your mail:)
>
> Jeremy.
>