Hi Renzo,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on linus/master]
[also build test ERROR on v5.2-rc1 next-20190524]
[if your patch is applied to the wrong git tree, please drop us a note to help 
improve the system]

url:    
https://github.com/0day-ci/linux/commits/Renzo-Davoli/eventfd-new-tag-EFD_VPOLL-generate-epoll-events/20190527-023620
config: i386-randconfig-l2-201921 (attached as .config)
compiler: gcc-5 (Debian 5.5.0-3) 5.4.1 20171010
reproduce:
        # save the attached .config to linux build tree
        make ARCH=i386 

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <l...@intel.com>

All errors (new ones prefixed by >>):

   In file included from fs/eventfd.c:23:0:
   fs/eventfd.c: In function 'eventfd_vpoll_write':
   include/linux/eventfd.h:31:34: warning: left shift count >= width of type 
[-Wshift-count-overflow]
    #define EFD_VPOLL_ADDEVENTS (1UL << 32)
                                     ^
   fs/eventfd.c:360:7: note: in expansion of macro 'EFD_VPOLL_ADDEVENTS'
     case EFD_VPOLL_ADDEVENTS:
          ^
   include/linux/eventfd.h:32:34: warning: left shift count >= width of type 
[-Wshift-count-overflow]
    #define EFD_VPOLL_DELEVENTS (2UL << 32)
                                     ^
   fs/eventfd.c:363:7: note: in expansion of macro 'EFD_VPOLL_DELEVENTS'
     case EFD_VPOLL_DELEVENTS:
          ^
   fs/eventfd.c:363:2: error: duplicate case value
     case EFD_VPOLL_DELEVENTS:
     ^
>> fs/eventfd.c:360:2: error: previously used here
     case EFD_VPOLL_ADDEVENTS:
     ^
   In file included from fs/eventfd.c:23:0:
   include/linux/eventfd.h:33:34: warning: left shift count >= width of type 
[-Wshift-count-overflow]
    #define EFD_VPOLL_MODEVENTS (3UL << 32)
                                     ^
   fs/eventfd.c:366:7: note: in expansion of macro 'EFD_VPOLL_MODEVENTS'
     case EFD_VPOLL_MODEVENTS:
          ^
   fs/eventfd.c:366:2: error: duplicate case value
     case EFD_VPOLL_MODEVENTS:
     ^
>> fs/eventfd.c:360:2: error: previously used here
     case EFD_VPOLL_ADDEVENTS:
     ^

vim +360 fs/eventfd.c

   342  
   343  static ssize_t eventfd_vpoll_write(struct file *file, const char __user 
*buf,
   344                  size_t count, loff_t *ppos)
   345  {
   346          struct eventfd_ctx *ctx = file->private_data;
   347          ssize_t res;
   348          __u64 ucnt;
   349          __u32 events;
   350  
   351          if (count < sizeof(ucnt))
   352                  return -EINVAL;
   353          if (copy_from_user(&ucnt, buf, sizeof(ucnt)))
   354                  return -EFAULT;
   355          spin_lock_irq(&ctx->wqh.lock);
   356  
   357          events = ucnt & EPOLLALLMASK;
   358          res = sizeof(ucnt);
   359          switch (ucnt & ~((__u64)EPOLLALLMASK)) {
 > 360          case EFD_VPOLL_ADDEVENTS:
   361                  ctx->count |= events;
   362                  break;
 > 363          case EFD_VPOLL_DELEVENTS:
   364                  ctx->count &= ~(events);
   365                  break;
   366          case EFD_VPOLL_MODEVENTS:
   367                  ctx->count = (ctx->count & ~EPOLLALLMASK) | events;
   368                  break;
   369          default:
   370                  res = -EINVAL;
   371          }
   372  
   373          /* wake up waiting threads */
   374          if (res >= 0 && waitqueue_active(&ctx->wqh))
   375                  wake_up_locked_poll(&ctx->wqh, res);
   376  
   377          spin_unlock_irq(&ctx->wqh.lock);
   378  
   379          return res;
   380  

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: application/gzip

Reply via email to