tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: mknodat(2) device argument type change



On Oct 6, 10:51pm, njoly%pasteur.fr@localhost (Nicolas Joly) wrote:
-- Subject: Re: mknodat(2) device argument type change

| On Sun, Oct 06, 2013 at 05:56:58PM +0000, Christos Zoulas wrote:
| > In article <20131006174052.GA27386%lynche.sis.pasteur.fr@localhost>,
| > Nicolas Joly  <njoly%pasteur.fr@localhost> wrote:
| > >
| > >Hi,
| > >
| > >Checking syscalls.master mknodat(2) definition needs to be updated for
| > >correct device argument type. It currently use uint32_t where it
| > >should be dev_t ...
| > >
| > >460     STD  RUMP       { int|sys||mknodat(int fd, const char *path, \
| > >                            mode_t mode, uint32_t dev); }
| > >
| > >Simply changing the argument type does not seems enough ... It, at
| > >least, needs an extra special PAD argument for proper alignment :
| > >
| > >460     STD  RUMP       { int|sys||mknodat(int fd, const char *path, \
| > >                            mode_t mode, int PAD, dev_t dev); }
| > >
| > >What's next ?
| > 
| > While putting PAD there is strictly more correct, since dev_t is 64 bits now
| > mknod does not do that... I would also say just make the change, because
| > probably nothing uses it yet, and it is not worth it to burn a syscall
| > number and add more compat code for something that has not been used...
| 
| It needs the PAD, syscalls files generation fails without it
| (sysalign=1).
| 
| /bin/sh makesyscalls.sh syscalls.conf syscalls.master
| syscalls.master: line 905: unexpected dev (expected <a padding argument>)
| line is:
| 460     STD  RUMP        {  int | sys |  | mknodat ( int fd , const char  * 
path ,                        mode_t mode , dev_t dev ) ;  }
| *** Error code 1


And mknod() works?

christos


Home | Main Index | Thread Index | Old Index