Re: Setting group/other write flags not honoured in open

2020-10-31 Thread Marcelo Diop-Gonzalez
Hey, I think this is because the process's umask is changing the mode. In
fs/namei.c in the function lookup_open() there's this bit:


if (!IS_POSIXACL(dir->d_inode))
  mode &= ~current_umask();


the open(2) and umask(2) manpages will explain how to deal with it

-Marcelo



On Sat, Oct 31, 2020 at 11:06 AM Nicky Chorley  wrote:

> Hi folks,
>
> I hope it's OK to ask this question here. I'm reading The Linux
> Programming Interface and am beginning to get to grips with the file
> oriented system calls.
>
> I have a program that calls open to create a file, specifying the mode
> flags for owner, group, other read and write. The file is created
> sucessfully, but when I look at its permissions, I only see the read
> perms set for group and others:
>
> > ./create_file foo
> > ls -l foo
> -rw-r--r-- 1 nick users 0 Oct 31 14:52 foo
>
> Why would that be? The entirety of my program is
>
> #include 
> #include 
>
> int main(int argc, char *argv[]) {
>   int open_flags = O_CREAT | O_WRONLY | O_TRUNC;
>   mode_t file_perms =
> S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH;
>
>   int output_fd = open(argv[1], open_flags, file_perms);
>
>   close(output_fd);
> }
>
> I also ran the program with strace and the perms in the openat call are
> as I would expect:
>
> openat(AT_FDCWD, "foo", O_WRONLY|O_CREAT|O_TRUNC, 0666) = 3
>
> I don't understand why the group and other write flags aren't being
> set. Could someone help shed some light on this please?
>
> I'm not sure what factors influence this, but I'm running openSUSE Leap
> 15.2, with kernel 5.3.18-lp152.47-default, gcc 7.5.0 and glibc 2.26.
>
> Thanks,
>
> Nicky
>
> ___
> Kernelnewbies mailing list
> Kernelnewbies@kernelnewbies.org
> https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>
___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


Re: Trouble Installing Compiled Kernel

2020-03-25 Thread Marcelo Diop-Gonzalez
Hey, I think you want modules_install instead of install_module

-Marcelo

On Wed, Mar 25, 2020 at 12:23 PM Nathanael J Grix
 wrote:
>
> Hi,
> I recently decided to try and make contributions to the kernel. I normally 
> just use windows as my operating system so I decided to set up Slackware to 
> develop on. I thought a good place to start would to actually compile the 
> kernel and install it before I actually make any changes. I ran:
> make O=/home/nathanael/KernelBuild localmodconfig
> make O=/home/nathanael/KernelBuild
>
> After getting it compiled I ran:
> bash-4.3$ sudo make O=/home/nathanael/KernelBuild/ install_module install
>
> but got this error:
> make[1]: Entering directory '/home/nathanael/KernelBuild'
> make[1]: *** No rule to make target 'install_module'.  Stop.
> make[1]: Leaving directory '/home/nathanael/KernelBuild'
> Makefile:180: recipe for target 'sub-make' failed
> make: *** [sub-make] Error 2
>
> I have tried looking around but haven't found anything that has been 
> particularly useful in figuring this out. I am not sure what info might be 
> relevant so I'll just let you know that I'm on Slackware 14.2 and trying to 
> upgrade the Kernel from 4.4.208 to 5.6.0 and I am using ELILO instead of 
> LILO. If anyone has any suggestions or can even just direct me to some 
> resources that might have more info on what is going on with make 
> install_module or the error that would be sick. Thanks.
> ___
> Kernelnewbies mailing list
> Kernelnewbies@kernelnewbies.org
> https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies